162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * NXP LPC32xx SoC 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2015-2019 Vladimir Zapolskiy <vz@mleia.com> 662306a36Sopenharmony_ci * Copyright 2012 Roland Stigge <stigge@antcom.de> 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <dt-bindings/clock/lpc32xx-clock.h> 1062306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/ { 1362306a36Sopenharmony_ci #address-cells = <1>; 1462306a36Sopenharmony_ci #size-cells = <1>; 1562306a36Sopenharmony_ci compatible = "nxp,lpc3220"; 1662306a36Sopenharmony_ci interrupt-parent = <&mic>; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci cpus { 1962306a36Sopenharmony_ci #address-cells = <1>; 2062306a36Sopenharmony_ci #size-cells = <0>; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci cpu@0 { 2362306a36Sopenharmony_ci compatible = "arm,arm926ej-s"; 2462306a36Sopenharmony_ci device_type = "cpu"; 2562306a36Sopenharmony_ci reg = <0x0>; 2662306a36Sopenharmony_ci }; 2762306a36Sopenharmony_ci }; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci clocks { 3062306a36Sopenharmony_ci xtal_32k: xtal_32k { 3162306a36Sopenharmony_ci compatible = "fixed-clock"; 3262306a36Sopenharmony_ci #clock-cells = <0>; 3362306a36Sopenharmony_ci clock-frequency = <32768>; 3462306a36Sopenharmony_ci clock-output-names = "xtal_32k"; 3562306a36Sopenharmony_ci }; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci xtal: xtal { 3862306a36Sopenharmony_ci compatible = "fixed-clock"; 3962306a36Sopenharmony_ci #clock-cells = <0>; 4062306a36Sopenharmony_ci clock-frequency = <13000000>; 4162306a36Sopenharmony_ci clock-output-names = "xtal"; 4262306a36Sopenharmony_ci }; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci ahb { 4662306a36Sopenharmony_ci #address-cells = <1>; 4762306a36Sopenharmony_ci #size-cells = <1>; 4862306a36Sopenharmony_ci compatible = "simple-bus"; 4962306a36Sopenharmony_ci ranges = <0x00000000 0x00000000 0x10000000>, 5062306a36Sopenharmony_ci <0x20000000 0x20000000 0x30000000>, 5162306a36Sopenharmony_ci <0xe0000000 0xe0000000 0x04000000>; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci iram: sram@8000000 { 5462306a36Sopenharmony_ci compatible = "mmio-sram"; 5562306a36Sopenharmony_ci reg = <0x08000000 0x20000>; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci #address-cells = <1>; 5862306a36Sopenharmony_ci #size-cells = <1>; 5962306a36Sopenharmony_ci ranges = <0x00000000 0x08000000 0x20000>; 6062306a36Sopenharmony_ci }; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci /* 6362306a36Sopenharmony_ci * Enable either SLC or MLC 6462306a36Sopenharmony_ci */ 6562306a36Sopenharmony_ci slc: flash@20020000 { 6662306a36Sopenharmony_ci compatible = "nxp,lpc3220-slc"; 6762306a36Sopenharmony_ci reg = <0x20020000 0x1000>; 6862306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_SLC>; 6962306a36Sopenharmony_ci status = "disabled"; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci mlc: flash@200a8000 { 7362306a36Sopenharmony_ci compatible = "nxp,lpc3220-mlc"; 7462306a36Sopenharmony_ci reg = <0x200a8000 0x11000>; 7562306a36Sopenharmony_ci interrupts = <11 IRQ_TYPE_LEVEL_HIGH>; 7662306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_MLC>; 7762306a36Sopenharmony_ci status = "disabled"; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci dma: dma@31000000 { 8162306a36Sopenharmony_ci compatible = "arm,pl080", "arm,primecell"; 8262306a36Sopenharmony_ci reg = <0x31000000 0x1000>; 8362306a36Sopenharmony_ci interrupts = <28 IRQ_TYPE_LEVEL_HIGH>; 8462306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_DMA>; 8562306a36Sopenharmony_ci clock-names = "apb_pclk"; 8662306a36Sopenharmony_ci }; 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci usb { 8962306a36Sopenharmony_ci #address-cells = <1>; 9062306a36Sopenharmony_ci #size-cells = <1>; 9162306a36Sopenharmony_ci compatible = "simple-bus"; 9262306a36Sopenharmony_ci ranges = <0x0 0x31020000 0x00001000>; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci /* 9562306a36Sopenharmony_ci * Enable either ohci or usbd (gadget)! 9662306a36Sopenharmony_ci */ 9762306a36Sopenharmony_ci ohci: ohci@0 { 9862306a36Sopenharmony_ci compatible = "nxp,ohci-nxp", "usb-ohci"; 9962306a36Sopenharmony_ci reg = <0x0 0x300>; 10062306a36Sopenharmony_ci interrupt-parent = <&sic1>; 10162306a36Sopenharmony_ci interrupts = <27 IRQ_TYPE_LEVEL_HIGH>; 10262306a36Sopenharmony_ci clocks = <&usbclk LPC32XX_USB_CLK_HOST>; 10362306a36Sopenharmony_ci status = "disabled"; 10462306a36Sopenharmony_ci }; 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci usbd: usbd@0 { 10762306a36Sopenharmony_ci compatible = "nxp,lpc3220-udc"; 10862306a36Sopenharmony_ci reg = <0x0 0x300>; 10962306a36Sopenharmony_ci interrupt-parent = <&sic1>; 11062306a36Sopenharmony_ci interrupts = <29 IRQ_TYPE_LEVEL_HIGH>, 11162306a36Sopenharmony_ci <30 IRQ_TYPE_LEVEL_HIGH>, 11262306a36Sopenharmony_ci <28 IRQ_TYPE_LEVEL_HIGH>, 11362306a36Sopenharmony_ci <26 IRQ_TYPE_LEVEL_LOW>; 11462306a36Sopenharmony_ci clocks = <&usbclk LPC32XX_USB_CLK_DEVICE>; 11562306a36Sopenharmony_ci status = "disabled"; 11662306a36Sopenharmony_ci }; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci i2cusb: i2c@300 { 11962306a36Sopenharmony_ci compatible = "nxp,pnx-i2c"; 12062306a36Sopenharmony_ci reg = <0x300 0x100>; 12162306a36Sopenharmony_ci interrupt-parent = <&sic1>; 12262306a36Sopenharmony_ci interrupts = <31 IRQ_TYPE_LEVEL_HIGH>; 12362306a36Sopenharmony_ci clocks = <&usbclk LPC32XX_USB_CLK_I2C>; 12462306a36Sopenharmony_ci #address-cells = <1>; 12562306a36Sopenharmony_ci #size-cells = <0>; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci usbclk: clock-controller@f00 { 12962306a36Sopenharmony_ci compatible = "nxp,lpc3220-usb-clk"; 13062306a36Sopenharmony_ci reg = <0xf00 0x100>; 13162306a36Sopenharmony_ci #clock-cells = <1>; 13262306a36Sopenharmony_ci }; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci clcd: clcd@31040000 { 13662306a36Sopenharmony_ci compatible = "arm,pl111", "arm,primecell"; 13762306a36Sopenharmony_ci reg = <0x31040000 0x1000>; 13862306a36Sopenharmony_ci interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; 13962306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_LCD>, <&clk LPC32XX_CLK_LCD>; 14062306a36Sopenharmony_ci clock-names = "clcdclk", "apb_pclk"; 14162306a36Sopenharmony_ci status = "disabled"; 14262306a36Sopenharmony_ci }; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci mac: ethernet@31060000 { 14562306a36Sopenharmony_ci compatible = "nxp,lpc-eth"; 14662306a36Sopenharmony_ci reg = <0x31060000 0x1000>; 14762306a36Sopenharmony_ci interrupts = <29 IRQ_TYPE_LEVEL_HIGH>; 14862306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_MAC>; 14962306a36Sopenharmony_ci status = "disabled"; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci emc: memory-controller@31080000 { 15362306a36Sopenharmony_ci compatible = "arm,pl175", "arm,primecell"; 15462306a36Sopenharmony_ci reg = <0x31080000 0x1000>; 15562306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_DDRAM>, <&clk LPC32XX_CLK_DDRAM>; 15662306a36Sopenharmony_ci clock-names = "mpmcclk", "apb_pclk"; 15762306a36Sopenharmony_ci #address-cells = <1>; 15862306a36Sopenharmony_ci #size-cells = <1>; 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci ranges = <0 0xe0000000 0x01000000>, 16162306a36Sopenharmony_ci <1 0xe1000000 0x01000000>, 16262306a36Sopenharmony_ci <2 0xe2000000 0x01000000>, 16362306a36Sopenharmony_ci <3 0xe3000000 0x01000000>; 16462306a36Sopenharmony_ci status = "disabled"; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci apb { 16862306a36Sopenharmony_ci #address-cells = <1>; 16962306a36Sopenharmony_ci #size-cells = <1>; 17062306a36Sopenharmony_ci compatible = "simple-bus"; 17162306a36Sopenharmony_ci ranges = <0x20000000 0x20000000 0x30000000>; 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci /* 17462306a36Sopenharmony_ci * ssp0 and spi1 are shared pins; 17562306a36Sopenharmony_ci * enable one in your board dts, as needed. 17662306a36Sopenharmony_ci */ 17762306a36Sopenharmony_ci ssp0: spi@20084000 { 17862306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 17962306a36Sopenharmony_ci reg = <0x20084000 0x1000>; 18062306a36Sopenharmony_ci interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; 18162306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_SSP0>; 18262306a36Sopenharmony_ci clock-names = "apb_pclk"; 18362306a36Sopenharmony_ci #address-cells = <1>; 18462306a36Sopenharmony_ci #size-cells = <0>; 18562306a36Sopenharmony_ci status = "disabled"; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci spi1: spi@20088000 { 18962306a36Sopenharmony_ci compatible = "nxp,lpc3220-spi"; 19062306a36Sopenharmony_ci reg = <0x20088000 0x1000>; 19162306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_SPI1>; 19262306a36Sopenharmony_ci #address-cells = <1>; 19362306a36Sopenharmony_ci #size-cells = <0>; 19462306a36Sopenharmony_ci status = "disabled"; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci /* 19862306a36Sopenharmony_ci * ssp1 and spi2 are shared pins; 19962306a36Sopenharmony_ci * enable one in your board dts, as needed. 20062306a36Sopenharmony_ci */ 20162306a36Sopenharmony_ci ssp1: spi@2008c000 { 20262306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 20362306a36Sopenharmony_ci reg = <0x2008c000 0x1000>; 20462306a36Sopenharmony_ci interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; 20562306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_SSP1>; 20662306a36Sopenharmony_ci clock-names = "apb_pclk"; 20762306a36Sopenharmony_ci #address-cells = <1>; 20862306a36Sopenharmony_ci #size-cells = <0>; 20962306a36Sopenharmony_ci status = "disabled"; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci spi2: spi@20090000 { 21362306a36Sopenharmony_ci compatible = "nxp,lpc3220-spi"; 21462306a36Sopenharmony_ci reg = <0x20090000 0x1000>; 21562306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_SPI2>; 21662306a36Sopenharmony_ci #address-cells = <1>; 21762306a36Sopenharmony_ci #size-cells = <0>; 21862306a36Sopenharmony_ci status = "disabled"; 21962306a36Sopenharmony_ci }; 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci i2s0: i2s@20094000 { 22262306a36Sopenharmony_ci compatible = "nxp,lpc3220-i2s"; 22362306a36Sopenharmony_ci reg = <0x20094000 0x1000>; 22462306a36Sopenharmony_ci status = "disabled"; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci sd: sd@20098000 { 22862306a36Sopenharmony_ci compatible = "arm,pl18x", "arm,primecell"; 22962306a36Sopenharmony_ci reg = <0x20098000 0x1000>; 23062306a36Sopenharmony_ci interrupts = <15 IRQ_TYPE_LEVEL_HIGH>, 23162306a36Sopenharmony_ci <13 IRQ_TYPE_LEVEL_HIGH>; 23262306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_SD>; 23362306a36Sopenharmony_ci clock-names = "apb_pclk"; 23462306a36Sopenharmony_ci status = "disabled"; 23562306a36Sopenharmony_ci }; 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci i2s1: i2s@2009c000 { 23862306a36Sopenharmony_ci compatible = "nxp,lpc3220-i2s"; 23962306a36Sopenharmony_ci reg = <0x2009c000 0x1000>; 24062306a36Sopenharmony_ci status = "disabled"; 24162306a36Sopenharmony_ci }; 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci /* UART5 first since it is the default console, ttyS0 */ 24462306a36Sopenharmony_ci uart5: serial@40090000 { 24562306a36Sopenharmony_ci /* actually, ns16550a w/ 64 byte fifos! */ 24662306a36Sopenharmony_ci compatible = "nxp,lpc3220-uart"; 24762306a36Sopenharmony_ci reg = <0x40090000 0x1000>; 24862306a36Sopenharmony_ci interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; 24962306a36Sopenharmony_ci reg-shift = <2>; 25062306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_UART5>; 25162306a36Sopenharmony_ci status = "disabled"; 25262306a36Sopenharmony_ci }; 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci uart3: serial@40080000 { 25562306a36Sopenharmony_ci compatible = "nxp,lpc3220-uart"; 25662306a36Sopenharmony_ci reg = <0x40080000 0x1000>; 25762306a36Sopenharmony_ci interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; 25862306a36Sopenharmony_ci reg-shift = <2>; 25962306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_UART3>; 26062306a36Sopenharmony_ci status = "disabled"; 26162306a36Sopenharmony_ci }; 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ci uart4: serial@40088000 { 26462306a36Sopenharmony_ci compatible = "nxp,lpc3220-uart"; 26562306a36Sopenharmony_ci reg = <0x40088000 0x1000>; 26662306a36Sopenharmony_ci interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 26762306a36Sopenharmony_ci reg-shift = <2>; 26862306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_UART4>; 26962306a36Sopenharmony_ci status = "disabled"; 27062306a36Sopenharmony_ci }; 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci uart6: serial@40098000 { 27362306a36Sopenharmony_ci compatible = "nxp,lpc3220-uart"; 27462306a36Sopenharmony_ci reg = <0x40098000 0x1000>; 27562306a36Sopenharmony_ci interrupts = <10 IRQ_TYPE_LEVEL_HIGH>; 27662306a36Sopenharmony_ci reg-shift = <2>; 27762306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_UART6>; 27862306a36Sopenharmony_ci status = "disabled"; 27962306a36Sopenharmony_ci }; 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ci i2c1: i2c@400a0000 { 28262306a36Sopenharmony_ci compatible = "nxp,pnx-i2c"; 28362306a36Sopenharmony_ci reg = <0x400a0000 0x100>; 28462306a36Sopenharmony_ci interrupt-parent = <&sic1>; 28562306a36Sopenharmony_ci interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 28662306a36Sopenharmony_ci #address-cells = <1>; 28762306a36Sopenharmony_ci #size-cells = <0>; 28862306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_I2C1>; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci i2c2: i2c@400a8000 { 29262306a36Sopenharmony_ci compatible = "nxp,pnx-i2c"; 29362306a36Sopenharmony_ci reg = <0x400a8000 0x100>; 29462306a36Sopenharmony_ci interrupt-parent = <&sic1>; 29562306a36Sopenharmony_ci interrupts = <18 IRQ_TYPE_LEVEL_LOW>; 29662306a36Sopenharmony_ci #address-cells = <1>; 29762306a36Sopenharmony_ci #size-cells = <0>; 29862306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_I2C2>; 29962306a36Sopenharmony_ci }; 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ci mpwm: mpwm@400e8000 { 30262306a36Sopenharmony_ci compatible = "nxp,lpc3220-motor-pwm"; 30362306a36Sopenharmony_ci reg = <0x400e8000 0x78>; 30462306a36Sopenharmony_ci status = "disabled"; 30562306a36Sopenharmony_ci #pwm-cells = <2>; 30662306a36Sopenharmony_ci }; 30762306a36Sopenharmony_ci }; 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ci fab { 31062306a36Sopenharmony_ci #address-cells = <1>; 31162306a36Sopenharmony_ci #size-cells = <1>; 31262306a36Sopenharmony_ci compatible = "simple-bus"; 31362306a36Sopenharmony_ci ranges = <0x20000000 0x20000000 0x30000000>; 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ci /* System Control Block */ 31662306a36Sopenharmony_ci scb { 31762306a36Sopenharmony_ci compatible = "simple-bus"; 31862306a36Sopenharmony_ci ranges = <0x0 0x40004000 0x00001000>; 31962306a36Sopenharmony_ci #address-cells = <1>; 32062306a36Sopenharmony_ci #size-cells = <1>; 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ci clk: clock-controller@0 { 32362306a36Sopenharmony_ci compatible = "nxp,lpc3220-clk"; 32462306a36Sopenharmony_ci reg = <0x00 0x114>; 32562306a36Sopenharmony_ci #clock-cells = <1>; 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ci clocks = <&xtal_32k>, <&xtal>; 32862306a36Sopenharmony_ci clock-names = "xtal_32k", "xtal"; 32962306a36Sopenharmony_ci }; 33062306a36Sopenharmony_ci }; 33162306a36Sopenharmony_ci 33262306a36Sopenharmony_ci mic: interrupt-controller@40008000 { 33362306a36Sopenharmony_ci compatible = "nxp,lpc3220-mic"; 33462306a36Sopenharmony_ci reg = <0x40008000 0x4000>; 33562306a36Sopenharmony_ci interrupt-controller; 33662306a36Sopenharmony_ci #interrupt-cells = <2>; 33762306a36Sopenharmony_ci }; 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ci sic1: interrupt-controller@4000c000 { 34062306a36Sopenharmony_ci compatible = "nxp,lpc3220-sic"; 34162306a36Sopenharmony_ci reg = <0x4000c000 0x4000>; 34262306a36Sopenharmony_ci interrupt-controller; 34362306a36Sopenharmony_ci #interrupt-cells = <2>; 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ci interrupt-parent = <&mic>; 34662306a36Sopenharmony_ci interrupts = <0 IRQ_TYPE_LEVEL_LOW>, 34762306a36Sopenharmony_ci <30 IRQ_TYPE_LEVEL_LOW>; 34862306a36Sopenharmony_ci }; 34962306a36Sopenharmony_ci 35062306a36Sopenharmony_ci sic2: interrupt-controller@40010000 { 35162306a36Sopenharmony_ci compatible = "nxp,lpc3220-sic"; 35262306a36Sopenharmony_ci reg = <0x40010000 0x4000>; 35362306a36Sopenharmony_ci interrupt-controller; 35462306a36Sopenharmony_ci #interrupt-cells = <2>; 35562306a36Sopenharmony_ci 35662306a36Sopenharmony_ci interrupt-parent = <&mic>; 35762306a36Sopenharmony_ci interrupts = <1 IRQ_TYPE_LEVEL_LOW>, 35862306a36Sopenharmony_ci <31 IRQ_TYPE_LEVEL_LOW>; 35962306a36Sopenharmony_ci }; 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ci uart1: serial@40014000 { 36262306a36Sopenharmony_ci compatible = "nxp,lpc3220-hsuart"; 36362306a36Sopenharmony_ci reg = <0x40014000 0x1000>; 36462306a36Sopenharmony_ci interrupts = <26 IRQ_TYPE_LEVEL_HIGH>; 36562306a36Sopenharmony_ci status = "disabled"; 36662306a36Sopenharmony_ci }; 36762306a36Sopenharmony_ci 36862306a36Sopenharmony_ci uart2: serial@40018000 { 36962306a36Sopenharmony_ci compatible = "nxp,lpc3220-hsuart"; 37062306a36Sopenharmony_ci reg = <0x40018000 0x1000>; 37162306a36Sopenharmony_ci interrupts = <25 IRQ_TYPE_LEVEL_HIGH>; 37262306a36Sopenharmony_ci status = "disabled"; 37362306a36Sopenharmony_ci }; 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci uart7: serial@4001c000 { 37662306a36Sopenharmony_ci compatible = "nxp,lpc3220-hsuart"; 37762306a36Sopenharmony_ci reg = <0x4001c000 0x1000>; 37862306a36Sopenharmony_ci interrupts = <24 IRQ_TYPE_LEVEL_HIGH>; 37962306a36Sopenharmony_ci status = "disabled"; 38062306a36Sopenharmony_ci }; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci rtc: rtc@40024000 { 38362306a36Sopenharmony_ci compatible = "nxp,lpc3220-rtc"; 38462306a36Sopenharmony_ci reg = <0x40024000 0x1000>; 38562306a36Sopenharmony_ci interrupt-parent = <&sic1>; 38662306a36Sopenharmony_ci interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; 38762306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_RTC>; 38862306a36Sopenharmony_ci }; 38962306a36Sopenharmony_ci 39062306a36Sopenharmony_ci gpio: gpio@40028000 { 39162306a36Sopenharmony_ci compatible = "nxp,lpc3220-gpio"; 39262306a36Sopenharmony_ci reg = <0x40028000 0x1000>; 39362306a36Sopenharmony_ci gpio-controller; 39462306a36Sopenharmony_ci #gpio-cells = <3>; /* bank, pin, flags */ 39562306a36Sopenharmony_ci }; 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ci timer4: timer@4002c000 { 39862306a36Sopenharmony_ci compatible = "nxp,lpc3220-timer"; 39962306a36Sopenharmony_ci reg = <0x4002c000 0x1000>; 40062306a36Sopenharmony_ci interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 40162306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_TIMER4>; 40262306a36Sopenharmony_ci clock-names = "timerclk"; 40362306a36Sopenharmony_ci status = "disabled"; 40462306a36Sopenharmony_ci }; 40562306a36Sopenharmony_ci 40662306a36Sopenharmony_ci timer5: timer@40030000 { 40762306a36Sopenharmony_ci compatible = "nxp,lpc3220-timer"; 40862306a36Sopenharmony_ci reg = <0x40030000 0x1000>; 40962306a36Sopenharmony_ci interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 41062306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_TIMER5>; 41162306a36Sopenharmony_ci clock-names = "timerclk"; 41262306a36Sopenharmony_ci status = "disabled"; 41362306a36Sopenharmony_ci }; 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_ci watchdog: watchdog@4003c000 { 41662306a36Sopenharmony_ci compatible = "nxp,pnx4008-wdt"; 41762306a36Sopenharmony_ci reg = <0x4003c000 0x1000>; 41862306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_WDOG>; 41962306a36Sopenharmony_ci }; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci timer0: timer@40044000 { 42262306a36Sopenharmony_ci compatible = "nxp,lpc3220-timer"; 42362306a36Sopenharmony_ci reg = <0x40044000 0x1000>; 42462306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_TIMER0>; 42562306a36Sopenharmony_ci clock-names = "timerclk"; 42662306a36Sopenharmony_ci interrupts = <16 IRQ_TYPE_LEVEL_LOW>; 42762306a36Sopenharmony_ci }; 42862306a36Sopenharmony_ci 42962306a36Sopenharmony_ci /* 43062306a36Sopenharmony_ci * TSC vs. ADC: Since those two share the same 43162306a36Sopenharmony_ci * hardware, you need to choose from one of the 43262306a36Sopenharmony_ci * following two and do 'status = "okay";' for one of 43362306a36Sopenharmony_ci * them 43462306a36Sopenharmony_ci */ 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_ci adc: adc@40048000 { 43762306a36Sopenharmony_ci compatible = "nxp,lpc3220-adc"; 43862306a36Sopenharmony_ci reg = <0x40048000 0x1000>; 43962306a36Sopenharmony_ci interrupt-parent = <&sic1>; 44062306a36Sopenharmony_ci interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; 44162306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_ADC>; 44262306a36Sopenharmony_ci status = "disabled"; 44362306a36Sopenharmony_ci }; 44462306a36Sopenharmony_ci 44562306a36Sopenharmony_ci tsc: tsc@40048000 { 44662306a36Sopenharmony_ci compatible = "nxp,lpc3220-tsc"; 44762306a36Sopenharmony_ci reg = <0x40048000 0x1000>; 44862306a36Sopenharmony_ci interrupt-parent = <&sic1>; 44962306a36Sopenharmony_ci interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; 45062306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_ADC>; 45162306a36Sopenharmony_ci status = "disabled"; 45262306a36Sopenharmony_ci }; 45362306a36Sopenharmony_ci 45462306a36Sopenharmony_ci timer1: timer@4004c000 { 45562306a36Sopenharmony_ci compatible = "nxp,lpc3220-timer"; 45662306a36Sopenharmony_ci reg = <0x4004c000 0x1000>; 45762306a36Sopenharmony_ci interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 45862306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_TIMER1>; 45962306a36Sopenharmony_ci clock-names = "timerclk"; 46062306a36Sopenharmony_ci }; 46162306a36Sopenharmony_ci 46262306a36Sopenharmony_ci key: key@40050000 { 46362306a36Sopenharmony_ci compatible = "nxp,lpc3220-key"; 46462306a36Sopenharmony_ci reg = <0x40050000 0x1000>; 46562306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_KEY>; 46662306a36Sopenharmony_ci interrupt-parent = <&sic1>; 46762306a36Sopenharmony_ci interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; 46862306a36Sopenharmony_ci status = "disabled"; 46962306a36Sopenharmony_ci }; 47062306a36Sopenharmony_ci 47162306a36Sopenharmony_ci timer2: timer@40058000 { 47262306a36Sopenharmony_ci compatible = "nxp,lpc3220-timer"; 47362306a36Sopenharmony_ci reg = <0x40058000 0x1000>; 47462306a36Sopenharmony_ci interrupts = <18 IRQ_TYPE_LEVEL_LOW>; 47562306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_TIMER2>; 47662306a36Sopenharmony_ci clock-names = "timerclk"; 47762306a36Sopenharmony_ci status = "disabled"; 47862306a36Sopenharmony_ci }; 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ci pwm1: pwm@4005c000 { 48162306a36Sopenharmony_ci compatible = "nxp,lpc3220-pwm"; 48262306a36Sopenharmony_ci reg = <0x4005c000 0x4>; 48362306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_PWM1>; 48462306a36Sopenharmony_ci assigned-clocks = <&clk LPC32XX_CLK_PWM1>; 48562306a36Sopenharmony_ci assigned-clock-parents = <&clk LPC32XX_CLK_PERIPH>; 48662306a36Sopenharmony_ci status = "disabled"; 48762306a36Sopenharmony_ci }; 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ci pwm2: pwm@4005c004 { 49062306a36Sopenharmony_ci compatible = "nxp,lpc3220-pwm"; 49162306a36Sopenharmony_ci reg = <0x4005c004 0x4>; 49262306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_PWM2>; 49362306a36Sopenharmony_ci assigned-clocks = <&clk LPC32XX_CLK_PWM2>; 49462306a36Sopenharmony_ci assigned-clock-parents = <&clk LPC32XX_CLK_PERIPH>; 49562306a36Sopenharmony_ci status = "disabled"; 49662306a36Sopenharmony_ci }; 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_ci timer3: timer@40060000 { 49962306a36Sopenharmony_ci compatible = "nxp,lpc3220-timer"; 50062306a36Sopenharmony_ci reg = <0x40060000 0x1000>; 50162306a36Sopenharmony_ci interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 50262306a36Sopenharmony_ci clocks = <&clk LPC32XX_CLK_TIMER3>; 50362306a36Sopenharmony_ci clock-names = "timerclk"; 50462306a36Sopenharmony_ci status = "disabled"; 50562306a36Sopenharmony_ci }; 50662306a36Sopenharmony_ci }; 50762306a36Sopenharmony_ci }; 50862306a36Sopenharmony_ci}; 509