Skip to content

Commit 3bce007

Browse files
committed
Merge tag 'lpc32xx-dt-for-6.20' of https://github.com/vzapolskiy/linux-lpc32xx into soc/dt
ARM: nxp: lpc: device tree updates for v6.20 This pull request contains device tree changes for ARM NXP LPC32xx intended for v6.20, please pull the following: - Frank fixes device tree checker warnings reported for NXP LPC32xx boards, - Piotr addes a DMA mux block under SCB, DMA properties to controllers and I2S support for NXP LPC32xx, - Kuldeep corrects values of PrimeCell PL022 'clocks' and 'clock-names' properties, this is the change from a waiting queue, recently it was repeatedly done by Frank, the hesitation was about a probable ABI break, but here in particular the risk is practically negligible due to the kept backwards compatibale 'clocks' property, - Vladimir adds a few missing properties to a number of LPC32xx controllers. * tag 'lpc32xx-dt-for-6.20' of https://github.com/vzapolskiy/linux-lpc32xx: arm: dts: lpc32xx: add interrupts property to Motor Control PWM arm: dts: lpc32xx: add clocks property to Motor Control PWM device tree node ARM: dts: lpc32xx: Add missing properties to I2S device tree nodes ARM: dts: lpc32xx: Declare the second AHB master support on PL080 DMA controller ARM: dts: lpc32xx: Add missing DMA properties ARM: dts: lpc32xx: Use syscon for system control block ARM: dts: lpc32xx: describe FLASH_INT of SLC NAND controller ARM: dts: lpc32xx: change NAND controllers node names ARM: dts: lpc32xx: Update spi clock properties ARM: dts: lpc3250-phy3250: replace deprecated at25 properties with new ones ARM: dts: lpc3250-phy3250: rename nodename at@0 to eeprom@0 ARM: dts: lpc3250-ea3250: add key- prefix for gpio-keys ARM: dts: lpc32xx: remove usb bus and elevate all children nodes Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2 parents 0a976e9 + 2940a49 commit 3bce007

3 files changed

Lines changed: 94 additions & 65 deletions

File tree

arch/arm/boot/dts/nxp/lpc/lpc3250-ea3250.dts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,55 +27,55 @@
2727
gpios = <&gpio 4 1 0>; /* GPI_P3 1 */
2828
};
2929

