1 // SPDX-License-Identifier: GPL-2.0+ 1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 2 /* 3 * NXP LPC32xx SoC 3 * NXP LPC32xx SoC 4 * 4 * 5 * Copyright (C) 2015-2019 Vladimir Zapolskiy < 5 * Copyright (C) 2015-2019 Vladimir Zapolskiy <vz@mleia.com> 6 * Copyright 2012 Roland Stigge <stigge@antcom. 6 * Copyright 2012 Roland Stigge <stigge@antcom.de> 7 */ 7 */ 8 8 9 #include <dt-bindings/clock/lpc32xx-clock.h> 9 #include <dt-bindings/clock/lpc32xx-clock.h> 10 #include <dt-bindings/interrupt-controller/irq 10 #include <dt-bindings/interrupt-controller/irq.h> 11 11 12 / { 12 / { 13 #address-cells = <1>; 13 #address-cells = <1>; 14 #size-cells = <1>; 14 #size-cells = <1>; 15 compatible = "nxp,lpc3220"; 15 compatible = "nxp,lpc3220"; 16 interrupt-parent = <&mic>; 16 interrupt-parent = <&mic>; 17 17 18 cpus { 18 cpus { 19 #address-cells = <1>; 19 #address-cells = <1>; 20 #size-cells = <0>; 20 #size-cells = <0>; 21 21 22 cpu@0 { 22 cpu@0 { 23 compatible = "arm,arm9 23 compatible = "arm,arm926ej-s"; 24 device_type = "cpu"; 24 device_type = "cpu"; 25 reg = <0x0>; 25 reg = <0x0>; 26 }; 26 }; 27 }; 27 }; 28 28 29 clocks { 29 clocks { 30 xtal_32k: xtal_32k { 30 xtal_32k: xtal_32k { 31 compatible = "fixed-cl 31 compatible = "fixed-clock"; 32 #clock-cells = <0>; 32 #clock-cells = <0>; 33 clock-frequency = <327 33 clock-frequency = <32768>; 34 clock-output-names = " 34 clock-output-names = "xtal_32k"; 35 }; 35 }; 36 36 37 xtal: xtal { 37 xtal: xtal { 38 compatible = "fixed-cl 38 compatible = "fixed-clock"; 39 #clock-cells = <0>; 39 #clock-cells = <0>; 40 clock-frequency = <130 40 clock-frequency = <13000000>; 41 clock-output-names = " 41 clock-output-names = "xtal"; 42 }; 42 }; 43 }; 43 }; 44 44 45 ahb { 45 ahb { 46 #address-cells = <1>; 46 #address-cells = <1>; 47 #size-cells = <1>; 47 #size-cells = <1>; 48 compatible = "simple-bus"; 48 compatible = "simple-bus"; 49 ranges = <0x00000000 0x0000000 49 ranges = <0x00000000 0x00000000 0x10000000>, 50 <0x20000000 0x2000000 50 <0x20000000 0x20000000 0x30000000>, 51 <0xe0000000 0xe000000 51 <0xe0000000 0xe0000000 0x04000000>; 52 52 53 iram: sram@8000000 { 53 iram: sram@8000000 { 54 compatible = "mmio-sra 54 compatible = "mmio-sram"; 55 reg = <0x08000000 0x20 55 reg = <0x08000000 0x20000>; 56 56 57 #address-cells = <1>; 57 #address-cells = <1>; 58 #size-cells = <1>; 58 #size-cells = <1>; 59 ranges = <0x00000000 0 59 ranges = <0x00000000 0x08000000 0x20000>; 60 }; 60 }; 61 61 62 /* 62 /* 63 * Enable either SLC or MLC 63 * Enable either SLC or MLC 64 */ 64 */ 65 slc: flash@20020000 { 65 slc: flash@20020000 { 66 compatible = "nxp,lpc3 66 compatible = "nxp,lpc3220-slc"; 67 reg = <0x20020000 0x10 67 reg = <0x20020000 0x1000>; 68 clocks = <&clk LPC32XX 68 clocks = <&clk LPC32XX_CLK_SLC>; 69 status = "disabled"; 69 status = "disabled"; 70 }; 70 }; 71 71 72 mlc: flash@200a8000 { 72 mlc: flash@200a8000 { 73 compatible = "nxp,lpc3 73 compatible = "nxp,lpc3220-mlc"; 74 reg = <0x200a8000 0x11 74 reg = <0x200a8000 0x11000>; 75 interrupts = <11 IRQ_T 75 interrupts = <11 IRQ_TYPE_LEVEL_HIGH>; 76 clocks = <&clk LPC32XX 76 clocks = <&clk LPC32XX_CLK_MLC>; 77 status = "disabled"; 77 status = "disabled"; 78 }; 78 }; 79 79 80 dma: dma@31000000 { 80 dma: dma@31000000 { 81 compatible = "arm,pl08 81 compatible = "arm,pl080", "arm,primecell"; 82 reg = <0x31000000 0x10 82 reg = <0x31000000 0x1000>; 83 interrupts = <28 IRQ_T 83 interrupts = <28 IRQ_TYPE_LEVEL_HIGH>; 84 clocks = <&clk LPC32XX 84 clocks = <&clk LPC32XX_CLK_DMA>; 85 clock-names = "apb_pcl 85 clock-names = "apb_pclk"; 86 }; 86 }; 87 87 88 usb { 88 usb { 89 #address-cells = <1>; 89 #address-cells = <1>; 90 #size-cells = <1>; 90 #size-cells = <1>; 91 compatible = "simple-b 91 compatible = "simple-bus"; 92 ranges = <0x0 0x310200 92 ranges = <0x0 0x31020000 0x00001000>; 93 93 94 /* 94 /* 95 * Enable either ohci 95 * Enable either ohci or usbd (gadget)! 96 */ 96 */ 97 ohci: ohci@0 { 97 ohci: ohci@0 { 98 compatible = " 98 compatible = "nxp,ohci-nxp", "usb-ohci"; 99 reg = <0x0 0x3 99 reg = <0x0 0x300>; 100 interrupt-pare 100 interrupt-parent = <&sic1>; 101 interrupts = < 101 interrupts = <27 IRQ_TYPE_LEVEL_HIGH>; 102 clocks = <&usb 102 clocks = <&usbclk LPC32XX_USB_CLK_HOST>; 103 status = "disa 103 status = "disabled"; 104 }; 104 }; 105 105 106 usbd: usbd@0 { 106 usbd: usbd@0 { 107 compatible = " 107 compatible = "nxp,lpc3220-udc"; 108 reg = <0x0 0x3 108 reg = <0x0 0x300>; 109 interrupt-pare 109 interrupt-parent = <&sic1>; 110 interrupts = < 110 interrupts = <29 IRQ_TYPE_LEVEL_HIGH>, 111 < 111 <30 IRQ_TYPE_LEVEL_HIGH>, 112 < 112 <28 IRQ_TYPE_LEVEL_HIGH>, 113 < 113 <26 IRQ_TYPE_LEVEL_LOW>; 114 clocks = <&usb 114 clocks = <&usbclk LPC32XX_USB_CLK_DEVICE>; 115 status = "disa 115 status = "disabled"; 116 }; 116 }; 117 117 118 i2cusb: i2c@300 { 118 i2cusb: i2c@300 { 119 compatible = " 119 compatible = "nxp,pnx-i2c"; 120 reg = <0x300 0 120 reg = <0x300 0x100>; 121 interrupt-pare 121 interrupt-parent = <&sic1>; 122 interrupts = < 122 interrupts = <31 IRQ_TYPE_LEVEL_HIGH>; 123 clocks = <&usb 123 clocks = <&usbclk LPC32XX_USB_CLK_I2C>; 124 #address-cells 124 #address-cells = <1>; 125 #size-cells = 125 #size-cells = <0>; 126 }; 126 }; 127 127 128 usbclk: clock-controll 128 usbclk: clock-controller@f00 { 129 compatible = " 129 compatible = "nxp,lpc3220-usb-clk"; 130 reg = <0xf00 0 130 reg = <0xf00 0x100>; 131 #clock-cells = 131 #clock-cells = <1>; 132 }; 132 }; 133 }; 133 }; 134 134 135 clcd: clcd@31040000 { 135 clcd: clcd@31040000 { 136 compatible = "arm,pl11 136 compatible = "arm,pl111", "arm,primecell"; 137 reg = <0x31040000 0x10 137 reg = <0x31040000 0x1000>; 138 interrupts = <14 IRQ_T 138 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; 139 clocks = <&clk LPC32XX 139 clocks = <&clk LPC32XX_CLK_LCD>, <&clk LPC32XX_CLK_LCD>; 140 clock-names = "clcdclk 140 clock-names = "clcdclk", "apb_pclk"; 141 status = "disabled"; 141 status = "disabled"; 142 }; 142 }; 143 143 144 mac: ethernet@31060000 { 144 mac: ethernet@31060000 { 145 compatible = "nxp,lpc- 145 compatible = "nxp,lpc-eth"; 146 reg = <0x31060000 0x10 146 reg = <0x31060000 0x1000>; 147 interrupts = <29 IRQ_T 147 interrupts = <29 IRQ_TYPE_LEVEL_HIGH>; 148 clocks = <&clk LPC32XX 148 clocks = <&clk LPC32XX_CLK_MAC>; 149 status = "disabled"; 149 status = "disabled"; 150 }; 150 }; 151 151 152 emc: memory-controller@3108000 152 emc: memory-controller@31080000 { 153 compatible = "arm,pl17 153 compatible = "arm,pl175", "arm,primecell"; 154 reg = <0x31080000 0x10 154 reg = <0x31080000 0x1000>; 155 clocks = <&clk LPC32XX 155 clocks = <&clk LPC32XX_CLK_DDRAM>, <&clk LPC32XX_CLK_DDRAM>; 156 clock-names = "mpmcclk 156 clock-names = "mpmcclk", "apb_pclk"; 157 #address-cells = <1>; 157 #address-cells = <1>; 158 #size-cells = <1>; 158 #size-cells = <1>; 159 159 160 ranges = <0 0xe0000000 160 ranges = <0 0xe0000000 0x01000000>, 161 <1 0xe1000000 161 <1 0xe1000000 0x01000000>, 162 <2 0xe2000000 162 <2 0xe2000000 0x01000000>, 163 <3 0xe3000000 163 <3 0xe3000000 0x01000000>; 164 status = "disabled"; 164 status = "disabled"; 165 }; 165 }; 166 166 167 apb { 167 apb { 168 #address-cells = <1>; 168 #address-cells = <1>; 169 #size-cells = <1>; 169 #size-cells = <1>; 170 compatible = "simple-b 170 compatible = "simple-bus"; 171 ranges = <0x20000000 0 171 ranges = <0x20000000 0x20000000 0x30000000>; 172 172 173 /* 173 /* 174 * ssp0 and spi1 are s 174 * ssp0 and spi1 are shared pins; 175 * enable one in your 175 * enable one in your board dts, as needed. 176 */ 176 */ 177 ssp0: spi@20084000 { 177 ssp0: spi@20084000 { 178 compatible = " 178 compatible = "arm,pl022", "arm,primecell"; 179 reg = <0x20084 179 reg = <0x20084000 0x1000>; 180 interrupts = < 180 interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; 181 clocks = <&clk 181 clocks = <&clk LPC32XX_CLK_SSP0>; 182 clock-names = 182 clock-names = "apb_pclk"; 183 #address-cells 183 #address-cells = <1>; 184 #size-cells = 184 #size-cells = <0>; 185 status = "disa 185 status = "disabled"; 186 }; 186 }; 187 187 188 spi1: spi@20088000 { 188 spi1: spi@20088000 { 189 compatible = " 189 compatible = "nxp,lpc3220-spi"; 190 reg = <0x20088 190 reg = <0x20088000 0x1000>; 191 clocks = <&clk 191 clocks = <&clk LPC32XX_CLK_SPI1>; 192 #address-cells 192 #address-cells = <1>; 193 #size-cells = 193 #size-cells = <0>; 194 status = "disa 194 status = "disabled"; 195 }; 195 }; 196 196 197 /* 197 /* 198 * ssp1 and spi2 are s 198 * ssp1 and spi2 are shared pins; 199 * enable one in your 199 * enable one in your board dts, as needed. 200 */ 200 */ 201 ssp1: spi@2008c000 { 201 ssp1: spi@2008c000 { 202 compatible = " 202 compatible = "arm,pl022", "arm,primecell"; 203 reg = <0x2008c 203 reg = <0x2008c000 0x1000>; 204 interrupts = < 204 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; 205 clocks = <&clk 205 clocks = <&clk LPC32XX_CLK_SSP1>; 206 clock-names = 206 clock-names = "apb_pclk"; 207 #address-cells 207 #address-cells = <1>; 208 #size-cells = 208 #size-cells = <0>; 209 status = "disa 209 status = "disabled"; 210 }; 210 }; 211 211 212 spi2: spi@20090000 { 212 spi2: spi@20090000 { 213 compatible = " 213 compatible = "nxp,lpc3220-spi"; 214 reg = <0x20090 214 reg = <0x20090000 0x1000>; 215 clocks = <&clk 215 clocks = <&clk LPC32XX_CLK_SPI2>; 216 #address-cells 216 #address-cells = <1>; 217 #size-cells = 217 #size-cells = <0>; 218 status = "disa 218 status = "disabled"; 219 }; 219 }; 220 220 221 i2s0: i2s@20094000 { 221 i2s0: i2s@20094000 { 222 compatible = " 222 compatible = "nxp,lpc3220-i2s"; 223 reg = <0x20094 223 reg = <0x20094000 0x1000>; 224 status = "disa 224 status = "disabled"; 225 }; 225 }; 226 226 227 sd: sd@20098000 { 227 sd: sd@20098000 { 228 compatible = " 228 compatible = "arm,pl18x", "arm,primecell"; 229 reg = <0x20098 229 reg = <0x20098000 0x1000>; 230 interrupts = < 230 interrupts = <15 IRQ_TYPE_LEVEL_HIGH>, 231 < 231 <13 IRQ_TYPE_LEVEL_HIGH>; 232 clocks = <&clk 232 clocks = <&clk LPC32XX_CLK_SD>; 233 clock-names = 233 clock-names = "apb_pclk"; 234 status = "disa 234 status = "disabled"; 235 }; 235 }; 236 236 237 i2s1: i2s@2009c000 { 237 i2s1: i2s@2009c000 { 238 compatible = " 238 compatible = "nxp,lpc3220-i2s"; 239 reg = <0x2009c 239 reg = <0x2009c000 0x1000>; 240 status = "disa 240 status = "disabled"; 241 }; 241 }; 242 242 243 /* UART5 first since i 243 /* UART5 first since it is the default console, ttyS0 */ 244 uart5: serial@40090000 244 uart5: serial@40090000 { 245 /* actually, n 245 /* actually, ns16550a w/ 64 byte fifos! */ 246 compatible = " 246 compatible = "nxp,lpc3220-uart"; 247 reg = <0x40090 247 reg = <0x40090000 0x1000>; 248 interrupts = < 248 interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; 249 reg-shift = <2 249 reg-shift = <2>; 250 clocks = <&clk 250 clocks = <&clk LPC32XX_CLK_UART5>; 251 status = "disa 251 status = "disabled"; 252 }; 252 }; 253 253 254 uart3: serial@40080000 254 uart3: serial@40080000 { 255 compatible = " 255 compatible = "nxp,lpc3220-uart"; 256 reg = <0x40080 256 reg = <0x40080000 0x1000>; 257 interrupts = < 257 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; 258 reg-shift = <2 258 reg-shift = <2>; 259 clocks = <&clk 259 clocks = <&clk LPC32XX_CLK_UART3>; 260 status = "disa 260 status = "disabled"; 261 }; 261 }; 262 262 263 uart4: serial@40088000 263 uart4: serial@40088000 { 264 compatible = " 264 compatible = "nxp,lpc3220-uart"; 265 reg = <0x40088 265 reg = <0x40088000 0x1000>; 266 interrupts = < 266 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 267 reg-shift = <2 267 reg-shift = <2>; 268 clocks = <&clk 268 clocks = <&clk LPC32XX_CLK_UART4>; 269 status = "disa 269 status = "disabled"; 270 }; 270 }; 271 271 272 uart6: serial@40098000 272 uart6: serial@40098000 { 273 compatible = " 273 compatible = "nxp,lpc3220-uart"; 274 reg = <0x40098 274 reg = <0x40098000 0x1000>; 275 interrupts = < 275 interrupts = <10 IRQ_TYPE_LEVEL_HIGH>; 276 reg-shift = <2 276 reg-shift = <2>; 277 clocks = <&clk 277 clocks = <&clk LPC32XX_CLK_UART6>; 278 status = "disa 278 status = "disabled"; 279 }; 279 }; 280 280 281 i2c1: i2c@400a0000 { 281 i2c1: i2c@400a0000 { 282 compatible = " 282 compatible = "nxp,pnx-i2c"; 283 reg = <0x400a0 283 reg = <0x400a0000 0x100>; 284 interrupt-pare 284 interrupt-parent = <&sic1>; 285 interrupts = < 285 interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 286 #address-cells 286 #address-cells = <1>; 287 #size-cells = 287 #size-cells = <0>; 288 clocks = <&clk 288 clocks = <&clk LPC32XX_CLK_I2C1>; 289 }; 289 }; 290 290 291 i2c2: i2c@400a8000 { 291 i2c2: i2c@400a8000 { 292 compatible = " 292 compatible = "nxp,pnx-i2c"; 293 reg = <0x400a8 293 reg = <0x400a8000 0x100>; 294 interrupt-pare 294 interrupt-parent = <&sic1>; 295 interrupts = < 295 interrupts = <18 IRQ_TYPE_LEVEL_LOW>; 296 #address-cells 296 #address-cells = <1>; 297 #size-cells = 297 #size-cells = <0>; 298 clocks = <&clk 298 clocks = <&clk LPC32XX_CLK_I2C2>; 299 }; 299 }; 300 300 301 mpwm: mpwm@400e8000 { 301 mpwm: mpwm@400e8000 { 302 compatible = " 302 compatible = "nxp,lpc3220-motor-pwm"; 303 reg = <0x400e8 303 reg = <0x400e8000 0x78>; 304 status = "disa 304 status = "disabled"; 305 #pwm-cells = < 305 #pwm-cells = <2>; 306 }; 306 }; 307 }; 307 }; 308 308 309 fab { 309 fab { 310 #address-cells = <1>; 310 #address-cells = <1>; 311 #size-cells = <1>; 311 #size-cells = <1>; 312 compatible = "simple-b 312 compatible = "simple-bus"; 313 ranges = <0x20000000 0 313 ranges = <0x20000000 0x20000000 0x30000000>; 314 314 315 /* System Control Bloc 315 /* System Control Block */ 316 scb { 316 scb { 317 compatible = " 317 compatible = "simple-bus"; 318 ranges = <0x0 318 ranges = <0x0 0x40004000 0x00001000>; 319 #address-cells 319 #address-cells = <1>; 320 #size-cells = 320 #size-cells = <1>; 321 321 322 clk: clock-con 322 clk: clock-controller@0 { 323 compat 323 compatible = "nxp,lpc3220-clk"; 324 reg = 324 reg = <0x00 0x114>; 325 #clock 325 #clock-cells = <1>; 326 326 327 clocks 327 clocks = <&xtal_32k>, <&xtal>; 328 clock- 328 clock-names = "xtal_32k", "xtal"; 329 }; 329 }; 330 }; 330 }; 331 331 332 mic: interrupt-control 332 mic: interrupt-controller@40008000 { 333 compatible = " 333 compatible = "nxp,lpc3220-mic"; 334 reg = <0x40008 334 reg = <0x40008000 0x4000>; 335 interrupt-cont 335 interrupt-controller; 336 #interrupt-cel 336 #interrupt-cells = <2>; 337 }; 337 }; 338 338 339 sic1: interrupt-contro 339 sic1: interrupt-controller@4000c000 { 340 compatible = " 340 compatible = "nxp,lpc3220-sic"; 341 reg = <0x4000c 341 reg = <0x4000c000 0x4000>; 342 interrupt-cont 342 interrupt-controller; 343 #interrupt-cel 343 #interrupt-cells = <2>; 344 344 345 interrupt-pare 345 interrupt-parent = <&mic>; 346 interrupts = < 346 interrupts = <0 IRQ_TYPE_LEVEL_LOW>, 347 < 347 <30 IRQ_TYPE_LEVEL_LOW>; 348 }; 348 }; 349 349 350 sic2: interrupt-contro 350 sic2: interrupt-controller@40010000 { 351 compatible = " 351 compatible = "nxp,lpc3220-sic"; 352 reg = <0x40010 352 reg = <0x40010000 0x4000>; 353 interrupt-cont 353 interrupt-controller; 354 #interrupt-cel 354 #interrupt-cells = <2>; 355 355 356 interrupt-pare 356 interrupt-parent = <&mic>; 357 interrupts = < 357 interrupts = <1 IRQ_TYPE_LEVEL_LOW>, 358 < 358 <31 IRQ_TYPE_LEVEL_LOW>; 359 }; 359 }; 360 360 361 uart1: serial@40014000 361 uart1: serial@40014000 { 362 compatible = " 362 compatible = "nxp,lpc3220-hsuart"; 363 reg = <0x40014 363 reg = <0x40014000 0x1000>; 364 interrupts = < 364 interrupts = <26 IRQ_TYPE_LEVEL_HIGH>; 365 status = "disa 365 status = "disabled"; 366 }; 366 }; 367 367 368 uart2: serial@40018000 368 uart2: serial@40018000 { 369 compatible = " 369 compatible = "nxp,lpc3220-hsuart"; 370 reg = <0x40018 370 reg = <0x40018000 0x1000>; 371 interrupts = < 371 interrupts = <25 IRQ_TYPE_LEVEL_HIGH>; 372 status = "disa 372 status = "disabled"; 373 }; 373 }; 374 374 375 uart7: serial@4001c000 375 uart7: serial@4001c000 { 376 compatible = " 376 compatible = "nxp,lpc3220-hsuart"; 377 reg = <0x4001c 377 reg = <0x4001c000 0x1000>; 378 interrupts = < 378 interrupts = <24 IRQ_TYPE_LEVEL_HIGH>; 379 status = "disa 379 status = "disabled"; 380 }; 380 }; 381 381 382 rtc: rtc@40024000 { 382 rtc: rtc@40024000 { 383 compatible = " 383 compatible = "nxp,lpc3220-rtc"; 384 reg = <0x40024 384 reg = <0x40024000 0x1000>; 385 interrupt-pare 385 interrupt-parent = <&sic1>; 386 interrupts = < 386 interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; 387 clocks = <&clk 387 clocks = <&clk LPC32XX_CLK_RTC>; 388 }; 388 }; 389 389 390 gpio: gpio@40028000 { 390 gpio: gpio@40028000 { 391 compatible = " 391 compatible = "nxp,lpc3220-gpio"; 392 reg = <0x40028 392 reg = <0x40028000 0x1000>; 393 gpio-controlle 393 gpio-controller; 394 #gpio-cells = 394 #gpio-cells = <3>; /* bank, pin, flags */ 395 }; 395 }; 396 396 397 timer4: timer@4002c000 397 timer4: timer@4002c000 { 398 compatible = " 398 compatible = "nxp,lpc3220-timer"; 399 reg = <0x4002c 399 reg = <0x4002c000 0x1000>; 400 interrupts = < 400 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 401 clocks = <&clk 401 clocks = <&clk LPC32XX_CLK_TIMER4>; 402 clock-names = 402 clock-names = "timerclk"; 403 status = "disa 403 status = "disabled"; 404 }; 404 }; 405 405 406 timer5: timer@40030000 406 timer5: timer@40030000 { 407 compatible = " 407 compatible = "nxp,lpc3220-timer"; 408 reg = <0x40030 408 reg = <0x40030000 0x1000>; 409 interrupts = < 409 interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 410 clocks = <&clk 410 clocks = <&clk LPC32XX_CLK_TIMER5>; 411 clock-names = 411 clock-names = "timerclk"; 412 status = "disa 412 status = "disabled"; 413 }; 413 }; 414 414 415 watchdog: watchdog@400 415 watchdog: watchdog@4003c000 { 416 compatible = " 416 compatible = "nxp,pnx4008-wdt"; 417 reg = <0x4003c 417 reg = <0x4003c000 0x1000>; 418 clocks = <&clk 418 clocks = <&clk LPC32XX_CLK_WDOG>; 419 }; 419 }; 420 420 421 timer0: timer@40044000 421 timer0: timer@40044000 { 422 compatible = " 422 compatible = "nxp,lpc3220-timer"; 423 reg = <0x40044 423 reg = <0x40044000 0x1000>; 424 clocks = <&clk 424 clocks = <&clk LPC32XX_CLK_TIMER0>; 425 clock-names = 425 clock-names = "timerclk"; 426 interrupts = < 426 interrupts = <16 IRQ_TYPE_LEVEL_LOW>; 427 }; 427 }; 428 428 429 /* 429 /* 430 * TSC vs. ADC: Since 430 * TSC vs. ADC: Since those two share the same 431 * hardware, you need 431 * hardware, you need to choose from one of the 432 * following two and d 432 * following two and do 'status = "okay";' for one of 433 * them 433 * them 434 */ 434 */ 435 435 436 adc: adc@40048000 { 436 adc: adc@40048000 { 437 compatible = " 437 compatible = "nxp,lpc3220-adc"; 438 reg = <0x40048 438 reg = <0x40048000 0x1000>; 439 interrupt-pare 439 interrupt-parent = <&sic1>; 440 interrupts = < 440 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; 441 clocks = <&clk 441 clocks = <&clk LPC32XX_CLK_ADC>; 442 status = "disa 442 status = "disabled"; 443 }; 443 }; 444 444 445 tsc: tsc@40048000 { 445 tsc: tsc@40048000 { 446 compatible = " 446 compatible = "nxp,lpc3220-tsc"; 447 reg = <0x40048 447 reg = <0x40048000 0x1000>; 448 interrupt-pare 448 interrupt-parent = <&sic1>; 449 interrupts = < 449 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; 450 clocks = <&clk 450 clocks = <&clk LPC32XX_CLK_ADC>; 451 status = "disa 451 status = "disabled"; 452 }; 452 }; 453 453 454 timer1: timer@4004c000 454 timer1: timer@4004c000 { 455 compatible = " 455 compatible = "nxp,lpc3220-timer"; 456 reg = <0x4004c 456 reg = <0x4004c000 0x1000>; 457 interrupts = < 457 interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 458 clocks = <&clk 458 clocks = <&clk LPC32XX_CLK_TIMER1>; 459 clock-names = 459 clock-names = "timerclk"; 460 }; 460 }; 461 461 462 key: key@40050000 { 462 key: key@40050000 { 463 compatible = " 463 compatible = "nxp,lpc3220-key"; 464 reg = <0x40050 464 reg = <0x40050000 0x1000>; 465 clocks = <&clk 465 clocks = <&clk LPC32XX_CLK_KEY>; 466 interrupt-pare 466 interrupt-parent = <&sic1>; 467 interrupts = < 467 interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; 468 status = "disa 468 status = "disabled"; 469 }; 469 }; 470 470 471 timer2: timer@40058000 471 timer2: timer@40058000 { 472 compatible = " 472 compatible = "nxp,lpc3220-timer"; 473 reg = <0x40058 473 reg = <0x40058000 0x1000>; 474 interrupts = < 474 interrupts = <18 IRQ_TYPE_LEVEL_LOW>; 475 clocks = <&clk 475 clocks = <&clk LPC32XX_CLK_TIMER2>; 476 clock-names = 476 clock-names = "timerclk"; 477 status = "disa 477 status = "disabled"; 478 }; 478 }; 479 479 480 pwm1: pwm@4005c000 { 480 pwm1: pwm@4005c000 { 481 compatible = " 481 compatible = "nxp,lpc3220-pwm"; 482 reg = <0x4005c 482 reg = <0x4005c000 0x4>; 483 clocks = <&clk 483 clocks = <&clk LPC32XX_CLK_PWM1>; 484 assigned-clock 484 assigned-clocks = <&clk LPC32XX_CLK_PWM1>; 485 assigned-clock 485 assigned-clock-parents = <&clk LPC32XX_CLK_PERIPH>; 486 status = "disa 486 status = "disabled"; 487 }; 487 }; 488 488 489 pwm2: pwm@4005c004 { 489 pwm2: pwm@4005c004 { 490 compatible = " 490 compatible = "nxp,lpc3220-pwm"; 491 reg = <0x4005c 491 reg = <0x4005c004 0x4>; 492 clocks = <&clk 492 clocks = <&clk LPC32XX_CLK_PWM2>; 493 assigned-clock 493 assigned-clocks = <&clk LPC32XX_CLK_PWM2>; 494 assigned-clock 494 assigned-clock-parents = <&clk LPC32XX_CLK_PERIPH>; 495 status = "disa 495 status = "disabled"; 496 }; 496 }; 497 497 498 timer3: timer@40060000 498 timer3: timer@40060000 { 499 compatible = " 499 compatible = "nxp,lpc3220-timer"; 500 reg = <0x40060 500 reg = <0x40060000 0x1000>; 501 interrupts = < 501 interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 502 clocks = <&clk 502 clocks = <&clk LPC32XX_CLK_TIMER3>; 503 clock-names = 503 clock-names = "timerclk"; 504 status = "disa 504 status = "disabled"; 505 }; 505 }; 506 }; 506 }; 507 }; 507 }; 508 }; 508 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.