Commit c72c7a00 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge branch 'lpc32xx-dts' of https://github.com/vzapolskiy/linux into next/dt

Merge LPC32xx DTS changes for v4.5 from Vladimir Zapolskiy:

Main changes in the series:
- Added description of the second PWM controller device
- Added External Memory Controller device tree node (Primecell PL175)
- Added device tree nodes for standard timer controllers
- USB controllers are grouped
- Various minor clean-ups needed for further development of LPC32xx

* 'lpc32xx-dts' of https://github.com/vzapolskiy/linux:
  arm: dts: lpc32xx: move USB controller subdevices into own device node
  arm: dts: lpc32xx: add device nodes for standard timers
  arm: dts: lpc32xx: add external memory controller device node
  arm: dts: ea3250/phy3250: specify phys memory offset for lpc32xx boards
  arm: dts: lpc32xx: add device node for the second pwm controller
  arm: dts: lpc32xx: add reg property to cpu device node
  arm: dts: lpc32xx: add labels to all defined peripheral nodes
  arm: dts: lpc32xx: change include syntax to be C preprocessor friendly
parents 31ade3b8 aa29efb4
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
*/ */
/dts-v1/; /dts-v1/;
/include/ "lpc32xx.dtsi" #include "lpc32xx.dtsi"
/ { / {
model = "Embedded Artists LPC3250 board based on NXP LPC3250"; model = "Embedded Artists LPC3250 board based on NXP LPC3250";
...@@ -22,7 +22,7 @@ / { ...@@ -22,7 +22,7 @@ / {
memory { memory {
device_type = "memory"; device_type = "memory";
reg = <0 0x4000000>; reg = <0x80000000 0x4000000>;
}; };
ahb { ahb {
...@@ -31,19 +31,6 @@ mac: ethernet@31060000 { ...@@ -31,19 +31,6 @@ mac: ethernet@31060000 {
use-iram; use-iram;
}; };
/* Here, choose exactly one from: ohci, usbd */
ohci@31020000 {
transceiver = <&isp1301>;
status = "okay";
};
/*
usbd@31020000 {
transceiver = <&isp1301>;
status = "okay";
};
*/
/* 128MB Flash via SLC NAND controller */ /* 128MB Flash via SLC NAND controller */
slc: flash@20020000 { slc: flash@20020000 {
status = "okay"; status = "okay";
...@@ -130,15 +117,6 @@ i2c2: i2c@400A8000 { ...@@ -130,15 +117,6 @@ i2c2: i2c@400A8000 {
clock-frequency = <100000>; clock-frequency = <100000>;
}; };
i2cusb: i2c@31020300 {
clock-frequency = <100000>;
isp1301: usb-transceiver@2d {
compatible = "nxp,isp1301";
reg = <0x2d>;
};
};
sd@20098000 { sd@20098000 {
wp-gpios = <&pca9532 5 0>; wp-gpios = <&pca9532 5 0>;
cd-gpios = <&pca9532 4 0>; cd-gpios = <&pca9532 4 0>;
...@@ -279,3 +257,18 @@ lede8 { ...@@ -279,3 +257,18 @@ lede8 {
}; };
}; };
}; };
/* Here, choose exactly one from: ohci, usbd */
&ohci /* &usbd */ {
transceiver = <&isp1301>;
status = "okay";
};
&i2cusb {
clock-frequency = <100000>;
isp1301: usb-transceiver@2d {
compatible = "nxp,isp1301";
reg = <0x2d>;
};
};
...@@ -11,19 +11,20 @@ ...@@ -11,19 +11,20 @@
* http://www.gnu.org/copyleft/gpl.html * http://www.gnu.org/copyleft/gpl.html
*/ */
/include/ "skeleton.dtsi" #include "skeleton.dtsi"
/ { / {
compatible = "nxp,lpc3220"; compatible = "nxp,lpc3220";
interrupt-parent = <&mic>; interrupt-parent = <&mic>;
cpus { cpus {
#address-cells = <0>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
cpu { cpu@0 {
compatible = "arm,arm926ej-s"; compatible = "arm,arm926ej-s";
device_type = "cpu"; device_type = "cpu";
reg = <0x0>;
}; };
}; };
...@@ -31,7 +32,8 @@ ahb { ...@@ -31,7 +32,8 @@ ahb {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "simple-bus"; compatible = "simple-bus";
ranges = <0x20000000 0x20000000 0x30000000>; ranges = <0x20000000 0x20000000 0x30000000>,
<0xe0000000 0xe0000000 0x04000000>;
/* /*
* Enable either SLC or MLC * Enable either SLC or MLC
...@@ -49,30 +51,46 @@ mlc: flash@200a8000 { ...@@ -49,30 +51,46 @@ mlc: flash@200a8000 {
status = "disabled"; status = "disabled";
}; };
dma@31000000 { dma: dma@31000000 {
compatible = "arm,pl080", "arm,primecell"; compatible = "arm,pl080", "arm,primecell";
reg = <0x31000000 0x1000>; reg = <0x31000000 0x1000>;
interrupts = <0x1c 0>; interrupts = <0x1c 0>;
}; };
/* usb {
* Enable either ohci or usbd (gadget)! #address-cells = <1>;
*/ #size-cells = <1>;
ohci@31020000 { compatible = "simple-bus";
compatible = "nxp,ohci-nxp", "usb-ohci"; ranges = <0x0 0x31020000 0x00001000>;
reg = <0x31020000 0x300>;
interrupts = <0x3b 0>;
status = "disabled";
};
usbd@31020000 { /*
compatible = "nxp,lpc3220-udc"; * Enable either ohci or usbd (gadget)!
reg = <0x31020000 0x300>; */
interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>; ohci: ohci@0 {
status = "disabled"; compatible = "nxp,ohci-nxp", "usb-ohci";
reg = <0x0 0x300>;
interrupts = <0x3b 0>;
status = "disabled";
};
usbd: usbd@0 {
compatible = "nxp,lpc3220-udc";
reg = <0x0 0x300>;
interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>;
status = "disabled";
};
i2cusb: i2c@300 {
compatible = "nxp,pnx-i2c";
reg = <0x300 0x100>;
interrupts = <0x3f 0>;
#address-cells = <1>;
#size-cells = <0>;
pnx,timeout = <0x64>;
};
}; };
clcd@31040000 { clcd: clcd@31040000 {
compatible = "arm,pl110", "arm,primecell"; compatible = "arm,pl110", "arm,primecell";
reg = <0x31040000 0x1000>; reg = <0x31040000 0x1000>;
interrupts = <0x0e 0>; interrupts = <0x0e 0>;
...@@ -85,6 +103,19 @@ mac: ethernet@31060000 { ...@@ -85,6 +103,19 @@ mac: ethernet@31060000 {
interrupts = <0x1d 0>; interrupts = <0x1d 0>;
}; };
emc: memory-controller@31080000 {
compatible = "arm,pl175", "arm,primecell";
reg = <0x31080000 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0xe0000000 0x01000000>,
<1 0xe1000000 0x01000000>,
<2 0xe2000000 0x01000000>,
<3 0xe3000000 0x01000000>;
status = "disabled";
};
apb { apb {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
...@@ -118,7 +149,7 @@ i2s0: i2s@20094000 { ...@@ -118,7 +149,7 @@ i2s0: i2s@20094000 {
reg = <0x20094000 0x1000>; reg = <0x20094000 0x1000>;
}; };
sd@20098000 { sd: sd@20098000 {
compatible = "arm,pl18x", "arm,primecell"; compatible = "arm,pl18x", "arm,primecell";
reg = <0x20098000 0x1000>; reg = <0x20098000 0x1000>;
interrupts = <0x0f 0>, <0x0d 0>; interrupts = <0x0f 0>, <0x0d 0>;
...@@ -192,15 +223,6 @@ mpwm: mpwm@400E8000 { ...@@ -192,15 +223,6 @@ mpwm: mpwm@400E8000 {
status = "disabled"; status = "disabled";
#pwm-cells = <2>; #pwm-cells = <2>;
}; };
i2cusb: i2c@31020300 {
compatible = "nxp,pnx-i2c";
reg = <0x31020300 0x100>;
interrupts = <0x3f 0>;
#address-cells = <1>;
#size-cells = <0>;
pnx,timeout = <0x64>;
};
}; };
fab { fab {
...@@ -243,7 +265,7 @@ uart7: serial@4001c000 { ...@@ -243,7 +265,7 @@ uart7: serial@4001c000 {
status = "disabled"; status = "disabled";
}; };
rtc@40024000 { rtc: rtc@40024000 {
compatible = "nxp,lpc3220-rtc"; compatible = "nxp,lpc3220-rtc";
reg = <0x40024000 0x1000>; reg = <0x40024000 0x1000>;
interrupts = <0x34 0>; interrupts = <0x34 0>;
...@@ -256,11 +278,31 @@ gpio: gpio@40028000 { ...@@ -256,11 +278,31 @@ gpio: gpio@40028000 {
#gpio-cells = <3>; /* bank, pin, flags */ #gpio-cells = <3>; /* bank, pin, flags */
}; };
watchdog@4003C000 { timer4: timer@4002C000 {
compatible = "nxp,lpc3220-timer";
reg = <0x4002C000 0x1000>;
interrupts = <0x3 0>;
status = "disabled";
};
timer5: timer@40030000 {
compatible = "nxp,lpc3220-timer";
reg = <0x40030000 0x1000>;
interrupts = <0x4 0>;
status = "disabled";
};
watchdog: watchdog@4003C000 {
compatible = "nxp,pnx4008-wdt"; compatible = "nxp,pnx4008-wdt";
reg = <0x4003C000 0x1000>; reg = <0x4003C000 0x1000>;
}; };
timer0: timer@40044000 {
compatible = "nxp,lpc3220-timer";
reg = <0x40044000 0x1000>;
interrupts = <0x10 0>;
};
/* /*
* TSC vs. ADC: Since those two share the same * TSC vs. ADC: Since those two share the same
* hardware, you need to choose from one of the * hardware, you need to choose from one of the
...@@ -268,30 +310,56 @@ watchdog@4003C000 { ...@@ -268,30 +310,56 @@ watchdog@4003C000 {
* them * them
*/ */
adc@40048000 { adc: adc@40048000 {
compatible = "nxp,lpc3220-adc"; compatible = "nxp,lpc3220-adc";
reg = <0x40048000 0x1000>; reg = <0x40048000 0x1000>;
interrupts = <0x27 0>; interrupts = <0x27 0>;
status = "disabled"; status = "disabled";
}; };
tsc@40048000 { tsc: tsc@40048000 {
compatible = "nxp,lpc3220-tsc"; compatible = "nxp,lpc3220-tsc";
reg = <0x40048000 0x1000>; reg = <0x40048000 0x1000>;
interrupts = <0x27 0>; interrupts = <0x27 0>;
status = "disabled"; status = "disabled";
}; };
key@40050000 { timer1: timer@4004C000 {
compatible = "nxp,lpc3220-timer";
reg = <0x4004C000 0x1000>;
interrupts = <0x11 0>;
};
key: key@40050000 {
compatible = "nxp,lpc3220-key"; compatible = "nxp,lpc3220-key";
reg = <0x40050000 0x1000>; reg = <0x40050000 0x1000>;
interrupts = <54 0>; interrupts = <54 0>;
status = "disabled"; status = "disabled";
}; };
pwm: pwm@4005C000 { timer2: timer@40058000 {
compatible = "nxp,lpc3220-timer";
reg = <0x40058000 0x1000>;
interrupts = <0x12 0>;
status = "disabled";
};
pwm1: pwm@4005C000 {
compatible = "nxp,lpc3220-pwm"; compatible = "nxp,lpc3220-pwm";
reg = <0x4005C000 0x8>; reg = <0x4005C000 0x4>;
status = "disabled";
};
pwm2: pwm@4005C004 {
compatible = "nxp,lpc3220-pwm";
reg = <0x4005C004 0x4>;
status = "disabled";
};
timer3: timer@40060000 {
compatible = "nxp,lpc3220-timer";
reg = <0x40060000 0x1000>;
interrupts = <0x13 0>;
status = "disabled"; status = "disabled";
}; };
}; };
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
*/ */
/dts-v1/; /dts-v1/;
/include/ "lpc32xx.dtsi" #include "lpc32xx.dtsi"
/ { / {
model = "PHYTEC phyCORE-LPC3250 board based on NXP LPC3250"; model = "PHYTEC phyCORE-LPC3250 board based on NXP LPC3250";
...@@ -22,7 +22,7 @@ / { ...@@ -22,7 +22,7 @@ / {
memory { memory {
device_type = "memory"; device_type = "memory";
reg = <0 0x4000000>; reg = <0x80000000 0x4000000>;
}; };
ahb { ahb {
...@@ -31,19 +31,6 @@ mac: ethernet@31060000 { ...@@ -31,19 +31,6 @@ mac: ethernet@31060000 {
use-iram; use-iram;
}; };
/* Here, choose exactly one from: ohci, usbd */
ohci@31020000 {
transceiver = <&isp1301>;
status = "okay";
};
/*
usbd@31020000 {
transceiver = <&isp1301>;
status = "okay";
};
*/
clcd@31040000 { clcd@31040000 {
status = "okay"; status = "okay";
}; };
...@@ -123,15 +110,6 @@ i2c2: i2c@400A8000 { ...@@ -123,15 +110,6 @@ i2c2: i2c@400A8000 {
clock-frequency = <100000>; clock-frequency = <100000>;
}; };
i2cusb: i2c@31020300 {
clock-frequency = <100000>;
isp1301: usb-transceiver@2c {
compatible = "nxp,isp1301";
reg = <0x2c>;
};
};
ssp0: ssp@20084000 { ssp0: ssp@20084000 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -200,3 +178,18 @@ led1 { /* green */ ...@@ -200,3 +178,18 @@ led1 { /* green */
}; };
}; };
}; };
/* Here, choose exactly one from: ohci, usbd */
&ohci /* &usbd */ {
transceiver = <&isp1301>;
status = "okay";
};
&i2cusb {
clock-frequency = <100000>;
isp1301: usb-transceiver@2c {
compatible = "nxp,isp1301";
reg = <0x2c>;
};
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment