Skip to content

Commit 44d82e2

Browse files
committed
Merge tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull arm-soc Marvell Orion device-tree updates from Olof Johansson: "This contains a set of device-tree conversions for Marvell Orion platforms that were staged early but took a few tries to get the branch into a format where it was suitable for us to pick up. Given that most people working on these platforms are hobbyists with limited time, we were a bit more flexible with merging it even though it came in late." * tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (21 commits) ARM: Kirkwood: Replace mrvl with marvell ARM: Kirkwood: Describe GoFlex Net LEDs and SATA in DT. ARM: Kirkwood: Describe Dreamplug LEDs in DT. ARM: Kirkwood: Describe iConnects LEDs in DT. ARM: Kirkwood: Describe iConnects temperature sensor in DT. ARM: Kirkwood: Describe IB62x0 LEDs in DT. ARM: Kirkwood: Describe IB62x0 gpio-keys in DT. ARM: Kirkwood: Describe DNS32? gpio-keys in DT. ARM: Kirkwood: Move common portions into a kirkwood-dnskw.dtsi ARM: Kirkwood: Replace DNS-320/DNS-325 leds with dt bindings ARM: Kirkwood: Describe DNS325 temperature sensor in DT. ARM: Kirkwood: Use DT to configure SATA device. ARM: kirkwood: use devicetree for SPI on dreamplug ARM: kirkwood: Add LS-XHL and LS-CHLv2 support ARM: Kirkwood: Initial DTS support for Kirkwood GoFlex Net ARM: Kirkwood: Add basic device tree support for QNAP TS219. ATA: sata_mv: Add device tree support ARM: Orion: DTify the watchdog timer. ARM: Orion: Add arch support needed for I2C via DT. ARM: kirkwood: use devicetree for orion-spi ... Conflicts: drivers/watchdog/orion_wdt.c
2 parents bfdf85d + 15a1e1b commit 44d82e2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1387
-569
lines changed

