162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci#include <dt-bindings/bus/ti-sysc.h> 462306a36Sopenharmony_ci#include <dt-bindings/clock/dm816.h> 562306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 662306a36Sopenharmony_ci#include <dt-bindings/pinctrl/omap.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/ { 962306a36Sopenharmony_ci compatible = "ti,dm816"; 1062306a36Sopenharmony_ci interrupt-parent = <&intc>; 1162306a36Sopenharmony_ci #address-cells = <1>; 1262306a36Sopenharmony_ci #size-cells = <1>; 1362306a36Sopenharmony_ci chosen { }; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci aliases { 1662306a36Sopenharmony_ci i2c0 = &i2c1; 1762306a36Sopenharmony_ci i2c1 = &i2c2; 1862306a36Sopenharmony_ci serial0 = &uart1; 1962306a36Sopenharmony_ci serial1 = &uart2; 2062306a36Sopenharmony_ci serial2 = &uart3; 2162306a36Sopenharmony_ci ethernet0 = ð0; 2262306a36Sopenharmony_ci ethernet1 = ð1; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci cpus { 2662306a36Sopenharmony_ci #address-cells = <1>; 2762306a36Sopenharmony_ci #size-cells = <0>; 2862306a36Sopenharmony_ci cpu@0 { 2962306a36Sopenharmony_ci compatible = "arm,cortex-a8"; 3062306a36Sopenharmony_ci device_type = "cpu"; 3162306a36Sopenharmony_ci reg = <0>; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci pmu { 3662306a36Sopenharmony_ci compatible = "arm,cortex-a8-pmu"; 3762306a36Sopenharmony_ci interrupts = <3>; 3862306a36Sopenharmony_ci }; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci /* 4162306a36Sopenharmony_ci * The soc node represents the soc top level view. It is used for IPs 4262306a36Sopenharmony_ci * that are not memory mapped in the MPU view or for the MPU itself. 4362306a36Sopenharmony_ci */ 4462306a36Sopenharmony_ci soc { 4562306a36Sopenharmony_ci compatible = "ti,omap-infra"; 4662306a36Sopenharmony_ci mpu { 4762306a36Sopenharmony_ci compatible = "ti,omap3-mpu"; 4862306a36Sopenharmony_ci ti,hwmods = "mpu"; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci /* 5362306a36Sopenharmony_ci * XXX: Use a flat representation of the dm816x interconnect. 5462306a36Sopenharmony_ci * The real dm816x interconnect network is quite complex. Since 5562306a36Sopenharmony_ci * it will not bring real advantage to represent that in DT 5662306a36Sopenharmony_ci * for the moment, just use a fake OCP bus entry to represent 5762306a36Sopenharmony_ci * the whole bus hierarchy. 5862306a36Sopenharmony_ci */ 5962306a36Sopenharmony_ci ocp { 6062306a36Sopenharmony_ci compatible = "simple-bus"; 6162306a36Sopenharmony_ci reg = <0x44000000 0x10000>; 6262306a36Sopenharmony_ci interrupts = <9 10>; 6362306a36Sopenharmony_ci #address-cells = <1>; 6462306a36Sopenharmony_ci #size-cells = <1>; 6562306a36Sopenharmony_ci ranges; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci prcm: prcm@48180000 { 6862306a36Sopenharmony_ci compatible = "ti,dm816-prcm", "simple-bus"; 6962306a36Sopenharmony_ci reg = <0x48180000 0x4000>; 7062306a36Sopenharmony_ci #address-cells = <1>; 7162306a36Sopenharmony_ci #size-cells = <1>; 7262306a36Sopenharmony_ci ranges = <0 0x48180000 0x4000>; 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci prcm_clocks: clocks { 7562306a36Sopenharmony_ci #address-cells = <1>; 7662306a36Sopenharmony_ci #size-cells = <0>; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci prcm_clockdomains: clockdomains { 8062306a36Sopenharmony_ci }; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci scrm: scrm@48140000 { 8462306a36Sopenharmony_ci compatible = "ti,dm816-scrm", "simple-bus"; 8562306a36Sopenharmony_ci reg = <0x48140000 0x21000>; 8662306a36Sopenharmony_ci #address-cells = <1>; 8762306a36Sopenharmony_ci #size-cells = <1>; 8862306a36Sopenharmony_ci #pinctrl-cells = <1>; 8962306a36Sopenharmony_ci ranges = <0 0x48140000 0x21000>; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci dm816x_pinmux: pinmux@800 { 9262306a36Sopenharmony_ci compatible = "pinctrl-single"; 9362306a36Sopenharmony_ci reg = <0x800 0x50a>; 9462306a36Sopenharmony_ci #address-cells = <1>; 9562306a36Sopenharmony_ci #size-cells = <0>; 9662306a36Sopenharmony_ci #pinctrl-cells = <1>; 9762306a36Sopenharmony_ci pinctrl-single,register-width = <16>; 9862306a36Sopenharmony_ci pinctrl-single,function-mask = <0xf>; 9962306a36Sopenharmony_ci }; 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci /* Device Configuration Registers */ 10262306a36Sopenharmony_ci scm_conf: syscon@600 { 10362306a36Sopenharmony_ci compatible = "syscon", "simple-bus"; 10462306a36Sopenharmony_ci reg = <0x600 0x110>; 10562306a36Sopenharmony_ci #address-cells = <1>; 10662306a36Sopenharmony_ci #size-cells = <1>; 10762306a36Sopenharmony_ci ranges = <0 0x600 0x110>; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci usb_phy0: usb-phy@20 { 11062306a36Sopenharmony_ci compatible = "ti,dm8168-usb-phy"; 11162306a36Sopenharmony_ci reg = <0x20 0x8>; 11262306a36Sopenharmony_ci reg-names = "phy"; 11362306a36Sopenharmony_ci clocks = <&main_fapll 6>; 11462306a36Sopenharmony_ci clock-names = "refclk"; 11562306a36Sopenharmony_ci #phy-cells = <0>; 11662306a36Sopenharmony_ci syscon = <&scm_conf>; 11762306a36Sopenharmony_ci }; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci usb_phy1: usb-phy@28 { 12062306a36Sopenharmony_ci compatible = "ti,dm8168-usb-phy"; 12162306a36Sopenharmony_ci reg = <0x28 0x8>; 12262306a36Sopenharmony_ci reg-names = "phy"; 12362306a36Sopenharmony_ci clocks = <&main_fapll 6>; 12462306a36Sopenharmony_ci clock-names = "refclk"; 12562306a36Sopenharmony_ci #phy-cells = <0>; 12662306a36Sopenharmony_ci syscon = <&scm_conf>; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci scrm_clocks: clocks { 13162306a36Sopenharmony_ci #address-cells = <1>; 13262306a36Sopenharmony_ci #size-cells = <0>; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci scrm_clockdomains: clockdomains { 13662306a36Sopenharmony_ci }; 13762306a36Sopenharmony_ci }; 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci target-module@49000000 { 14062306a36Sopenharmony_ci compatible = "ti,sysc-omap4", "ti,sysc"; 14162306a36Sopenharmony_ci reg = <0x49000000 0x4>; 14262306a36Sopenharmony_ci reg-names = "rev"; 14362306a36Sopenharmony_ci clocks = <&alwon_clkctrl DM816_TPCC_CLKCTRL 0>; 14462306a36Sopenharmony_ci clock-names = "fck"; 14562306a36Sopenharmony_ci #address-cells = <1>; 14662306a36Sopenharmony_ci #size-cells = <1>; 14762306a36Sopenharmony_ci ranges = <0x0 0x49000000 0x10000>; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci edma: dma@0 { 15062306a36Sopenharmony_ci compatible = "ti,edma3-tpcc"; 15162306a36Sopenharmony_ci reg = <0 0x10000>; 15262306a36Sopenharmony_ci reg-names = "edma3_cc"; 15362306a36Sopenharmony_ci interrupts = <12 13 14>; 15462306a36Sopenharmony_ci interrupt-names = "edma3_ccint", "edma3_mperr", 15562306a36Sopenharmony_ci "edma3_ccerrint"; 15662306a36Sopenharmony_ci dma-requests = <64>; 15762306a36Sopenharmony_ci #dma-cells = <2>; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 16062306a36Sopenharmony_ci <&edma_tptc2 3>, <&edma_tptc3 0>; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci ti,edma-memcpy-channels = <20 21>; 16362306a36Sopenharmony_ci }; 16462306a36Sopenharmony_ci }; 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci target-module@49800000 { 16762306a36Sopenharmony_ci compatible = "ti,sysc-omap4", "ti,sysc"; 16862306a36Sopenharmony_ci reg = <0x49800000 0x4>, 16962306a36Sopenharmony_ci <0x49800010 0x4>; 17062306a36Sopenharmony_ci reg-names = "rev", "sysc"; 17162306a36Sopenharmony_ci ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 17262306a36Sopenharmony_ci ti,sysc-midle = <SYSC_IDLE_FORCE>; 17362306a36Sopenharmony_ci ti,sysc-sidle = <SYSC_IDLE_FORCE>, 17462306a36Sopenharmony_ci <SYSC_IDLE_SMART>; 17562306a36Sopenharmony_ci clocks = <&alwon_clkctrl DM816_TPTC0_CLKCTRL 0>; 17662306a36Sopenharmony_ci clock-names = "fck"; 17762306a36Sopenharmony_ci #address-cells = <1>; 17862306a36Sopenharmony_ci #size-cells = <1>; 17962306a36Sopenharmony_ci ranges = <0x0 0x49800000 0x100000>; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci edma_tptc0: dma@0 { 18262306a36Sopenharmony_ci compatible = "ti,edma3-tptc"; 18362306a36Sopenharmony_ci reg = <0 0x100000>; 18462306a36Sopenharmony_ci interrupts = <112>; 18562306a36Sopenharmony_ci interrupt-names = "edma3_tcerrint"; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci target-module@49900000 { 19062306a36Sopenharmony_ci compatible = "ti,sysc-omap4", "ti,sysc"; 19162306a36Sopenharmony_ci reg = <0x49900000 0x4>, 19262306a36Sopenharmony_ci <0x49900010 0x4>; 19362306a36Sopenharmony_ci reg-names = "rev", "sysc"; 19462306a36Sopenharmony_ci ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 19562306a36Sopenharmony_ci ti,sysc-midle = <SYSC_IDLE_FORCE>; 19662306a36Sopenharmony_ci ti,sysc-sidle = <SYSC_IDLE_FORCE>, 19762306a36Sopenharmony_ci <SYSC_IDLE_SMART>; 19862306a36Sopenharmony_ci clocks = <&alwon_clkctrl DM816_TPTC1_CLKCTRL 0>; 19962306a36Sopenharmony_ci clock-names = "fck"; 20062306a36Sopenharmony_ci #address-cells = <1>; 20162306a36Sopenharmony_ci #size-cells = <1>; 20262306a36Sopenharmony_ci ranges = <0x0 0x49900000 0x100000>; 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ci edma_tptc1: dma@0 { 20562306a36Sopenharmony_ci compatible = "ti,edma3-tptc"; 20662306a36Sopenharmony_ci reg = <0 0x100000>; 20762306a36Sopenharmony_ci interrupts = <113>; 20862306a36Sopenharmony_ci interrupt-names = "edma3_tcerrint"; 20962306a36Sopenharmony_ci }; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci target-module@49a00000 { 21362306a36Sopenharmony_ci compatible = "ti,sysc-omap4", "ti,sysc"; 21462306a36Sopenharmony_ci reg = <0x49a00000 0x4>, 21562306a36Sopenharmony_ci <0x49a00010 0x4>; 21662306a36Sopenharmony_ci reg-names = "rev", "sysc"; 21762306a36Sopenharmony_ci ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 21862306a36Sopenharmony_ci ti,sysc-midle = <SYSC_IDLE_FORCE>; 21962306a36Sopenharmony_ci ti,sysc-sidle = <SYSC_IDLE_FORCE>, 22062306a36Sopenharmony_ci <SYSC_IDLE_SMART>; 22162306a36Sopenharmony_ci clocks = <&alwon_clkctrl DM816_TPTC2_CLKCTRL 0>; 22262306a36Sopenharmony_ci clock-names = "fck"; 22362306a36Sopenharmony_ci #address-cells = <1>; 22462306a36Sopenharmony_ci #size-cells = <1>; 22562306a36Sopenharmony_ci ranges = <0x0 0x49a00000 0x100000>; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci edma_tptc2: dma@0 { 22862306a36Sopenharmony_ci compatible = "ti,edma3-tptc"; 22962306a36Sopenharmony_ci reg = <0 0x100000>; 23062306a36Sopenharmony_ci interrupts = <114>; 23162306a36Sopenharmony_ci interrupt-names = "edma3_tcerrint"; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci }; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci target-module@49b00000 { 23662306a36Sopenharmony_ci compatible = "ti,sysc-omap4", "ti,sysc"; 23762306a36Sopenharmony_ci reg = <0x49b00000 0x4>, 23862306a36Sopenharmony_ci <0x49b00010 0x4>; 23962306a36Sopenharmony_ci reg-names = "rev", "sysc"; 24062306a36Sopenharmony_ci ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 24162306a36Sopenharmony_ci ti,sysc-midle = <SYSC_IDLE_FORCE>; 24262306a36Sopenharmony_ci ti,sysc-sidle = <SYSC_IDLE_FORCE>, 24362306a36Sopenharmony_ci <SYSC_IDLE_SMART>; 24462306a36Sopenharmony_ci clocks = <&alwon_clkctrl DM816_TPTC3_CLKCTRL 0>; 24562306a36Sopenharmony_ci clock-names = "fck"; 24662306a36Sopenharmony_ci #address-cells = <1>; 24762306a36Sopenharmony_ci #size-cells = <1>; 24862306a36Sopenharmony_ci ranges = <0x0 0x49b00000 0x100000>; 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci edma_tptc3: dma@0 { 25162306a36Sopenharmony_ci compatible = "ti,edma3-tptc"; 25262306a36Sopenharmony_ci reg = <0 0x100000>; 25362306a36Sopenharmony_ci interrupts = <115>; 25462306a36Sopenharmony_ci interrupt-names = "edma3_tcerrint"; 25562306a36Sopenharmony_ci }; 25662306a36Sopenharmony_ci }; 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ci elm: elm@48080000 { 25962306a36Sopenharmony_ci compatible = "ti,am3352-elm"; 26062306a36Sopenharmony_ci ti,hwmods = "elm"; 26162306a36Sopenharmony_ci reg = <0x48080000 0x2000>; 26262306a36Sopenharmony_ci interrupts = <4>; 26362306a36Sopenharmony_ci }; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci gpio1: gpio@48032000 { 26662306a36Sopenharmony_ci compatible = "ti,omap4-gpio"; 26762306a36Sopenharmony_ci ti,hwmods = "gpio1"; 26862306a36Sopenharmony_ci ti,gpio-always-on; 26962306a36Sopenharmony_ci reg = <0x48032000 0x1000>; 27062306a36Sopenharmony_ci interrupts = <96>; 27162306a36Sopenharmony_ci gpio-controller; 27262306a36Sopenharmony_ci #gpio-cells = <2>; 27362306a36Sopenharmony_ci interrupt-controller; 27462306a36Sopenharmony_ci #interrupt-cells = <2>; 27562306a36Sopenharmony_ci }; 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci gpio2: gpio@4804c000 { 27862306a36Sopenharmony_ci compatible = "ti,omap4-gpio"; 27962306a36Sopenharmony_ci ti,hwmods = "gpio2"; 28062306a36Sopenharmony_ci ti,gpio-always-on; 28162306a36Sopenharmony_ci reg = <0x4804c000 0x1000>; 28262306a36Sopenharmony_ci interrupts = <98>; 28362306a36Sopenharmony_ci gpio-controller; 28462306a36Sopenharmony_ci #gpio-cells = <2>; 28562306a36Sopenharmony_ci interrupt-controller; 28662306a36Sopenharmony_ci #interrupt-cells = <2>; 28762306a36Sopenharmony_ci }; 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ci gpmc: gpmc@50000000 { 29062306a36Sopenharmony_ci compatible = "ti,am3352-gpmc"; 29162306a36Sopenharmony_ci ti,hwmods = "gpmc"; 29262306a36Sopenharmony_ci reg = <0x50000000 0x2000>; 29362306a36Sopenharmony_ci #address-cells = <2>; 29462306a36Sopenharmony_ci #size-cells = <1>; 29562306a36Sopenharmony_ci interrupts = <100>; 29662306a36Sopenharmony_ci dmas = <&edma 52 0>; 29762306a36Sopenharmony_ci dma-names = "rxtx"; 29862306a36Sopenharmony_ci gpmc,num-cs = <6>; 29962306a36Sopenharmony_ci gpmc,num-waitpins = <2>; 30062306a36Sopenharmony_ci interrupt-controller; 30162306a36Sopenharmony_ci #interrupt-cells = <2>; 30262306a36Sopenharmony_ci gpio-controller; 30362306a36Sopenharmony_ci #gpio-cells = <2>; 30462306a36Sopenharmony_ci }; 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ci i2c1: i2c@48028000 { 30762306a36Sopenharmony_ci compatible = "ti,omap4-i2c"; 30862306a36Sopenharmony_ci ti,hwmods = "i2c1"; 30962306a36Sopenharmony_ci reg = <0x48028000 0x1000>; 31062306a36Sopenharmony_ci #address-cells = <1>; 31162306a36Sopenharmony_ci #size-cells = <0>; 31262306a36Sopenharmony_ci interrupts = <70>; 31362306a36Sopenharmony_ci }; 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ci i2c2: i2c@4802a000 { 31662306a36Sopenharmony_ci compatible = "ti,omap4-i2c"; 31762306a36Sopenharmony_ci ti,hwmods = "i2c2"; 31862306a36Sopenharmony_ci reg = <0x4802a000 0x1000>; 31962306a36Sopenharmony_ci #address-cells = <1>; 32062306a36Sopenharmony_ci #size-cells = <0>; 32162306a36Sopenharmony_ci interrupts = <71>; 32262306a36Sopenharmony_ci }; 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ci intc: interrupt-controller@48200000 { 32562306a36Sopenharmony_ci compatible = "ti,dm816-intc"; 32662306a36Sopenharmony_ci interrupt-controller; 32762306a36Sopenharmony_ci #interrupt-cells = <1>; 32862306a36Sopenharmony_ci reg = <0x48200000 0x1000>; 32962306a36Sopenharmony_ci }; 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ci rtc: rtc@480c0000 { 33262306a36Sopenharmony_ci compatible = "ti,am3352-rtc", "ti,da830-rtc"; 33362306a36Sopenharmony_ci reg = <0x480c0000 0x1000>; 33462306a36Sopenharmony_ci interrupts = <75 76>; 33562306a36Sopenharmony_ci ti,hwmods = "rtc"; 33662306a36Sopenharmony_ci }; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ci mailbox: mailbox@480c8000 { 33962306a36Sopenharmony_ci compatible = "ti,omap4-mailbox"; 34062306a36Sopenharmony_ci reg = <0x480c8000 0x2000>; 34162306a36Sopenharmony_ci interrupts = <77>; 34262306a36Sopenharmony_ci ti,hwmods = "mailbox"; 34362306a36Sopenharmony_ci #mbox-cells = <1>; 34462306a36Sopenharmony_ci ti,mbox-num-users = <4>; 34562306a36Sopenharmony_ci ti,mbox-num-fifos = <12>; 34662306a36Sopenharmony_ci mbox_dsp: mbox-dsp { 34762306a36Sopenharmony_ci ti,mbox-tx = <3 0 0>; 34862306a36Sopenharmony_ci ti,mbox-rx = <0 0 0>; 34962306a36Sopenharmony_ci }; 35062306a36Sopenharmony_ci }; 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci spinbox: spinbox@480ca000 { 35362306a36Sopenharmony_ci compatible = "ti,omap4-hwspinlock"; 35462306a36Sopenharmony_ci reg = <0x480ca000 0x2000>; 35562306a36Sopenharmony_ci ti,hwmods = "spinbox"; 35662306a36Sopenharmony_ci #hwlock-cells = <1>; 35762306a36Sopenharmony_ci }; 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_ci mdio: mdio@4a100800 { 36062306a36Sopenharmony_ci compatible = "ti,davinci_mdio"; 36162306a36Sopenharmony_ci #address-cells = <1>; 36262306a36Sopenharmony_ci #size-cells = <0>; 36362306a36Sopenharmony_ci reg = <0x4a100800 0x100>; 36462306a36Sopenharmony_ci ti,hwmods = "davinci_mdio"; 36562306a36Sopenharmony_ci bus_freq = <1000000>; 36662306a36Sopenharmony_ci phy0: ethernet-phy@0 { 36762306a36Sopenharmony_ci reg = <1>; 36862306a36Sopenharmony_ci }; 36962306a36Sopenharmony_ci phy1: ethernet-phy@1 { 37062306a36Sopenharmony_ci reg = <2>; 37162306a36Sopenharmony_ci }; 37262306a36Sopenharmony_ci }; 37362306a36Sopenharmony_ci 37462306a36Sopenharmony_ci eth0: ethernet@4a100000 { 37562306a36Sopenharmony_ci compatible = "ti,dm816-emac"; 37662306a36Sopenharmony_ci ti,hwmods = "emac0"; 37762306a36Sopenharmony_ci reg = <0x4a100000 0x800 37862306a36Sopenharmony_ci 0x4a100900 0x3700>; 37962306a36Sopenharmony_ci clocks = <&sysclk24_ck>; 38062306a36Sopenharmony_ci syscon = <&scm_conf>; 38162306a36Sopenharmony_ci ti,davinci-ctrl-reg-offset = <0>; 38262306a36Sopenharmony_ci ti,davinci-ctrl-mod-reg-offset = <0x900>; 38362306a36Sopenharmony_ci ti,davinci-ctrl-ram-offset = <0x2000>; 38462306a36Sopenharmony_ci ti,davinci-ctrl-ram-size = <0x2000>; 38562306a36Sopenharmony_ci interrupts = <40 41 42 43>; 38662306a36Sopenharmony_ci phy-handle = <&phy0>; 38762306a36Sopenharmony_ci }; 38862306a36Sopenharmony_ci 38962306a36Sopenharmony_ci eth1: ethernet@4a120000 { 39062306a36Sopenharmony_ci compatible = "ti,dm816-emac"; 39162306a36Sopenharmony_ci ti,hwmods = "emac1"; 39262306a36Sopenharmony_ci reg = <0x4a120000 0x4000>; 39362306a36Sopenharmony_ci clocks = <&sysclk24_ck>; 39462306a36Sopenharmony_ci syscon = <&scm_conf>; 39562306a36Sopenharmony_ci ti,davinci-ctrl-reg-offset = <0>; 39662306a36Sopenharmony_ci ti,davinci-ctrl-mod-reg-offset = <0x900>; 39762306a36Sopenharmony_ci ti,davinci-ctrl-ram-offset = <0x2000>; 39862306a36Sopenharmony_ci ti,davinci-ctrl-ram-size = <0x2000>; 39962306a36Sopenharmony_ci interrupts = <44 45 46 47>; 40062306a36Sopenharmony_ci phy-handle = <&phy1>; 40162306a36Sopenharmony_ci }; 40262306a36Sopenharmony_ci 40362306a36Sopenharmony_ci sata: sata@4a140000 { 40462306a36Sopenharmony_ci compatible = "ti,dm816-ahci"; 40562306a36Sopenharmony_ci reg = <0x4a140000 0x10000>; 40662306a36Sopenharmony_ci interrupts = <16>; 40762306a36Sopenharmony_ci ti,hwmods = "sata"; 40862306a36Sopenharmony_ci }; 40962306a36Sopenharmony_ci 41062306a36Sopenharmony_ci mcspi1: spi@48030000 { 41162306a36Sopenharmony_ci compatible = "ti,omap4-mcspi"; 41262306a36Sopenharmony_ci reg = <0x48030000 0x1000>; 41362306a36Sopenharmony_ci #address-cells = <1>; 41462306a36Sopenharmony_ci #size-cells = <0>; 41562306a36Sopenharmony_ci interrupts = <65>; 41662306a36Sopenharmony_ci ti,spi-num-cs = <4>; 41762306a36Sopenharmony_ci ti,hwmods = "mcspi1"; 41862306a36Sopenharmony_ci dmas = <&edma 16 0 &edma 17 0 41962306a36Sopenharmony_ci &edma 18 0 &edma 19 0 42062306a36Sopenharmony_ci &edma 20 0 &edma 21 0 42162306a36Sopenharmony_ci &edma 22 0 &edma 23 0>; 42262306a36Sopenharmony_ci dma-names = "tx0", "rx0", "tx1", "rx1", 42362306a36Sopenharmony_ci "tx2", "rx2", "tx3", "rx3"; 42462306a36Sopenharmony_ci }; 42562306a36Sopenharmony_ci 42662306a36Sopenharmony_ci mmc1: mmc@48060000 { 42762306a36Sopenharmony_ci compatible = "ti,omap4-hsmmc"; 42862306a36Sopenharmony_ci reg = <0x48060000 0x11000>; 42962306a36Sopenharmony_ci ti,hwmods = "mmc1"; 43062306a36Sopenharmony_ci interrupts = <64>; 43162306a36Sopenharmony_ci dmas = <&edma 24 0 &edma 25 0>; 43262306a36Sopenharmony_ci dma-names = "tx", "rx"; 43362306a36Sopenharmony_ci }; 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci timer1_target: target-module@4802e000 { 43662306a36Sopenharmony_ci compatible = "ti,sysc-omap4-timer", "ti,sysc"; 43762306a36Sopenharmony_ci reg = <0x4802e000 0x4>, 43862306a36Sopenharmony_ci <0x4802e010 0x4>; 43962306a36Sopenharmony_ci reg-names = "rev", "sysc"; 44062306a36Sopenharmony_ci ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 44162306a36Sopenharmony_ci ti,sysc-sidle = <SYSC_IDLE_FORCE>, 44262306a36Sopenharmony_ci <SYSC_IDLE_NO>, 44362306a36Sopenharmony_ci <SYSC_IDLE_SMART>, 44462306a36Sopenharmony_ci <SYSC_IDLE_SMART_WKUP>; 44562306a36Sopenharmony_ci clocks = <&alwon_clkctrl DM816_TIMER1_CLKCTRL 0>; 44662306a36Sopenharmony_ci clock-names = "fck"; 44762306a36Sopenharmony_ci #address-cells = <1>; 44862306a36Sopenharmony_ci #size-cells = <1>; 44962306a36Sopenharmony_ci ranges = <0x0 0x4802e000 0x1000>; 45062306a36Sopenharmony_ci 45162306a36Sopenharmony_ci timer1: timer@0 { 45262306a36Sopenharmony_ci compatible = "ti,dm816-timer"; 45362306a36Sopenharmony_ci reg = <0 0x1000>; 45462306a36Sopenharmony_ci interrupts = <67>; 45562306a36Sopenharmony_ci ti,timer-alwon; 45662306a36Sopenharmony_ci clocks = <&alwon_clkctrl DM816_TIMER1_CLKCTRL 0>; 45762306a36Sopenharmony_ci clock-names = "fck"; 45862306a36Sopenharmony_ci }; 45962306a36Sopenharmony_ci }; 46062306a36Sopenharmony_ci 46162306a36Sopenharmony_ci timer2_target: target-module@48040000 { 46262306a36Sopenharmony_ci compatible = "ti,sysc-omap4-timer", "ti,sysc"; 46362306a36Sopenharmony_ci reg = <0x48040000 0x4>, 46462306a36Sopenharmony_ci <0x48040010 0x4>; 46562306a36Sopenharmony_ci reg-names = "rev", "sysc"; 46662306a36Sopenharmony_ci ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 46762306a36Sopenharmony_ci ti,sysc-sidle = <SYSC_IDLE_FORCE>, 46862306a36Sopenharmony_ci <SYSC_IDLE_NO>, 46962306a36Sopenharmony_ci <SYSC_IDLE_SMART>, 47062306a36Sopenharmony_ci <SYSC_IDLE_SMART_WKUP>; 47162306a36Sopenharmony_ci clocks = <&alwon_clkctrl DM816_TIMER2_CLKCTRL 0>; 47262306a36Sopenharmony_ci clock-names = "fck"; 47362306a36Sopenharmony_ci #address-cells = <1>; 47462306a36Sopenharmony_ci #size-cells = <1>; 47562306a36Sopenharmony_ci ranges = <0x0 0x48040000 0x1000>; 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ci timer2: timer@0 { 47862306a36Sopenharmony_ci compatible = "ti,dm816-timer"; 47962306a36Sopenharmony_ci reg = <0 0x1000>; 48062306a36Sopenharmony_ci interrupts = <68>; 48162306a36Sopenharmony_ci clocks = <&alwon_clkctrl DM816_TIMER2_CLKCTRL 0>; 48262306a36Sopenharmony_ci clock-names = "fck"; 48362306a36Sopenharmony_ci }; 48462306a36Sopenharmony_ci }; 48562306a36Sopenharmony_ci 48662306a36Sopenharmony_ci timer3: timer@48042000 { 48762306a36Sopenharmony_ci compatible = "ti,dm816-timer"; 48862306a36Sopenharmony_ci reg = <0x48042000 0x2000>; 48962306a36Sopenharmony_ci interrupts = <69>; 49062306a36Sopenharmony_ci ti,hwmods = "timer3"; 49162306a36Sopenharmony_ci }; 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ci timer4: timer@48044000 { 49462306a36Sopenharmony_ci compatible = "ti,dm816-timer"; 49562306a36Sopenharmony_ci reg = <0x48044000 0x2000>; 49662306a36Sopenharmony_ci interrupts = <92>; 49762306a36Sopenharmony_ci ti,hwmods = "timer4"; 49862306a36Sopenharmony_ci ti,timer-pwm; 49962306a36Sopenharmony_ci }; 50062306a36Sopenharmony_ci 50162306a36Sopenharmony_ci timer5: timer@48046000 { 50262306a36Sopenharmony_ci compatible = "ti,dm816-timer"; 50362306a36Sopenharmony_ci reg = <0x48046000 0x2000>; 50462306a36Sopenharmony_ci interrupts = <93>; 50562306a36Sopenharmony_ci ti,hwmods = "timer5"; 50662306a36Sopenharmony_ci ti,timer-pwm; 50762306a36Sopenharmony_ci }; 50862306a36Sopenharmony_ci 50962306a36Sopenharmony_ci timer6: timer@48048000 { 51062306a36Sopenharmony_ci compatible = "ti,dm816-timer"; 51162306a36Sopenharmony_ci reg = <0x48048000 0x2000>; 51262306a36Sopenharmony_ci interrupts = <94>; 51362306a36Sopenharmony_ci ti,hwmods = "timer6"; 51462306a36Sopenharmony_ci ti,timer-pwm; 51562306a36Sopenharmony_ci }; 51662306a36Sopenharmony_ci 51762306a36Sopenharmony_ci timer7: timer@4804a000 { 51862306a36Sopenharmony_ci compatible = "ti,dm816-timer"; 51962306a36Sopenharmony_ci reg = <0x4804a000 0x2000>; 52062306a36Sopenharmony_ci interrupts = <95>; 52162306a36Sopenharmony_ci ti,hwmods = "timer7"; 52262306a36Sopenharmony_ci ti,timer-pwm; 52362306a36Sopenharmony_ci }; 52462306a36Sopenharmony_ci 52562306a36Sopenharmony_ci uart1: serial@48020000 { 52662306a36Sopenharmony_ci compatible = "ti,am3352-uart", "ti,omap3-uart"; 52762306a36Sopenharmony_ci ti,hwmods = "uart1"; 52862306a36Sopenharmony_ci reg = <0x48020000 0x2000>; 52962306a36Sopenharmony_ci clock-frequency = <48000000>; 53062306a36Sopenharmony_ci interrupts = <72>; 53162306a36Sopenharmony_ci dmas = <&edma 26 0 &edma 27 0>; 53262306a36Sopenharmony_ci dma-names = "tx", "rx"; 53362306a36Sopenharmony_ci }; 53462306a36Sopenharmony_ci 53562306a36Sopenharmony_ci uart2: serial@48022000 { 53662306a36Sopenharmony_ci compatible = "ti,am3352-uart", "ti,omap3-uart"; 53762306a36Sopenharmony_ci ti,hwmods = "uart2"; 53862306a36Sopenharmony_ci reg = <0x48022000 0x2000>; 53962306a36Sopenharmony_ci clock-frequency = <48000000>; 54062306a36Sopenharmony_ci interrupts = <73>; 54162306a36Sopenharmony_ci dmas = <&edma 28 0 &edma 29 0>; 54262306a36Sopenharmony_ci dma-names = "tx", "rx"; 54362306a36Sopenharmony_ci }; 54462306a36Sopenharmony_ci 54562306a36Sopenharmony_ci uart3: serial@48024000 { 54662306a36Sopenharmony_ci compatible = "ti,am3352-uart", "ti,omap3-uart"; 54762306a36Sopenharmony_ci ti,hwmods = "uart3"; 54862306a36Sopenharmony_ci reg = <0x48024000 0x2000>; 54962306a36Sopenharmony_ci clock-frequency = <48000000>; 55062306a36Sopenharmony_ci interrupts = <74>; 55162306a36Sopenharmony_ci dmas = <&edma 30 0 &edma 31 0>; 55262306a36Sopenharmony_ci dma-names = "tx", "rx"; 55362306a36Sopenharmony_ci }; 55462306a36Sopenharmony_ci 55562306a36Sopenharmony_ci /* NOTE: USB needs a transceiver driver for phys to work */ 55662306a36Sopenharmony_ci usb: usb_otg_hs@47401000 { 55762306a36Sopenharmony_ci compatible = "ti,am33xx-usb"; 55862306a36Sopenharmony_ci reg = <0x47401000 0x400000>; 55962306a36Sopenharmony_ci ranges; 56062306a36Sopenharmony_ci #address-cells = <1>; 56162306a36Sopenharmony_ci #size-cells = <1>; 56262306a36Sopenharmony_ci ti,hwmods = "usb_otg_hs"; 56362306a36Sopenharmony_ci 56462306a36Sopenharmony_ci usb0: usb@47401000 { 56562306a36Sopenharmony_ci compatible = "ti,musb-dm816"; 56662306a36Sopenharmony_ci reg = <0x47401400 0x400 56762306a36Sopenharmony_ci 0x47401000 0x200>; 56862306a36Sopenharmony_ci reg-names = "mc", "control"; 56962306a36Sopenharmony_ci interrupts = <18>; 57062306a36Sopenharmony_ci interrupt-names = "mc"; 57162306a36Sopenharmony_ci dr_mode = "host"; 57262306a36Sopenharmony_ci interface-type = <0>; 57362306a36Sopenharmony_ci phys = <&usb_phy0>; 57462306a36Sopenharmony_ci phy-names = "usb2-phy"; 57562306a36Sopenharmony_ci mentor,multipoint = <1>; 57662306a36Sopenharmony_ci mentor,num-eps = <16>; 57762306a36Sopenharmony_ci mentor,ram-bits = <12>; 57862306a36Sopenharmony_ci mentor,power = <500>; 57962306a36Sopenharmony_ci 58062306a36Sopenharmony_ci dmas = <&cppi41dma 0 0 &cppi41dma 1 0 58162306a36Sopenharmony_ci &cppi41dma 2 0 &cppi41dma 3 0 58262306a36Sopenharmony_ci &cppi41dma 4 0 &cppi41dma 5 0 58362306a36Sopenharmony_ci &cppi41dma 6 0 &cppi41dma 7 0 58462306a36Sopenharmony_ci &cppi41dma 8 0 &cppi41dma 9 0 58562306a36Sopenharmony_ci &cppi41dma 10 0 &cppi41dma 11 0 58662306a36Sopenharmony_ci &cppi41dma 12 0 &cppi41dma 13 0 58762306a36Sopenharmony_ci &cppi41dma 14 0 &cppi41dma 0 1 58862306a36Sopenharmony_ci &cppi41dma 1 1 &cppi41dma 2 1 58962306a36Sopenharmony_ci &cppi41dma 3 1 &cppi41dma 4 1 59062306a36Sopenharmony_ci &cppi41dma 5 1 &cppi41dma 6 1 59162306a36Sopenharmony_ci &cppi41dma 7 1 &cppi41dma 8 1 59262306a36Sopenharmony_ci &cppi41dma 9 1 &cppi41dma 10 1 59362306a36Sopenharmony_ci &cppi41dma 11 1 &cppi41dma 12 1 59462306a36Sopenharmony_ci &cppi41dma 13 1 &cppi41dma 14 1>; 59562306a36Sopenharmony_ci dma-names = 59662306a36Sopenharmony_ci "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", 59762306a36Sopenharmony_ci "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", 59862306a36Sopenharmony_ci "rx14", "rx15", 59962306a36Sopenharmony_ci "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", 60062306a36Sopenharmony_ci "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", 60162306a36Sopenharmony_ci "tx14", "tx15"; 60262306a36Sopenharmony_ci }; 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_ci usb1: usb@47401800 { 60562306a36Sopenharmony_ci compatible = "ti,musb-dm816"; 60662306a36Sopenharmony_ci reg = <0x47401c00 0x400 60762306a36Sopenharmony_ci 0x47401800 0x200>; 60862306a36Sopenharmony_ci reg-names = "mc", "control"; 60962306a36Sopenharmony_ci interrupts = <19>; 61062306a36Sopenharmony_ci interrupt-names = "mc"; 61162306a36Sopenharmony_ci dr_mode = "host"; 61262306a36Sopenharmony_ci interface-type = <0>; 61362306a36Sopenharmony_ci phys = <&usb_phy1>; 61462306a36Sopenharmony_ci phy-names = "usb2-phy"; 61562306a36Sopenharmony_ci mentor,multipoint = <1>; 61662306a36Sopenharmony_ci mentor,num-eps = <16>; 61762306a36Sopenharmony_ci mentor,ram-bits = <12>; 61862306a36Sopenharmony_ci mentor,power = <500>; 61962306a36Sopenharmony_ci 62062306a36Sopenharmony_ci dmas = <&cppi41dma 15 0 &cppi41dma 16 0 62162306a36Sopenharmony_ci &cppi41dma 17 0 &cppi41dma 18 0 62262306a36Sopenharmony_ci &cppi41dma 19 0 &cppi41dma 20 0 62362306a36Sopenharmony_ci &cppi41dma 21 0 &cppi41dma 22 0 62462306a36Sopenharmony_ci &cppi41dma 23 0 &cppi41dma 24 0 62562306a36Sopenharmony_ci &cppi41dma 25 0 &cppi41dma 26 0 62662306a36Sopenharmony_ci &cppi41dma 27 0 &cppi41dma 28 0 62762306a36Sopenharmony_ci &cppi41dma 29 0 &cppi41dma 15 1 62862306a36Sopenharmony_ci &cppi41dma 16 1 &cppi41dma 17 1 62962306a36Sopenharmony_ci &cppi41dma 18 1 &cppi41dma 19 1 63062306a36Sopenharmony_ci &cppi41dma 20 1 &cppi41dma 21 1 63162306a36Sopenharmony_ci &cppi41dma 22 1 &cppi41dma 23 1 63262306a36Sopenharmony_ci &cppi41dma 24 1 &cppi41dma 25 1 63362306a36Sopenharmony_ci &cppi41dma 26 1 &cppi41dma 27 1 63462306a36Sopenharmony_ci &cppi41dma 28 1 &cppi41dma 29 1>; 63562306a36Sopenharmony_ci dma-names = 63662306a36Sopenharmony_ci "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", 63762306a36Sopenharmony_ci "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", 63862306a36Sopenharmony_ci "rx14", "rx15", 63962306a36Sopenharmony_ci "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", 64062306a36Sopenharmony_ci "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", 64162306a36Sopenharmony_ci "tx14", "tx15"; 64262306a36Sopenharmony_ci }; 64362306a36Sopenharmony_ci 64462306a36Sopenharmony_ci cppi41dma: dma-controller@47402000 { 64562306a36Sopenharmony_ci compatible = "ti,am3359-cppi41"; 64662306a36Sopenharmony_ci reg = <0x47400000 0x1000 64762306a36Sopenharmony_ci 0x47402000 0x1000 64862306a36Sopenharmony_ci 0x47403000 0x1000 64962306a36Sopenharmony_ci 0x47404000 0x4000>; 65062306a36Sopenharmony_ci reg-names = "glue", "controller", "scheduler", "queuemgr"; 65162306a36Sopenharmony_ci interrupts = <17>; 65262306a36Sopenharmony_ci interrupt-names = "glue"; 65362306a36Sopenharmony_ci #dma-cells = <2>; 65462306a36Sopenharmony_ci /* For backwards compatibility: */ 65562306a36Sopenharmony_ci #dma-channels = <30>; 65662306a36Sopenharmony_ci dma-channels = <30>; 65762306a36Sopenharmony_ci #dma-requests = <256>; 65862306a36Sopenharmony_ci dma-requests = <256>; 65962306a36Sopenharmony_ci }; 66062306a36Sopenharmony_ci }; 66162306a36Sopenharmony_ci 66262306a36Sopenharmony_ci wd_timer2: wd_timer@480c2000 { 66362306a36Sopenharmony_ci compatible = "ti,omap3-wdt"; 66462306a36Sopenharmony_ci ti,hwmods = "wd_timer"; 66562306a36Sopenharmony_ci reg = <0x480c2000 0x1000>; 66662306a36Sopenharmony_ci interrupts = <0>; 66762306a36Sopenharmony_ci }; 66862306a36Sopenharmony_ci }; 66962306a36Sopenharmony_ci}; 67062306a36Sopenharmony_ci 67162306a36Sopenharmony_ci#include "dm816x-clocks.dtsi" 67262306a36Sopenharmony_ci 67362306a36Sopenharmony_ci/* Preferred always-on timer for clocksource */ 67462306a36Sopenharmony_ci&timer1_target { 67562306a36Sopenharmony_ci ti,no-reset-on-init; 67662306a36Sopenharmony_ci ti,no-idle; 67762306a36Sopenharmony_ci timer@0 { 67862306a36Sopenharmony_ci assigned-clocks = <&timer1_fck>; 67962306a36Sopenharmony_ci assigned-clock-parents = <&sys_clkin_ck>; 68062306a36Sopenharmony_ci }; 68162306a36Sopenharmony_ci}; 68262306a36Sopenharmony_ci 68362306a36Sopenharmony_ci/* Preferred timer for clockevent */ 68462306a36Sopenharmony_ci&timer2_target { 68562306a36Sopenharmony_ci ti,no-reset-on-init; 68662306a36Sopenharmony_ci ti,no-idle; 68762306a36Sopenharmony_ci timer@0 { 68862306a36Sopenharmony_ci assigned-clocks = <&timer2_fck>; 68962306a36Sopenharmony_ci assigned-clock-parents = <&sys_clkin_ck>; 69062306a36Sopenharmony_ci }; 69162306a36Sopenharmony_ci}; 692