162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Device Tree for the ST-Ericsson Nomadik 8815 STn8815 SoC 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/ { 962306a36Sopenharmony_ci #address-cells = <1>; 1062306a36Sopenharmony_ci #size-cells = <1>; 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci memory { 1362306a36Sopenharmony_ci device_type = "memory"; 1462306a36Sopenharmony_ci reg = <0x00000000 0x04000000>, 1562306a36Sopenharmony_ci <0x08000000 0x04000000>; 1662306a36Sopenharmony_ci }; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci L2: cache-controller { 1962306a36Sopenharmony_ci compatible = "arm,l210-cache"; 2062306a36Sopenharmony_ci reg = <0x10210000 0x1000>; 2162306a36Sopenharmony_ci interrupt-parent = <&vica>; 2262306a36Sopenharmony_ci interrupts = <30>; 2362306a36Sopenharmony_ci cache-unified; 2462306a36Sopenharmony_ci cache-level = <2>; 2562306a36Sopenharmony_ci cache-size = <131072>; 2662306a36Sopenharmony_ci cache-sets = <512>; 2762306a36Sopenharmony_ci cache-line-size = <32>; 2862306a36Sopenharmony_ci /* At full speed latency must be >=2 */ 2962306a36Sopenharmony_ci arm,tag-latency = <8>; 3062306a36Sopenharmony_ci arm,data-latency = <8 8>; 3162306a36Sopenharmony_ci arm,dirty-latency = <8>; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci mtu0: mtu@101e2000 { 3562306a36Sopenharmony_ci /* Nomadik system timer */ 3662306a36Sopenharmony_ci compatible = "st,nomadik-mtu"; 3762306a36Sopenharmony_ci reg = <0x101e2000 0x1000>; 3862306a36Sopenharmony_ci interrupt-parent = <&vica>; 3962306a36Sopenharmony_ci interrupts = <4>; 4062306a36Sopenharmony_ci clocks = <&timclk>, <&pclk>; 4162306a36Sopenharmony_ci clock-names = "timclk", "apb_pclk"; 4262306a36Sopenharmony_ci }; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci mtu1: mtu@101e3000 { 4562306a36Sopenharmony_ci /* Secondary timer */ 4662306a36Sopenharmony_ci reg = <0x101e3000 0x1000>; 4762306a36Sopenharmony_ci interrupt-parent = <&vica>; 4862306a36Sopenharmony_ci interrupts = <5>; 4962306a36Sopenharmony_ci clocks = <&timclk>, <&pclk>; 5062306a36Sopenharmony_ci clock-names = "timclk", "apb_pclk"; 5162306a36Sopenharmony_ci }; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci gpio0: gpio@101e4000 { 5462306a36Sopenharmony_ci compatible = "st,nomadik-gpio"; 5562306a36Sopenharmony_ci reg = <0x101e4000 0x80>; 5662306a36Sopenharmony_ci interrupt-parent = <&vica>; 5762306a36Sopenharmony_ci interrupts = <6>; 5862306a36Sopenharmony_ci interrupt-controller; 5962306a36Sopenharmony_ci #interrupt-cells = <2>; 6062306a36Sopenharmony_ci gpio-controller; 6162306a36Sopenharmony_ci #gpio-cells = <2>; 6262306a36Sopenharmony_ci gpio-bank = <0>; 6362306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 0 32>; 6462306a36Sopenharmony_ci clocks = <&pclk>; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci gpio1: gpio@101e5000 { 6862306a36Sopenharmony_ci compatible = "st,nomadik-gpio"; 6962306a36Sopenharmony_ci reg = <0x101e5000 0x80>; 7062306a36Sopenharmony_ci interrupt-parent = <&vica>; 7162306a36Sopenharmony_ci interrupts = <7>; 7262306a36Sopenharmony_ci interrupt-controller; 7362306a36Sopenharmony_ci #interrupt-cells = <2>; 7462306a36Sopenharmony_ci gpio-controller; 7562306a36Sopenharmony_ci #gpio-cells = <2>; 7662306a36Sopenharmony_ci gpio-bank = <1>; 7762306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 32 32>; 7862306a36Sopenharmony_ci clocks = <&pclk>; 7962306a36Sopenharmony_ci }; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci gpio2: gpio@101e6000 { 8262306a36Sopenharmony_ci compatible = "st,nomadik-gpio"; 8362306a36Sopenharmony_ci reg = <0x101e6000 0x80>; 8462306a36Sopenharmony_ci interrupt-parent = <&vica>; 8562306a36Sopenharmony_ci interrupts = <8>; 8662306a36Sopenharmony_ci interrupt-controller; 8762306a36Sopenharmony_ci #interrupt-cells = <2>; 8862306a36Sopenharmony_ci gpio-controller; 8962306a36Sopenharmony_ci #gpio-cells = <2>; 9062306a36Sopenharmony_ci gpio-bank = <2>; 9162306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 64 32>; 9262306a36Sopenharmony_ci clocks = <&pclk>; 9362306a36Sopenharmony_ci }; 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci gpio3: gpio@101e7000 { 9662306a36Sopenharmony_ci compatible = "st,nomadik-gpio"; 9762306a36Sopenharmony_ci reg = <0x101e7000 0x80>; 9862306a36Sopenharmony_ci ngpio = <28>; 9962306a36Sopenharmony_ci interrupt-parent = <&vica>; 10062306a36Sopenharmony_ci interrupts = <9>; 10162306a36Sopenharmony_ci interrupt-controller; 10262306a36Sopenharmony_ci #interrupt-cells = <2>; 10362306a36Sopenharmony_ci gpio-controller; 10462306a36Sopenharmony_ci #gpio-cells = <2>; 10562306a36Sopenharmony_ci gpio-bank = <3>; 10662306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 96 28>; 10762306a36Sopenharmony_ci clocks = <&pclk>; 10862306a36Sopenharmony_ci }; 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci pinctrl: pinctrl { 11162306a36Sopenharmony_ci compatible = "stericsson,stn8815-pinctrl"; 11262306a36Sopenharmony_ci nomadik-gpio-chips = <&gpio0>, <&gpio1>, <&gpio2>, <&gpio3>; 11362306a36Sopenharmony_ci /* Pin configurations */ 11462306a36Sopenharmony_ci uart1 { 11562306a36Sopenharmony_ci uart1_default_mux: uart1_mux { 11662306a36Sopenharmony_ci u1_default_mux { 11762306a36Sopenharmony_ci function = "u1"; 11862306a36Sopenharmony_ci groups = "u1_a_1"; 11962306a36Sopenharmony_ci }; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci mmcsd { 12362306a36Sopenharmony_ci mmcsd_default_mux: mmcsd_mux { 12462306a36Sopenharmony_ci mmcsd_default_mux { 12562306a36Sopenharmony_ci function = "mmcsd"; 12662306a36Sopenharmony_ci groups = "mmcsd_a_1", "mmcsd_b_1"; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci mmcsd_default_mode: mmcsd_default { 13062306a36Sopenharmony_ci mmcsd_default_cfg1 { 13162306a36Sopenharmony_ci /* 13262306a36Sopenharmony_ci * MCCLK, MCCMDDIR, MCDAT0DIR, MCDAT31DIR, MCDATDIR2 13362306a36Sopenharmony_ci * MCCMD, MCDAT3-0, MCMSFBCLK 13462306a36Sopenharmony_ci */ 13562306a36Sopenharmony_ci pins = "GPIO8_B10", "GPIO9_A10", "GPIO10_C11", "GPIO11_B11", 13662306a36Sopenharmony_ci "GPIO12_A11", "GPIO13_C12", "GPIO14_B12", "GPIO15_A12", 13762306a36Sopenharmony_ci "GPIO16_C13", "GPIO23_D15", "GPIO24_C15"; 13862306a36Sopenharmony_ci ste,output = <2>; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci i2c0 { 14362306a36Sopenharmony_ci i2c0_default_mux: i2c0_mux { 14462306a36Sopenharmony_ci i2c0_default_mux { 14562306a36Sopenharmony_ci function = "i2c0"; 14662306a36Sopenharmony_ci groups = "i2c0_a_1"; 14762306a36Sopenharmony_ci }; 14862306a36Sopenharmony_ci }; 14962306a36Sopenharmony_ci i2c0_default_mode: i2c0_default { 15062306a36Sopenharmony_ci i2c0_default_cfg { 15162306a36Sopenharmony_ci pins = "GPIO62_D3", "GPIO63_D2"; 15262306a36Sopenharmony_ci ste,input = <0>; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci i2c1 { 15762306a36Sopenharmony_ci i2c1_default_mux: i2c1_mux { 15862306a36Sopenharmony_ci i2c1_default_mux { 15962306a36Sopenharmony_ci function = "i2c1"; 16062306a36Sopenharmony_ci groups = "i2c1_a_1"; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci }; 16362306a36Sopenharmony_ci i2c1_default_mode: i2c1_default { 16462306a36Sopenharmony_ci i2c1_default_cfg { 16562306a36Sopenharmony_ci pins = "GPIO53_L4", "GPIO54_L3"; 16662306a36Sopenharmony_ci ste,input = <0>; 16762306a36Sopenharmony_ci }; 16862306a36Sopenharmony_ci }; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci clcd { 17162306a36Sopenharmony_ci /* 17262306a36Sopenharmony_ci * This should be activated to use the additional 17362306a36Sopenharmony_ci * 8 lines for bits 16 thru 23 from the CLCD block. 17462306a36Sopenharmony_ci */ 17562306a36Sopenharmony_ci clcd_24bit_mux: clcd_mux { 17662306a36Sopenharmony_ci clcd_24bit_mux { 17762306a36Sopenharmony_ci function = "clcd"; 17862306a36Sopenharmony_ci groups = "clcd_16_23_b_1"; 17962306a36Sopenharmony_ci }; 18062306a36Sopenharmony_ci }; 18162306a36Sopenharmony_ci }; 18262306a36Sopenharmony_ci }; 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci /* Power Management Unit */ 18562306a36Sopenharmony_ci pmu: pmu@101e9000 { 18662306a36Sopenharmony_ci compatible = "stericsson,nomadik-pmu", "syscon"; 18762306a36Sopenharmony_ci reg = <0x101e0000 0x1000>; 18862306a36Sopenharmony_ci }; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci src: src@101e0000 { 19162306a36Sopenharmony_ci compatible = "stericsson,nomadik-src"; 19262306a36Sopenharmony_ci reg = <0x101e0000 0x1000>; 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci /* 19562306a36Sopenharmony_ci * MXTAL "Main Chrystal" is a chrystal oscillator @19.2 MHz 19662306a36Sopenharmony_ci * that is parent of TIMCLK, PLL1 and PLL2 19762306a36Sopenharmony_ci */ 19862306a36Sopenharmony_ci mxtal: mxtal@19.2M { 19962306a36Sopenharmony_ci #clock-cells = <0>; 20062306a36Sopenharmony_ci compatible = "fixed-clock"; 20162306a36Sopenharmony_ci clock-frequency = <19200000>; 20262306a36Sopenharmony_ci }; 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ci /* 20562306a36Sopenharmony_ci * The 2.4 MHz TIMCLK reference clock is active at 20662306a36Sopenharmony_ci * boot time, this is actually the MXTALCLK @19.2 MHz 20762306a36Sopenharmony_ci * divided by 8. This clock is used by the timers and 20862306a36Sopenharmony_ci * watchdog. See page 105 ff. 20962306a36Sopenharmony_ci */ 21062306a36Sopenharmony_ci timclk: timclk@2.4M { 21162306a36Sopenharmony_ci #clock-cells = <0>; 21262306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 21362306a36Sopenharmony_ci clock-div = <8>; 21462306a36Sopenharmony_ci clock-mult = <1>; 21562306a36Sopenharmony_ci clocks = <&mxtal>; 21662306a36Sopenharmony_ci }; 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci /* PLL1 is locked to MXTALI and variable from 20.4 to 334 MHz */ 21962306a36Sopenharmony_ci pll1: pll1@0 { 22062306a36Sopenharmony_ci #clock-cells = <0>; 22162306a36Sopenharmony_ci compatible = "st,nomadik-pll-clock"; 22262306a36Sopenharmony_ci pll-id = <1>; 22362306a36Sopenharmony_ci clocks = <&mxtal>; 22462306a36Sopenharmony_ci }; 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci /* HCLK divides the PLL1 with 1,2,3 or 4 */ 22762306a36Sopenharmony_ci hclk: hclk@0 { 22862306a36Sopenharmony_ci #clock-cells = <0>; 22962306a36Sopenharmony_ci compatible = "st,nomadik-hclk-clock"; 23062306a36Sopenharmony_ci clocks = <&pll1>; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci /* The PCLK domain uses HCLK right off */ 23362306a36Sopenharmony_ci pclk: pclk@0 { 23462306a36Sopenharmony_ci #clock-cells = <0>; 23562306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 23662306a36Sopenharmony_ci clock-div = <1>; 23762306a36Sopenharmony_ci clock-mult = <1>; 23862306a36Sopenharmony_ci clocks = <&hclk>; 23962306a36Sopenharmony_ci }; 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci /* PLL2 is usually 864 MHz and divided into a few fixed rates */ 24262306a36Sopenharmony_ci pll2: pll2@0 { 24362306a36Sopenharmony_ci #clock-cells = <0>; 24462306a36Sopenharmony_ci compatible = "st,nomadik-pll-clock"; 24562306a36Sopenharmony_ci pll-id = <2>; 24662306a36Sopenharmony_ci clocks = <&mxtal>; 24762306a36Sopenharmony_ci }; 24862306a36Sopenharmony_ci clk216: clk216@216M { 24962306a36Sopenharmony_ci #clock-cells = <0>; 25062306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 25162306a36Sopenharmony_ci clock-div = <4>; 25262306a36Sopenharmony_ci clock-mult = <1>; 25362306a36Sopenharmony_ci clocks = <&pll2>; 25462306a36Sopenharmony_ci }; 25562306a36Sopenharmony_ci clk108: clk108@108M { 25662306a36Sopenharmony_ci #clock-cells = <0>; 25762306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 25862306a36Sopenharmony_ci clock-div = <2>; 25962306a36Sopenharmony_ci clock-mult = <1>; 26062306a36Sopenharmony_ci clocks = <&clk216>; 26162306a36Sopenharmony_ci }; 26262306a36Sopenharmony_ci clk72: clk72@72M { 26362306a36Sopenharmony_ci #clock-cells = <0>; 26462306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 26562306a36Sopenharmony_ci /* The data sheet does not say how this is derived */ 26662306a36Sopenharmony_ci clock-div = <12>; 26762306a36Sopenharmony_ci clock-mult = <1>; 26862306a36Sopenharmony_ci clocks = <&pll2>; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci clk48: clk48@48M { 27162306a36Sopenharmony_ci #clock-cells = <0>; 27262306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 27362306a36Sopenharmony_ci /* The data sheet does not say how this is derived */ 27462306a36Sopenharmony_ci clock-div = <18>; 27562306a36Sopenharmony_ci clock-mult = <1>; 27662306a36Sopenharmony_ci clocks = <&pll2>; 27762306a36Sopenharmony_ci }; 27862306a36Sopenharmony_ci clk27: clk27@27M { 27962306a36Sopenharmony_ci #clock-cells = <0>; 28062306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 28162306a36Sopenharmony_ci clock-div = <4>; 28262306a36Sopenharmony_ci clock-mult = <1>; 28362306a36Sopenharmony_ci clocks = <&clk108>; 28462306a36Sopenharmony_ci }; 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ci /* This apparently exists as well */ 28762306a36Sopenharmony_ci ulpiclk: ulpiclk@60M { 28862306a36Sopenharmony_ci #clock-cells = <0>; 28962306a36Sopenharmony_ci compatible = "fixed-clock"; 29062306a36Sopenharmony_ci clock-frequency = <60000000>; 29162306a36Sopenharmony_ci }; 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci /* 29462306a36Sopenharmony_ci * IP AMBA bus clocks, driving the bus side of the 29562306a36Sopenharmony_ci * peripheral clocking, clock gates. 29662306a36Sopenharmony_ci */ 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci hclkdma0: hclkdma0@48M { 29962306a36Sopenharmony_ci #clock-cells = <0>; 30062306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 30162306a36Sopenharmony_ci clock-id = <0>; 30262306a36Sopenharmony_ci clocks = <&hclk>; 30362306a36Sopenharmony_ci }; 30462306a36Sopenharmony_ci hclksmc: hclksmc@48M { 30562306a36Sopenharmony_ci #clock-cells = <0>; 30662306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 30762306a36Sopenharmony_ci clock-id = <1>; 30862306a36Sopenharmony_ci clocks = <&hclk>; 30962306a36Sopenharmony_ci }; 31062306a36Sopenharmony_ci hclksdram: hclksdram@48M { 31162306a36Sopenharmony_ci #clock-cells = <0>; 31262306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 31362306a36Sopenharmony_ci clock-id = <2>; 31462306a36Sopenharmony_ci clocks = <&hclk>; 31562306a36Sopenharmony_ci }; 31662306a36Sopenharmony_ci hclkdma1: hclkdma1@48M { 31762306a36Sopenharmony_ci #clock-cells = <0>; 31862306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 31962306a36Sopenharmony_ci clock-id = <3>; 32062306a36Sopenharmony_ci clocks = <&hclk>; 32162306a36Sopenharmony_ci }; 32262306a36Sopenharmony_ci hclkclcd: hclkclcd@48M { 32362306a36Sopenharmony_ci #clock-cells = <0>; 32462306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 32562306a36Sopenharmony_ci clock-id = <4>; 32662306a36Sopenharmony_ci clocks = <&hclk>; 32762306a36Sopenharmony_ci }; 32862306a36Sopenharmony_ci pclkirda: pclkirda@48M { 32962306a36Sopenharmony_ci #clock-cells = <0>; 33062306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 33162306a36Sopenharmony_ci clock-id = <5>; 33262306a36Sopenharmony_ci clocks = <&pclk>; 33362306a36Sopenharmony_ci }; 33462306a36Sopenharmony_ci pclkssp: pclkssp@48M { 33562306a36Sopenharmony_ci #clock-cells = <0>; 33662306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 33762306a36Sopenharmony_ci clock-id = <6>; 33862306a36Sopenharmony_ci clocks = <&pclk>; 33962306a36Sopenharmony_ci }; 34062306a36Sopenharmony_ci pclkuart0: pclkuart0@48M { 34162306a36Sopenharmony_ci #clock-cells = <0>; 34262306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 34362306a36Sopenharmony_ci clock-id = <7>; 34462306a36Sopenharmony_ci clocks = <&pclk>; 34562306a36Sopenharmony_ci }; 34662306a36Sopenharmony_ci pclksdi: pclksdi@48M { 34762306a36Sopenharmony_ci #clock-cells = <0>; 34862306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 34962306a36Sopenharmony_ci clock-id = <8>; 35062306a36Sopenharmony_ci clocks = <&pclk>; 35162306a36Sopenharmony_ci }; 35262306a36Sopenharmony_ci pclki2c0: pclki2c0@48M { 35362306a36Sopenharmony_ci #clock-cells = <0>; 35462306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 35562306a36Sopenharmony_ci clock-id = <9>; 35662306a36Sopenharmony_ci clocks = <&pclk>; 35762306a36Sopenharmony_ci }; 35862306a36Sopenharmony_ci pclki2c1: pclki2c1@48M { 35962306a36Sopenharmony_ci #clock-cells = <0>; 36062306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 36162306a36Sopenharmony_ci clock-id = <10>; 36262306a36Sopenharmony_ci clocks = <&pclk>; 36362306a36Sopenharmony_ci }; 36462306a36Sopenharmony_ci pclkuart1: pclkuart1@48M { 36562306a36Sopenharmony_ci #clock-cells = <0>; 36662306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 36762306a36Sopenharmony_ci clock-id = <11>; 36862306a36Sopenharmony_ci clocks = <&pclk>; 36962306a36Sopenharmony_ci }; 37062306a36Sopenharmony_ci pclkmsp0: pclkmsp0@48M { 37162306a36Sopenharmony_ci #clock-cells = <0>; 37262306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 37362306a36Sopenharmony_ci clock-id = <12>; 37462306a36Sopenharmony_ci clocks = <&pclk>; 37562306a36Sopenharmony_ci }; 37662306a36Sopenharmony_ci hclkusb: hclkusb@48M { 37762306a36Sopenharmony_ci #clock-cells = <0>; 37862306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 37962306a36Sopenharmony_ci clock-id = <13>; 38062306a36Sopenharmony_ci clocks = <&hclk>; 38162306a36Sopenharmony_ci }; 38262306a36Sopenharmony_ci hclkdif: hclkdif@48M { 38362306a36Sopenharmony_ci #clock-cells = <0>; 38462306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 38562306a36Sopenharmony_ci clock-id = <14>; 38662306a36Sopenharmony_ci clocks = <&hclk>; 38762306a36Sopenharmony_ci }; 38862306a36Sopenharmony_ci hclksaa: hclksaa@48M { 38962306a36Sopenharmony_ci #clock-cells = <0>; 39062306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 39162306a36Sopenharmony_ci clock-id = <15>; 39262306a36Sopenharmony_ci clocks = <&hclk>; 39362306a36Sopenharmony_ci }; 39462306a36Sopenharmony_ci hclksva: hclksva@48M { 39562306a36Sopenharmony_ci #clock-cells = <0>; 39662306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 39762306a36Sopenharmony_ci clock-id = <16>; 39862306a36Sopenharmony_ci clocks = <&hclk>; 39962306a36Sopenharmony_ci }; 40062306a36Sopenharmony_ci pclkhsi: pclkhsi@48M { 40162306a36Sopenharmony_ci #clock-cells = <0>; 40262306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 40362306a36Sopenharmony_ci clock-id = <17>; 40462306a36Sopenharmony_ci clocks = <&pclk>; 40562306a36Sopenharmony_ci }; 40662306a36Sopenharmony_ci pclkxti: pclkxti@48M { 40762306a36Sopenharmony_ci #clock-cells = <0>; 40862306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 40962306a36Sopenharmony_ci clock-id = <18>; 41062306a36Sopenharmony_ci clocks = <&pclk>; 41162306a36Sopenharmony_ci }; 41262306a36Sopenharmony_ci pclkuart2: pclkuart2@48M { 41362306a36Sopenharmony_ci #clock-cells = <0>; 41462306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 41562306a36Sopenharmony_ci clock-id = <19>; 41662306a36Sopenharmony_ci clocks = <&pclk>; 41762306a36Sopenharmony_ci }; 41862306a36Sopenharmony_ci pclkmsp1: pclkmsp1@48M { 41962306a36Sopenharmony_ci #clock-cells = <0>; 42062306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 42162306a36Sopenharmony_ci clock-id = <20>; 42262306a36Sopenharmony_ci clocks = <&pclk>; 42362306a36Sopenharmony_ci }; 42462306a36Sopenharmony_ci pclkmsp2: pclkmsp2@48M { 42562306a36Sopenharmony_ci #clock-cells = <0>; 42662306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 42762306a36Sopenharmony_ci clock-id = <21>; 42862306a36Sopenharmony_ci clocks = <&pclk>; 42962306a36Sopenharmony_ci }; 43062306a36Sopenharmony_ci pclkowm: pclkowm@48M { 43162306a36Sopenharmony_ci #clock-cells = <0>; 43262306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 43362306a36Sopenharmony_ci clock-id = <22>; 43462306a36Sopenharmony_ci clocks = <&pclk>; 43562306a36Sopenharmony_ci }; 43662306a36Sopenharmony_ci hclkhpi: hclkhpi@48M { 43762306a36Sopenharmony_ci #clock-cells = <0>; 43862306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 43962306a36Sopenharmony_ci clock-id = <23>; 44062306a36Sopenharmony_ci clocks = <&hclk>; 44162306a36Sopenharmony_ci }; 44262306a36Sopenharmony_ci pclkske: pclkske@48M { 44362306a36Sopenharmony_ci #clock-cells = <0>; 44462306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 44562306a36Sopenharmony_ci clock-id = <24>; 44662306a36Sopenharmony_ci clocks = <&pclk>; 44762306a36Sopenharmony_ci }; 44862306a36Sopenharmony_ci pclkhsem: pclkhsem@48M { 44962306a36Sopenharmony_ci #clock-cells = <0>; 45062306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 45162306a36Sopenharmony_ci clock-id = <25>; 45262306a36Sopenharmony_ci clocks = <&pclk>; 45362306a36Sopenharmony_ci }; 45462306a36Sopenharmony_ci hclk3d: hclk3d@48M { 45562306a36Sopenharmony_ci #clock-cells = <0>; 45662306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 45762306a36Sopenharmony_ci clock-id = <26>; 45862306a36Sopenharmony_ci clocks = <&hclk>; 45962306a36Sopenharmony_ci }; 46062306a36Sopenharmony_ci hclkhash: hclkhash@48M { 46162306a36Sopenharmony_ci #clock-cells = <0>; 46262306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 46362306a36Sopenharmony_ci clock-id = <27>; 46462306a36Sopenharmony_ci clocks = <&hclk>; 46562306a36Sopenharmony_ci }; 46662306a36Sopenharmony_ci hclkcryp: hclkcryp@48M { 46762306a36Sopenharmony_ci #clock-cells = <0>; 46862306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 46962306a36Sopenharmony_ci clock-id = <28>; 47062306a36Sopenharmony_ci clocks = <&hclk>; 47162306a36Sopenharmony_ci }; 47262306a36Sopenharmony_ci pclkmshc: pclkmshc@48M { 47362306a36Sopenharmony_ci #clock-cells = <0>; 47462306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 47562306a36Sopenharmony_ci clock-id = <29>; 47662306a36Sopenharmony_ci clocks = <&pclk>; 47762306a36Sopenharmony_ci }; 47862306a36Sopenharmony_ci hclkusbm: hclkusbm@48M { 47962306a36Sopenharmony_ci #clock-cells = <0>; 48062306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 48162306a36Sopenharmony_ci clock-id = <30>; 48262306a36Sopenharmony_ci clocks = <&hclk>; 48362306a36Sopenharmony_ci }; 48462306a36Sopenharmony_ci hclkrng: hclkrng@48M { 48562306a36Sopenharmony_ci #clock-cells = <0>; 48662306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 48762306a36Sopenharmony_ci clock-id = <31>; 48862306a36Sopenharmony_ci clocks = <&hclk>; 48962306a36Sopenharmony_ci }; 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_ci /* IP kernel clocks */ 49262306a36Sopenharmony_ci clcdclk: clcdclk@0 { 49362306a36Sopenharmony_ci #clock-cells = <0>; 49462306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 49562306a36Sopenharmony_ci clock-id = <36>; 49662306a36Sopenharmony_ci clocks = <&clk72 &clk48>; 49762306a36Sopenharmony_ci }; 49862306a36Sopenharmony_ci irdaclk: irdaclk@48M { 49962306a36Sopenharmony_ci #clock-cells = <0>; 50062306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 50162306a36Sopenharmony_ci clock-id = <37>; 50262306a36Sopenharmony_ci clocks = <&clk48>; 50362306a36Sopenharmony_ci }; 50462306a36Sopenharmony_ci sspiclk: sspiclk@48M { 50562306a36Sopenharmony_ci #clock-cells = <0>; 50662306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 50762306a36Sopenharmony_ci clock-id = <38>; 50862306a36Sopenharmony_ci clocks = <&clk48>; 50962306a36Sopenharmony_ci }; 51062306a36Sopenharmony_ci uart0clk: uart0clk@48M { 51162306a36Sopenharmony_ci #clock-cells = <0>; 51262306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 51362306a36Sopenharmony_ci clock-id = <39>; 51462306a36Sopenharmony_ci clocks = <&clk48>; 51562306a36Sopenharmony_ci }; 51662306a36Sopenharmony_ci sdiclk: sdiclk@48M { 51762306a36Sopenharmony_ci /* Also called MCCLK in some documents */ 51862306a36Sopenharmony_ci #clock-cells = <0>; 51962306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 52062306a36Sopenharmony_ci clock-id = <40>; 52162306a36Sopenharmony_ci clocks = <&clk48>; 52262306a36Sopenharmony_ci }; 52362306a36Sopenharmony_ci i2c0clk: i2c0clk@48M { 52462306a36Sopenharmony_ci #clock-cells = <0>; 52562306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 52662306a36Sopenharmony_ci clock-id = <41>; 52762306a36Sopenharmony_ci clocks = <&clk48>; 52862306a36Sopenharmony_ci }; 52962306a36Sopenharmony_ci i2c1clk: i2c1clk@48M { 53062306a36Sopenharmony_ci #clock-cells = <0>; 53162306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 53262306a36Sopenharmony_ci clock-id = <42>; 53362306a36Sopenharmony_ci clocks = <&clk48>; 53462306a36Sopenharmony_ci }; 53562306a36Sopenharmony_ci uart1clk: uart1clk@48M { 53662306a36Sopenharmony_ci #clock-cells = <0>; 53762306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 53862306a36Sopenharmony_ci clock-id = <43>; 53962306a36Sopenharmony_ci clocks = <&clk48>; 54062306a36Sopenharmony_ci }; 54162306a36Sopenharmony_ci mspclk0: mspclk0@48M { 54262306a36Sopenharmony_ci #clock-cells = <0>; 54362306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 54462306a36Sopenharmony_ci clock-id = <44>; 54562306a36Sopenharmony_ci clocks = <&clk48>; 54662306a36Sopenharmony_ci }; 54762306a36Sopenharmony_ci usbclk: usbclk@48M { 54862306a36Sopenharmony_ci #clock-cells = <0>; 54962306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 55062306a36Sopenharmony_ci clock-id = <45>; 55162306a36Sopenharmony_ci clocks = <&clk48>; /* 48 MHz not ULPI */ 55262306a36Sopenharmony_ci }; 55362306a36Sopenharmony_ci difclk: difclk@72M { 55462306a36Sopenharmony_ci #clock-cells = <0>; 55562306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 55662306a36Sopenharmony_ci clock-id = <46>; 55762306a36Sopenharmony_ci clocks = <&clk72>; 55862306a36Sopenharmony_ci }; 55962306a36Sopenharmony_ci ipi2cclk: ipi2cclk@48M { 56062306a36Sopenharmony_ci #clock-cells = <0>; 56162306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 56262306a36Sopenharmony_ci clock-id = <47>; 56362306a36Sopenharmony_ci clocks = <&clk48>; /* Guess */ 56462306a36Sopenharmony_ci }; 56562306a36Sopenharmony_ci ipbmcclk: ipbmcclk@48M { 56662306a36Sopenharmony_ci #clock-cells = <0>; 56762306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 56862306a36Sopenharmony_ci clock-id = <48>; 56962306a36Sopenharmony_ci clocks = <&clk48>; /* Guess */ 57062306a36Sopenharmony_ci }; 57162306a36Sopenharmony_ci hsiclkrx: hsiclkrx@216M { 57262306a36Sopenharmony_ci #clock-cells = <0>; 57362306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 57462306a36Sopenharmony_ci clock-id = <49>; 57562306a36Sopenharmony_ci clocks = <&clk216>; 57662306a36Sopenharmony_ci }; 57762306a36Sopenharmony_ci hsiclktx: hsiclktx@108M { 57862306a36Sopenharmony_ci #clock-cells = <0>; 57962306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 58062306a36Sopenharmony_ci clock-id = <50>; 58162306a36Sopenharmony_ci clocks = <&clk108>; 58262306a36Sopenharmony_ci }; 58362306a36Sopenharmony_ci uart2clk: uart2clk@48M { 58462306a36Sopenharmony_ci #clock-cells = <0>; 58562306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 58662306a36Sopenharmony_ci clock-id = <51>; 58762306a36Sopenharmony_ci clocks = <&clk48>; 58862306a36Sopenharmony_ci }; 58962306a36Sopenharmony_ci mspclk1: mspclk1@48M { 59062306a36Sopenharmony_ci #clock-cells = <0>; 59162306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 59262306a36Sopenharmony_ci clock-id = <52>; 59362306a36Sopenharmony_ci clocks = <&clk48>; 59462306a36Sopenharmony_ci }; 59562306a36Sopenharmony_ci mspclk2: mspclk2@48M { 59662306a36Sopenharmony_ci #clock-cells = <0>; 59762306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 59862306a36Sopenharmony_ci clock-id = <53>; 59962306a36Sopenharmony_ci clocks = <&clk48>; 60062306a36Sopenharmony_ci }; 60162306a36Sopenharmony_ci owmclk: owmclk@48M { 60262306a36Sopenharmony_ci #clock-cells = <0>; 60362306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 60462306a36Sopenharmony_ci clock-id = <54>; 60562306a36Sopenharmony_ci clocks = <&clk48>; /* Guess */ 60662306a36Sopenharmony_ci }; 60762306a36Sopenharmony_ci skeclk: skeclk@48M { 60862306a36Sopenharmony_ci #clock-cells = <0>; 60962306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 61062306a36Sopenharmony_ci clock-id = <56>; 61162306a36Sopenharmony_ci clocks = <&clk48>; /* Guess */ 61262306a36Sopenharmony_ci }; 61362306a36Sopenharmony_ci x3dclk: x3dclk@48M { 61462306a36Sopenharmony_ci #clock-cells = <0>; 61562306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 61662306a36Sopenharmony_ci clock-id = <58>; 61762306a36Sopenharmony_ci clocks = <&clk48>; /* Guess */ 61862306a36Sopenharmony_ci }; 61962306a36Sopenharmony_ci pclkmsp3: pclkmsp3@48M { 62062306a36Sopenharmony_ci #clock-cells = <0>; 62162306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 62262306a36Sopenharmony_ci clock-id = <59>; 62362306a36Sopenharmony_ci clocks = <&pclk>; 62462306a36Sopenharmony_ci }; 62562306a36Sopenharmony_ci mspclk3: mspclk3@48M { 62662306a36Sopenharmony_ci #clock-cells = <0>; 62762306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 62862306a36Sopenharmony_ci clock-id = <60>; 62962306a36Sopenharmony_ci clocks = <&clk48>; 63062306a36Sopenharmony_ci }; 63162306a36Sopenharmony_ci mshcclk: mshcclk@48M { 63262306a36Sopenharmony_ci #clock-cells = <0>; 63362306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 63462306a36Sopenharmony_ci clock-id = <61>; 63562306a36Sopenharmony_ci clocks = <&clk48>; /* Guess */ 63662306a36Sopenharmony_ci }; 63762306a36Sopenharmony_ci usbmclk: usbmclk@48M { 63862306a36Sopenharmony_ci #clock-cells = <0>; 63962306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 64062306a36Sopenharmony_ci clock-id = <62>; 64162306a36Sopenharmony_ci /* Stated as "48 MHz not ULPI clock" */ 64262306a36Sopenharmony_ci clocks = <&clk48>; 64362306a36Sopenharmony_ci }; 64462306a36Sopenharmony_ci rngcclk: rngcclk@48M { 64562306a36Sopenharmony_ci #clock-cells = <0>; 64662306a36Sopenharmony_ci compatible = "st,nomadik-src-clock"; 64762306a36Sopenharmony_ci clock-id = <63>; 64862306a36Sopenharmony_ci clocks = <&clk48>; /* Guess */ 64962306a36Sopenharmony_ci }; 65062306a36Sopenharmony_ci }; 65162306a36Sopenharmony_ci 65262306a36Sopenharmony_ci /* A NAND flash of 128 MiB */ 65362306a36Sopenharmony_ci fsmc: flash@40000000 { 65462306a36Sopenharmony_ci compatible = "stericsson,fsmc-nand"; 65562306a36Sopenharmony_ci #address-cells = <1>; 65662306a36Sopenharmony_ci #size-cells = <1>; 65762306a36Sopenharmony_ci reg = <0x10100000 0x1000>, /* FSMC Register*/ 65862306a36Sopenharmony_ci <0x40000000 0x2000>, /* NAND Base DATA */ 65962306a36Sopenharmony_ci <0x41000000 0x2000>, /* NAND Base ADDR */ 66062306a36Sopenharmony_ci <0x40800000 0x2000>; /* NAND Base CMD */ 66162306a36Sopenharmony_ci reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; 66262306a36Sopenharmony_ci clocks = <&hclksmc>; 66362306a36Sopenharmony_ci status = "okay"; 66462306a36Sopenharmony_ci 66562306a36Sopenharmony_ci partition@0 { 66662306a36Sopenharmony_ci label = "X-Loader(NAND)"; 66762306a36Sopenharmony_ci reg = <0x0 0x40000>; 66862306a36Sopenharmony_ci }; 66962306a36Sopenharmony_ci partition@40000 { 67062306a36Sopenharmony_ci label = "MemInit(NAND)"; 67162306a36Sopenharmony_ci reg = <0x40000 0x40000>; 67262306a36Sopenharmony_ci }; 67362306a36Sopenharmony_ci partition@80000 { 67462306a36Sopenharmony_ci label = "BootLoader(NAND)"; 67562306a36Sopenharmony_ci reg = <0x80000 0x200000>; 67662306a36Sopenharmony_ci }; 67762306a36Sopenharmony_ci partition@280000 { 67862306a36Sopenharmony_ci label = "Kernel zImage(NAND)"; 67962306a36Sopenharmony_ci reg = <0x280000 0x300000>; 68062306a36Sopenharmony_ci }; 68162306a36Sopenharmony_ci partition@580000 { 68262306a36Sopenharmony_ci label = "Root Filesystem(NAND)"; 68362306a36Sopenharmony_ci reg = <0x580000 0x1600000>; 68462306a36Sopenharmony_ci }; 68562306a36Sopenharmony_ci partition@1b80000 { 68662306a36Sopenharmony_ci label = "User Filesystem(NAND)"; 68762306a36Sopenharmony_ci reg = <0x1b80000 0x6480000>; 68862306a36Sopenharmony_ci }; 68962306a36Sopenharmony_ci }; 69062306a36Sopenharmony_ci 69162306a36Sopenharmony_ci /* I2C0 connected to the STw4811 power management chip */ 69262306a36Sopenharmony_ci i2c0 { 69362306a36Sopenharmony_ci compatible = "st,nomadik-i2c", "arm,primecell"; 69462306a36Sopenharmony_ci reg = <0x101f8000 0x1000>; 69562306a36Sopenharmony_ci interrupt-parent = <&vica>; 69662306a36Sopenharmony_ci interrupts = <20>; 69762306a36Sopenharmony_ci clock-frequency = <100000>; 69862306a36Sopenharmony_ci #address-cells = <1>; 69962306a36Sopenharmony_ci #size-cells = <0>; 70062306a36Sopenharmony_ci clocks = <&i2c0clk>, <&pclki2c0>; 70162306a36Sopenharmony_ci clock-names = "mclk", "apb_pclk"; 70262306a36Sopenharmony_ci pinctrl-names = "default"; 70362306a36Sopenharmony_ci pinctrl-0 = <&i2c0_default_mux>, <&i2c0_default_mode>; 70462306a36Sopenharmony_ci 70562306a36Sopenharmony_ci stw4811@2d { 70662306a36Sopenharmony_ci compatible = "st,stw4811"; 70762306a36Sopenharmony_ci reg = <0x2d>; 70862306a36Sopenharmony_ci vmmc_regulator: vmmc { 70962306a36Sopenharmony_ci compatible = "st,stw481x-vmmc"; 71062306a36Sopenharmony_ci regulator-name = "VMMC"; 71162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 71262306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 71362306a36Sopenharmony_ci }; 71462306a36Sopenharmony_ci }; 71562306a36Sopenharmony_ci }; 71662306a36Sopenharmony_ci 71762306a36Sopenharmony_ci /* I2C1 connected to various sensors */ 71862306a36Sopenharmony_ci i2c1 { 71962306a36Sopenharmony_ci compatible = "st,nomadik-i2c", "arm,primecell"; 72062306a36Sopenharmony_ci reg = <0x101f7000 0x1000>; 72162306a36Sopenharmony_ci interrupt-parent = <&vica>; 72262306a36Sopenharmony_ci interrupts = <21>; 72362306a36Sopenharmony_ci clock-frequency = <100000>; 72462306a36Sopenharmony_ci #address-cells = <1>; 72562306a36Sopenharmony_ci #size-cells = <0>; 72662306a36Sopenharmony_ci clocks = <&i2c1clk>, <&pclki2c1>; 72762306a36Sopenharmony_ci clock-names = "mclk", "apb_pclk"; 72862306a36Sopenharmony_ci pinctrl-names = "default"; 72962306a36Sopenharmony_ci pinctrl-0 = <&i2c1_default_mux>, <&i2c1_default_mode>; 73062306a36Sopenharmony_ci 73162306a36Sopenharmony_ci camera@2d { 73262306a36Sopenharmony_ci compatible = "st,camera"; 73362306a36Sopenharmony_ci reg = <0x10>; 73462306a36Sopenharmony_ci }; 73562306a36Sopenharmony_ci stw5095@1a { 73662306a36Sopenharmony_ci compatible = "st,stw5095"; 73762306a36Sopenharmony_ci reg = <0x1a>; 73862306a36Sopenharmony_ci }; 73962306a36Sopenharmony_ci }; 74062306a36Sopenharmony_ci 74162306a36Sopenharmony_ci amba { 74262306a36Sopenharmony_ci compatible = "simple-bus"; 74362306a36Sopenharmony_ci #address-cells = <1>; 74462306a36Sopenharmony_ci #size-cells = <1>; 74562306a36Sopenharmony_ci ranges; 74662306a36Sopenharmony_ci 74762306a36Sopenharmony_ci clcd@10120000 { 74862306a36Sopenharmony_ci compatible = "arm,pl110", "arm,primecell"; 74962306a36Sopenharmony_ci reg = <0x10120000 0x1000>; 75062306a36Sopenharmony_ci interrupt-names = "combined"; 75162306a36Sopenharmony_ci interrupts = <14>; 75262306a36Sopenharmony_ci interrupt-parent = <&vica>; 75362306a36Sopenharmony_ci clocks = <&clcdclk>, <&hclkclcd>; 75462306a36Sopenharmony_ci clock-names = "clcdclk", "apb_pclk"; 75562306a36Sopenharmony_ci status = "disabled"; 75662306a36Sopenharmony_ci }; 75762306a36Sopenharmony_ci 75862306a36Sopenharmony_ci vica: interrupt-controller@10140000 { 75962306a36Sopenharmony_ci compatible = "arm,versatile-vic"; 76062306a36Sopenharmony_ci interrupt-controller; 76162306a36Sopenharmony_ci #interrupt-cells = <1>; 76262306a36Sopenharmony_ci reg = <0x10140000 0x20>; 76362306a36Sopenharmony_ci }; 76462306a36Sopenharmony_ci 76562306a36Sopenharmony_ci vicb: interrupt-controller@10140020 { 76662306a36Sopenharmony_ci compatible = "arm,versatile-vic"; 76762306a36Sopenharmony_ci interrupt-controller; 76862306a36Sopenharmony_ci #interrupt-cells = <1>; 76962306a36Sopenharmony_ci reg = <0x10140020 0x20>; 77062306a36Sopenharmony_ci }; 77162306a36Sopenharmony_ci 77262306a36Sopenharmony_ci uart0: serial@101fd000 { 77362306a36Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 77462306a36Sopenharmony_ci reg = <0x101fd000 0x1000>; 77562306a36Sopenharmony_ci interrupt-parent = <&vica>; 77662306a36Sopenharmony_ci interrupts = <12>; 77762306a36Sopenharmony_ci clocks = <&uart0clk>, <&pclkuart0>; 77862306a36Sopenharmony_ci clock-names = "uartclk", "apb_pclk"; 77962306a36Sopenharmony_ci status = "disabled"; 78062306a36Sopenharmony_ci dmas = <&dmac0 14 1>, 78162306a36Sopenharmony_ci <&dmac0 15 1>; 78262306a36Sopenharmony_ci dma-names = "rx", "tx"; 78362306a36Sopenharmony_ci }; 78462306a36Sopenharmony_ci 78562306a36Sopenharmony_ci uart1: serial@101fb000 { 78662306a36Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 78762306a36Sopenharmony_ci reg = <0x101fb000 0x1000>; 78862306a36Sopenharmony_ci interrupt-parent = <&vica>; 78962306a36Sopenharmony_ci interrupts = <17>; 79062306a36Sopenharmony_ci clocks = <&uart1clk>, <&pclkuart1>; 79162306a36Sopenharmony_ci clock-names = "uartclk", "apb_pclk"; 79262306a36Sopenharmony_ci pinctrl-names = "default"; 79362306a36Sopenharmony_ci pinctrl-0 = <&uart1_default_mux>; 79462306a36Sopenharmony_ci dmas = <&dmac1 22 1>, 79562306a36Sopenharmony_ci <&dmac1 23 1>; 79662306a36Sopenharmony_ci dma-names = "rx", "tx"; 79762306a36Sopenharmony_ci }; 79862306a36Sopenharmony_ci 79962306a36Sopenharmony_ci uart2: serial@101f2000 { 80062306a36Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 80162306a36Sopenharmony_ci reg = <0x101f2000 0x1000>; 80262306a36Sopenharmony_ci interrupt-parent = <&vica>; 80362306a36Sopenharmony_ci interrupts = <28>; 80462306a36Sopenharmony_ci clocks = <&uart2clk>, <&pclkuart2>; 80562306a36Sopenharmony_ci clock-names = "uartclk", "apb_pclk"; 80662306a36Sopenharmony_ci status = "disabled"; 80762306a36Sopenharmony_ci dmas = <&dmac1 30 1>, 80862306a36Sopenharmony_ci <&dmac1 31 1>; 80962306a36Sopenharmony_ci dma-names = "rx", "tx"; 81062306a36Sopenharmony_ci }; 81162306a36Sopenharmony_ci 81262306a36Sopenharmony_ci rng: rng@101b0000 { 81362306a36Sopenharmony_ci compatible = "arm,primecell"; 81462306a36Sopenharmony_ci reg = <0x101b0000 0x1000>; 81562306a36Sopenharmony_ci clocks = <&rngcclk>, <&hclkrng>; 81662306a36Sopenharmony_ci clock-names = "rng", "apb_pclk"; 81762306a36Sopenharmony_ci }; 81862306a36Sopenharmony_ci 81962306a36Sopenharmony_ci rtc: rtc@101e8000 { 82062306a36Sopenharmony_ci compatible = "arm,pl031", "arm,primecell"; 82162306a36Sopenharmony_ci reg = <0x101e8000 0x1000>; 82262306a36Sopenharmony_ci clocks = <&pclk>; 82362306a36Sopenharmony_ci clock-names = "apb_pclk"; 82462306a36Sopenharmony_ci interrupt-parent = <&vica>; 82562306a36Sopenharmony_ci interrupts = <10>; 82662306a36Sopenharmony_ci }; 82762306a36Sopenharmony_ci 82862306a36Sopenharmony_ci mmcsd: mmc@101f6000 { 82962306a36Sopenharmony_ci compatible = "arm,pl18x", "arm,primecell"; 83062306a36Sopenharmony_ci reg = <0x101f6000 0x1000>; 83162306a36Sopenharmony_ci clocks = <&sdiclk>, <&pclksdi>; 83262306a36Sopenharmony_ci clock-names = "mclk", "apb_pclk"; 83362306a36Sopenharmony_ci interrupt-parent = <&vica>; 83462306a36Sopenharmony_ci interrupts = <22>; 83562306a36Sopenharmony_ci max-frequency = <400000>; 83662306a36Sopenharmony_ci bus-width = <4>; 83762306a36Sopenharmony_ci cap-mmc-highspeed; 83862306a36Sopenharmony_ci cap-sd-highspeed; 83962306a36Sopenharmony_ci full-pwr-cycle; 84062306a36Sopenharmony_ci /* 84162306a36Sopenharmony_ci * The STw4811 circuit used with the Nomadik strictly 84262306a36Sopenharmony_ci * requires that all of these signal direction pins be 84362306a36Sopenharmony_ci * routed and used for its 4-bit levelshifter. 84462306a36Sopenharmony_ci */ 84562306a36Sopenharmony_ci st,sig-dir-dat0; 84662306a36Sopenharmony_ci st,sig-dir-dat2; 84762306a36Sopenharmony_ci st,sig-dir-dat31; 84862306a36Sopenharmony_ci st,sig-dir-cmd; 84962306a36Sopenharmony_ci st,sig-pin-fbclk; 85062306a36Sopenharmony_ci pinctrl-names = "default"; 85162306a36Sopenharmony_ci pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>; 85262306a36Sopenharmony_ci vmmc-supply = <&vmmc_regulator>; 85362306a36Sopenharmony_ci }; 85462306a36Sopenharmony_ci 85562306a36Sopenharmony_ci dmac0: dma-controller@10130000 { 85662306a36Sopenharmony_ci compatible = "arm,pl080", "arm,primecell"; 85762306a36Sopenharmony_ci reg = <0x10130000 0x1000>; 85862306a36Sopenharmony_ci interrupt-parent = <&vica>; 85962306a36Sopenharmony_ci interrupts = <15>; 86062306a36Sopenharmony_ci clocks = <&hclkdma0>; 86162306a36Sopenharmony_ci clock-names = "apb_pclk"; 86262306a36Sopenharmony_ci lli-bus-interface-ahb1; 86362306a36Sopenharmony_ci lli-bus-interface-ahb2; 86462306a36Sopenharmony_ci mem-bus-interface-ahb2; 86562306a36Sopenharmony_ci memcpy-burst-size = <256>; 86662306a36Sopenharmony_ci memcpy-bus-width = <32>; 86762306a36Sopenharmony_ci #dma-cells = <2>; 86862306a36Sopenharmony_ci }; 86962306a36Sopenharmony_ci dmac1: dma-controller@10150000 { 87062306a36Sopenharmony_ci compatible = "arm,pl080", "arm,primecell"; 87162306a36Sopenharmony_ci reg = <0x10150000 0x1000>; 87262306a36Sopenharmony_ci interrupt-parent = <&vica>; 87362306a36Sopenharmony_ci interrupts = <13>; 87462306a36Sopenharmony_ci clocks = <&hclkdma1>; 87562306a36Sopenharmony_ci clock-names = "apb_pclk"; 87662306a36Sopenharmony_ci lli-bus-interface-ahb1; 87762306a36Sopenharmony_ci lli-bus-interface-ahb2; 87862306a36Sopenharmony_ci mem-bus-interface-ahb2; 87962306a36Sopenharmony_ci memcpy-burst-size = <256>; 88062306a36Sopenharmony_ci memcpy-bus-width = <32>; 88162306a36Sopenharmony_ci #dma-cells = <2>; 88262306a36Sopenharmony_ci }; 88362306a36Sopenharmony_ci }; 88462306a36Sopenharmony_ci}; 885