Documentation/devicetree/bindings/arm/mrvl/intc.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,23 @@ Example:
3838
reg-names = "mux status", "mux mask";
3939
mrvl,intc-nr-irqs = <2>;
4040
};
41+
42+
* Marvell Orion Interrupt controller
43+
44+
Required properties
45+
- compatible : Should be "marvell,orion-intc".
46+
- #interrupt-cells: Specifies the number of cells needed to encode an
47+
interrupt source. Supported value is <1>.
48+
- interrupt-controller : Declare this node to be an interrupt controller.
49+
- reg : Interrupt mask address. A list of 4 byte ranges, one per controller.
50+
One entry in the list represents 32 interrupts.
51+
52+
Example:
53+
54+
intc: interrupt-controller {
55+
compatible = "marvell,orion-intc", "marvell,intc";
56+
interrupt-controller;
57+
#interrupt-cells = <1>;
58+
reg = <0xfed20204 0x04>,
59+
<0xfed20214 0x04>;
60+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
* Marvell Orion SATA
2+
3+
Required Properties:
4+
- compatibility : "marvell,orion-sata"
5+
- reg : Address range of controller
6+
- interrupts : Interrupt controller is using
7+
- nr-ports : Number of SATA ports in use.
8+
9+
Example:
10+
11+
sata@80000 {
12+
compatible = "marvell,orion-sata";
13+
reg = <0x80000 0x5000>;
14+
interrupts = <21>;
15+
nr-ports = <2>;
16+
}

Documentation/devicetree/bindings/gpio/mrvl-gpio.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,26 @@ Example:
2727
interrupt-controller;
2828
#interrupt-cells = <1>;
2929
};
30+
31+
* Marvell Orion GPIO Controller
32+
33+
Required properties:
34+
- compatible : Should be "marvell,orion-gpio"
35+
- reg : Address and length of the register set for controller.
36+
- gpio-controller : So we know this is a gpio controller.
37+
- ngpio : How many gpios this controller has.
38+
- interrupts : Up to 4 Interrupts for the controller.
39+
40+
Optional properties:
41+
- mask-offset : For SMP Orions, offset for Nth CPU
42+
43+
Example:
44+
45+
gpio0: gpio@10100 {
46+
compatible = "marvell,orion-gpio";
47+
#gpio-cells = <2>;
48+
gpio-controller;
49+
reg = <0x10100 0x40>;
50+
ngpio = <32>;
51+
interrupts = <35>, <36>, <37>, <38>;
52+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
* Marvell Orion Watchdog Time
2+
3+
Required Properties:
4+
5+
- Compatibility : "marvell,orion-wdt"
6+
- reg : Address of the timer registers
7+
8+
Example:
9+
10+
wdt@20300 {
11+
compatible = "marvell,orion-wdt";
12+
reg = <0x20300 0x28>;
13+
status = "okay";
14+
};

arch/arm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,6 +1151,7 @@ config PLAT_ORION
11511151
bool
11521152
select CLKSRC_MMIO
11531153
select GENERIC_IRQ_CHIP
1154+
select IRQ_DOMAIN
11541155
select COMMON_CLK
11551156

11561157
config PLAT_PXA
Lines changed: 26 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/dts-v1/;
22

3-
/include/ "kirkwood.dtsi"
3+
/include/ "kirkwood-dnskw.dtsi"
44

55
/ {
66
model = "D-Link DNS-320 NAS (Rev A1)";
@@ -15,6 +15,31 @@
1515
bootargs = "console=ttyS0,115200n8 earlyprintk";
1616
};
1717

18+
gpio-leds {
19+
compatible = "gpio-leds";
20+
blue-power {
21+
label = "dns320:blue:power";
22+
gpios = <&gpio0 26 1>; /* GPIO 26 Active Low */
23+
linux,default-trigger = "default-on";
24+
};
25+
blue-usb {
26+
label = "dns320:blue:usb";
27+
gpios = <&gpio1 11 1>; /* GPIO 43 Active Low */
28+
};
29+
orange-l_hdd {
30+
label = "dns320:orange:l_hdd";
31+
gpios = <&gpio0 28 1>; /* GPIO 28 Active Low */
32+
};
33+
orange-r_hdd {
34+
label = "dns320:orange:r_hdd";
35+
gpios = <&gpio0 27 1>; /* GPIO 27 Active Low */
36+
};
37+
orange-usb {
38+
label = "dns320:orange:usb";
39+
gpios = <&gpio1 3 1>; /* GPIO 35 Active Low */
40+
};
41+
};
42+
1843
ocp@f1000000 {
1944
serial@12000 {
2045
clock-frequency = <166666667>;
@@ -25,40 +50,5 @@
2550
clock-frequency = <166666667>;
2651
status = "okay";
2752
};
28-
29-
nand@3000000 {
30-
status = "okay";
31-
32-
partition@0 {
33-
label = "u-boot";
34-
reg = <0x0000000 0x100000>;
35-
read-only;
36-
};
37-
38-
partition@100000 {
39-
label = "uImage";
40-
reg = <0x0100000 0x500000>;
41-
};
42-
43-
partition@600000 {
44-
label = "ramdisk";
45-
reg = <0x0600000 0x500000>;
46-
};
47-
48-
partition@b00000 {
49-
label = "image";
50-
reg = <0x0b00000 0x6600000>;
51-
};
52-
53-
partition@7100000 {
54-
label = "mini firmware";
55-
reg = <0x7100000 0xa00000>;
56-
};
57-
58-
partition@7b00000 {
59-
label = "config";
60-
reg = <0x7b00000 0x500000>;
61-
};
62-
};
6353
};
6454
};
Lines changed: 33 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/dts-v1/;
22

3-
/include/ "kirkwood.dtsi"
3+
/include/ "kirkwood-dnskw.dtsi"
44

55
/ {
66
model = "D-Link DNS-325 NAS (Rev A1)";
@@ -15,45 +15,43 @@
1515
bootargs = "console=ttyS0,115200n8 earlyprintk";
1616
};
1717