30-
key1 {
30+
key-1 {
3131
label = "KEY1";
3232
linux,code = <1>;
3333
gpios = <&pca9532 0 0>;
3434
};
3535

36-
key2 {
36+
key-2 {
3737
label = "KEY2";
3838
linux,code = <2>;
3939
gpios = <&pca9532 1 0>;
4040
};
4141

42-
key3 {
42+
key-3 {
4343
label = "KEY3";
4444
linux,code = <3>;
4545
gpios = <&pca9532 2 0>;
4646
};
4747

48-
key4 {
48+
key-4 {
4949
label = "KEY4";
5050
linux,code = <4>;
5151
gpios = <&pca9532 3 0>;
5252
};
5353

54-
joy0 {
54+
key-joy0 {
5555
label = "Joystick Key 0";
5656
linux,code = <10>;
5757
gpios = <&gpio 2 0 0>; /* P2.0 */
5858
};
5959

60-
joy1 {
60+
key-joy1 {
6161
label = "Joystick Key 1";
6262
linux,code = <11>;
6363
gpios = <&gpio 2 1 0>; /* P2.1 */
6464
};
6565

66-
joy2 {
66+
key-joy2 {
6767
label = "Joystick Key 2";
6868
linux,code = <12>;
6969
gpios = <&gpio 2 2 0>; /* P2.2 */
7070
};
7171

72-
joy3 {
72+
key-joy3 {
7373
label = "Joystick Key 3";
7474
linux,code = <13>;
7575
gpios = <&gpio 2 3 0>; /* P2.3 */
7676
};
7777

78-
joy4 {
78+
key-joy4 {
7979
label = "Joystick Key 4";
8080
linux,code = <14>;
8181
gpios = <&gpio 2 4 0>; /* P2.4 */

arch/arm/boot/dts/nxp/lpc/lpc3250-phy3250.dts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
cs-gpios = <&gpio 3 5 0>;
201201
status = "okay";
202202

203-
eeprom: at25@0 {
203+
eeprom: eeprom@0 {
204204
compatible = "atmel,at25";
205205
reg = <0>;
206206
spi-max-frequency = <5000000>;
@@ -213,9 +213,9 @@
213213
pl022,wait-state = <0>;
214214
pl022,duplex = <0>;
215215

216-
at25,byte-len = <0x8000>;
217-
at25,addr-mode = <2>;
218-
at25,page-size = <64>;
216+
size = <0x8000>;
217+
address-width = <16>;
218+
pagesize = <64>;
219219
};
220220
};
221221

arch/arm/boot/dts/nxp/lpc/lpc32xx.dtsi

Lines changed: 81 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -62,18 +62,23 @@
6262
/*
6363
* Enable either SLC or MLC
6464
*/
65-
slc: flash@20020000 {
65+
slc: nand-controller@20020000 {
6666
compatible = "nxp,lpc3220-slc";
6767
reg = <0x20020000 0x1000>;
68+
interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
6869
clocks = <&clk LPC32XX_CLK_SLC>;
70+
dmas = <&dma 1 1>;
71+
dma-names = "rx-tx";
6972
status = "disabled";
7073
};
7174

72-
mlc: flash@200a8000 {
75+
mlc: nand-controller@200a8000 {
7376
compatible = "nxp,lpc3220-mlc";
7477
reg = <0x200a8000 0x11000>;
7578
interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
7679
clocks = <&clk LPC32XX_CLK_MLC>;
80+
dmas = <&dma 12 1>;
81+
dma-names = "rx-tx";
7782
status = "disabled";
7883
};
7984

@@ -83,54 +88,55 @@
8388
interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
8489
clocks = <&clk LPC32XX_CLK_DMA>;
8590
clock-names = "apb_pclk";
91+
dma-channels = <8>;
92+
dma-requests = <16>;
93+
lli-bus-interface-ahb1;
94+
lli-bus-interface-ahb2;
95+
mem-bus-interface-ahb1;
96+
mem-bus-interface-ahb2;
97+
memcpy-burst-size = <256>;
98+
memcpy-bus-width = <32>;
8699
#dma-cells = <2>;
87100
};
88101

89-
usb {
90-
#address-cells = <1>;
91-
#size-cells = <1>;
92-
compatible = "simple-bus";
93-
ranges = <0x0 0x31020000 0x00001000>;
94-
95-
/*
96-
* Enable either ohci or usbd (gadget)!
97-
*/
98-
ohci: usb@0 {
99-
compatible = "nxp,ohci-nxp", "usb-ohci";
100-
reg = <0x0 0x300>;
101-
interrupt-parent = <&sic1>;
102-
interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
103-
clocks = <&usbclk LPC32XX_USB_CLK_HOST>;
104-
status = "disabled";
105-
};
102+
/*
103+
* Enable either ohci or usbd (gadget)!
104+
*/
105+
ohci: usb@31020000 {
106+
compatible = "nxp,ohci-nxp", "usb-ohci";
107+
reg = <0x31020000 0x300>;
108+
interrupt-parent = <&sic1>;
109+
interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
110+
clocks = <&usbclk LPC32XX_USB_CLK_HOST>;
111+
status = "disabled";
112+
};
106113

107-
usbd: usbd@0 {
108-
compatible = "nxp,lpc3220-udc";
109-
reg = <0x0 0x300>;
110-
interrupt-parent = <&sic1>;
111-
interrupts = <29 IRQ_TYPE_LEVEL_HIGH>,
112-
<30 IRQ_TYPE_LEVEL_HIGH>,
113-
<28 IRQ_TYPE_LEVEL_HIGH>,
114-
<26 IRQ_TYPE_LEVEL_LOW>;
115-
clocks = <&usbclk LPC32XX_USB_CLK_DEVICE>;
116-
status = "disabled";
117-
};
114+
usbd: usbd@31020000 {
115+
compatible = "nxp,lpc3220-udc";
116+
reg = <0x31020000 0x300>;
117+
interrupt-parent = <&sic1>;
118+
interrupts = <29 IRQ_TYPE_LEVEL_HIGH>,
119+
<30 IRQ_TYPE_LEVEL_HIGH>,
120+
<28 IRQ_TYPE_LEVEL_HIGH>,
121+
<26 IRQ_TYPE_LEVEL_LOW>;
122+
clocks = <&usbclk LPC32XX_USB_CLK_DEVICE>;
123+
status = "disabled";
124+
};
118125

119-
i2cusb: i2c@300 {
120-
compatible = "nxp,pnx-i2c";
121-
reg = <0x300 0x100>;
122-
interrupt-parent = <&sic1>;
123-
interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
124-
clocks = <&usbclk LPC32XX_USB_CLK_I2C>;
125-
#address-cells = <1>;
126-
#size-cells = <0>;
127-
};
126+
i2cusb: i2c@31020300 {
127+
compatible = "nxp,pnx-i2c";
128+
reg = <0x31020300 0x100>;
129+
interrupt-parent = <&sic1>;
130+
interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
131+
clocks = <&usbclk LPC32XX_USB_CLK_I2C>;
132+
#address-cells = <1>;
133+
#size-cells = <0>;
134+
};
128135

129-
usbclk: clock-controller@f00 {
130-
compatible = "nxp,lpc3220-usb-clk";
131-
reg = <0xf00 0x100>;
132-
#clock-cells = <1>;
133-
};
136+
usbclk: clock-controller@31020f00 {
137+
compatible = "nxp,lpc3220-usb-clk";
138+
reg = <0x31020f00 0x100>;
139+
#clock-cells = <1>;
134140
};
135141

136142
clcd: clcd@31040000 {
@@ -179,8 +185,8 @@
179185
compatible = "arm,pl022", "arm,primecell";
180186
reg = <0x20084000 0x1000>;
181187
interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
182-
clocks = <&clk LPC32XX_CLK_SSP0>;
183-
clock-names = "apb_pclk";
188+
clocks = <&clk LPC32XX_CLK_SSP0>, <&clk LPC32XX_CLK_SSP0>;
189+
clock-names = "sspclk", "apb_pclk";
184190
#address-cells = <1>;
185191
#size-cells = <0>;
186192
status = "disabled";
@@ -190,6 +196,8 @@
190196
compatible = "nxp,lpc3220-spi";
191197
reg = <0x20088000 0x1000>;
192198
clocks = <&clk LPC32XX_CLK_SPI1>;
199+
dmas = <&dmamux 11 1 0>;
200+
dma-names = "rx-tx";
193201
#address-cells = <1>;
194202
#size-cells = <0>;
195203
status = "disabled";
@@ -203,8 +211,8 @@
203211
compatible = "arm,pl022", "arm,primecell";
204212
reg = <0x2008c000 0x1000>;
205213
interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
206-
clocks = <&clk LPC32XX_CLK_SSP1>;
207-
clock-names = "apb_pclk";
214+
clocks = <&clk LPC32XX_CLK_SSP1>, <&clk LPC32XX_CLK_SSP1>;
215+
clock-names = "sspclk", "apb_pclk";
208216
#address-cells = <1>;
209217
#size-cells = <0>;
210218
status = "disabled";
@@ -214,6 +222,8 @@
214222
compatible = "nxp,lpc3220-spi";
215223
reg = <0x20090000 0x1000>;
216224
clocks = <&clk LPC32XX_CLK_SPI2>;
225+
dmas = <&dmamux 3 1 0>;
226+
dma-names = "rx-tx";
217227
#address-cells = <1>;
218228
#size-cells = <0>;
219229
status = "disabled";
@@ -222,6 +232,11 @@
222232
i2s0: i2s@20094000 {
223233
compatible = "nxp,lpc3220-i2s";
224234
reg = <0x20094000 0x1000>;
235+
interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
236+
clocks = <&clk LPC32XX_CLK_I2S0>;
237+
dmas = <&dma 0 1>, <&dma 13 1>;
238+
dma-names = "rx", "tx";
239+
#sound-dai-cells = <0>;
225240
status = "disabled";
226241
};
227242

@@ -238,6 +253,11 @@
238253
i2s1: i2s@2009c000 {
239254
compatible = "nxp,lpc3220-i2s";
240255
reg = <0x2009c000 0x1000>;
256+
interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
257+
clocks = <&clk LPC32XX_CLK_I2S1>;
258+
dmas = <&dma 2 1>, <&dmamux 10 1 1>;
259+
dma-names = "rx", "tx";
260+
#sound-dai-cells = <0>;
241261
status = "disabled";
242262
};
243263

@@ -302,6 +322,8 @@
302322
mpwm: pwm@400e8000 {
303323
compatible = "nxp,lpc3220-motor-pwm";
304324
reg = <0x400e8000 0x78>;
325+
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
326+
clocks = <&clk LPC32XX_CLK_MCPWM>;
305327
#pwm-cells = <3>;
306328
status = "disabled";
307329
};
@@ -314,20 +336,27 @@
314336
ranges = <0x20000000 0x20000000 0x30000000>;
315337

316338
/* System Control Block */
317-
scb {
318-
compatible = "simple-bus";
319-
ranges = <0x0 0x40004000 0x00001000>;
339+
syscon@40004000 {
340+
compatible = "nxp,lpc3220-scb", "syscon", "simple-mfd";
341+
reg = <0x40004000 0x1000>;
320342
#address-cells = <1>;
321343
#size-cells = <1>;
344+
ranges = <0 0x40004000 0x1000>;
322345

323346
clk: clock-controller@0 {
324347
compatible = "nxp,lpc3220-clk";
325348
reg = <0x00 0x114>;
326349
#clock-cells = <1>;
327-
328350
clocks = <&xtal_32k>, <&xtal>;
329351
clock-names = "xtal_32k", "xtal";
330352
};
353+
354+
dmamux: dma-router@78 {
355+
compatible = "nxp,lpc3220-dmamux";
356+
reg = <0x78 0x8>;
357+
dma-masters = <&dma>;
358+
#dma-cells = <3>;
359+
};
331360
};
332361

333362
mic: interrupt-controller@40008000 {

0 commit comments

Comments
 (0)