18-
ocp@f1000000 {
19-
serial@12000 {
20-
clock-frequency = <200000000>;
21-
status = "okay";
18+
gpio-leds {
19+
compatible = "gpio-leds";
20+
white-power {
21+
label = "dns325:white:power";
22+
gpios = <&gpio0 26 1>; /* GPIO 26 Active Low */
23+
linux,default-trigger = "default-on";
24+
};
25+
white-usb {
26+
label = "dns325:white:usb";
27+
gpios = <&gpio1 11 1>; /* GPIO 43 Active Low */
28+
};
29+
red-l_hdd {
30+
label = "dns325:red:l_hdd";
31+
gpios = <&gpio0 28 1>; /* GPIO 28 Active Low */
2232
};
33+
red-r_hdd {
34+
label = "dns325:red:r_hdd";
35+
gpios = <&gpio0 27 1>; /* GPIO 27 Active Low */
36+
};
37+
red-usb {
38+
label = "dns325:red:usb";
39+
gpios = <&gpio0 29 1>; /* GPIO 29 Active Low */
40+
};
41+
};
2342

24-
nand@3000000 {
43+
ocp@f1000000 {
44+
i2c@11000 {
2545
status = "okay";
2646

27-
partition@0 {
28-
label = "u-boot";
29-
reg = <0x0000000 0x100000>;
30-
read-only;
31-
};
32-
33-
partition@100000 {
34-
label = "uImage";
35-
reg = <0x0100000 0x500000>;
36-
};
37-
38-
partition@600000 {
39-
label = "ramdisk";
40-
reg = <0x0600000 0x500000>;
41-
};
42-
43-
partition@b00000 {
44-
label = "image";
45-
reg = <0x0b00000 0x6600000>;
46-
};
47-
48-
partition@7100000 {
49-
label = "mini firmware";
50-
reg = <0x7100000 0xa00000>;
51-
};
52-
53-
partition@7b00000 {
54-
label = "config";
55-
reg = <0x7b00000 0x500000>;
47+
lm75: lm75@48 {
48+
compatible = "national,lm75";
49+
reg = <0x48>;
5650
};
5751
};
52+
serial@12000 {
53+
clock-frequency = <200000000>;
54+
status = "okay";
55+
};
5856
};
5957
};
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/include/ "kirkwood.dtsi"
2+
3+
/ {
4+
model = "D-Link DNS NASes (kirkwood-based)";
5+
compatible = "dlink,dns-kirkwood", "marvell,kirkwood-88f6281", "marvell,kirkwood";
6+
7+
gpio_keys {
8+
compatible = "gpio-keys";
9+
#address-cells = <1>;
10+
#size-cells = <0>;
11+
button@1 {
12+
label = "Power button";
13+
linux,code = <116>;
14+
gpios = <&gpio1 2 1>;
15+
};
16+
button@2 {
17+
label = "USB unmount button";
18+
linux,code = <161>;
19+
gpios = <&gpio1 15 1>;
20+
};
21+
button@3 {
22+
label = "Reset button";
23+
linux,code = <0x198>;
24+
gpios = <&gpio1 16 1>;
25+
};
26+
};
27+
28+
ocp@f1000000 {
29+
sata@80000 {
30+
status = "okay";
31+
nr-ports = <2>;
32+
};
33+
34+
nand@3000000 {
35+
status = "okay";
36+
37+
partition@0 {
38+
label = "u-boot";
39+
reg = <0x0000000 0x100000>;
40+
read-only;
41+
};
42+
43+
partition@100000 {
44+
label = "uImage";
45+
reg = <0x0100000 0x500000>;
46+
};
47+
48+
partition@600000 {
49+
label = "ramdisk";
50+
reg = <0x0600000 0x500000>;
51+
};
52+
53+
partition@b00000 {
54+
label = "image";
55+
reg = <0x0b00000 0x6600000>;
56+
};
57+
58+
partition@7100000 {
59+
label = "mini firmware";
60+
reg = <0x7100000 0xa00000>;
61+
};
62+
63+
partition@7b00000 {
64+
label = "config";
65+
reg = <0x7b00000 0x500000>;
66+
};
67+
};
68+
};
69+
};

arch/arm/boot/dts/kirkwood-dreamplug.dts

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,55 @@
2020
clock-frequency = <200000000>;
2121
status = "ok";
2222
};
23+
24+
spi@10600 {
25+
status = "okay";
26+
27+
m25p40@0 {
28+
#address-cells = <1>;
29+
#size-cells = <1>;
30+
compatible = "mx25l1606e";
31+
reg = <0>;
32+
spi-max-frequency = <50000000>;
33+
mode = <0>;
34+
35+
partition@0 {
36+
reg = <0x0 0x80000>;
37+
label = "u-boot";
38+
};
39+
40+
partition@100000 {
41+
reg = <0x100000 0x10000>;
42+
label = "u-boot env";
43+
};
44+
45+
partition@180000 {
46+
reg = <0x180000 0x10000>;
47+
label = "dtb";
48+
};
49+
};
50+
};
51+
52+
sata@80000 {
53+
status = "okay";
54+
nr-ports = <1>;
55+
};
56+
};
57+
58+
gpio-leds {
59+
compatible = "gpio-leds";
60+
61+
bluetooth {
62+
label = "dreamplug:blue:bluetooth";
63+
gpios = <&gpio1 15 1>;
64+
};
65+
wifi {
66+
label = "dreamplug:green:wifi";
67+
gpios = <&gpio1 16 1>;
68+
};
69+
wifi-ap {
70+
label = "dreamplug:green:wifi_ap";
71+
gpios = <&gpio1 17 1>;
72+
};
2373
};
2474
};

0 commit comments

Comments
 (0)