/dts-v1/; / { #address-cells = <0x2>; #size-cells = <0x2>; compatible = "ti,k2l-evm", "ti,k2l", "ti,keystone"; model = "Texas Instruments Keystone 2 Lamarr EVM"; interrupt-parent = <0x1>; chosen { }; aliases { serial0 = "/soc/serial@02530c00"; rproc0 = "/soc/dsp0"; rproc1 = "/soc/dsp1"; rproc2 = "/soc/dsp2"; rproc3 = "/soc/dsp3"; }; memory { device_type = "memory"; reg = <0x0 0x80000000 0x0 0x40000000>; }; interrupt-controller { compatible = "arm,cortex-a15-gic"; #interrupt-cells = <0x3>; interrupt-controller; reg = <0x0 0x2561000 0x0 0x1000 0x0 0x2562000 0x0 0x2000 0x0 0x2564000 0x0 0x1000 0x0 0x2566000 0x0 0x2000>; interrupts = <0x1 0x9 0xf04>; linux,phandle = <0x1>; phandle = <0x1>; }; timer { compatible = "arm,armv7-timer"; interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; }; pmu { compatible = "arm,cortex-a15-pmu"; interrupts = <0x0 0x14 0x1 0x0 0x15 0x1 0x0 0x16 0x1 0x0 0x17 0x1>; }; psci { compatible = "arm,psci"; method = "smc"; cpu_suspend = <0x84000001>; cpu_off = <0x84000002>; cpu_on = <0x84000003>; }; soc { #address-cells = <0x1>; #size-cells = <0x1>; compatible = "ti,keystone", "simple-bus"; interrupt-parent = <0x1>; ranges = <0x0 0x0 0x0 0xc0000000>; dma-ranges = <0x80000000 0x8 0x0 0x80000000>; pll-controller@02310000 { compatible = "ti,keystone-pllctrl", "syscon"; reg = <0x2310000 0x200>; linux,phandle = <0x2>; phandle = <0x2>; }; power-sleep-controller@02350000 { compatible = "syscon", "simple-mfd"; reg = <0x2350000 0x1000>; psc-reset { compatible = "syscon-reset"; #reset-cells = <0x1>; #address-cells = <0x1>; #size-cells = <0x0>; linux,phandle = <0x24>; phandle = <0x24>; dsp@0 { reg = <0x0>; reset-control = <0xa3c 0x8 0x0>; reset-status = <0x83c 0x8 0x0>; }; dsp@1 { reg = <0x1>; reset-control = <0xa40 0x8 0x0>; reset-status = <0x840 0x8 0x0>; }; dsp@2 { reg = <0x2>; reset-control = <0xa44 0x8 0x0>; reset-status = <0x844 0x8 0x0>; }; dsp@3 { reg = <0x3>; reset-control = <0xa48 0x8 0x0>; reset-status = <0x848 0x8 0x0>; }; }; }; device-state-control@02620000 { compatible = "ti,keystone-devctrl", "syscon"; reg = <0x2620000 0x1000>; linux,phandle = <0x3>; phandle = <0x3>; }; reset-controller { compatible = "ti,keystone-reset"; ti,syscon-pll = <0x2 0xe4>; ti,syscon-dev = <0x3 0x328>; ti,wdt-list = <0x0>; }; clocks { #address-cells = <0x1>; #size-cells = <0x1>; ranges; mainmuxclk@2310108 { #clock-cells = <0x0>; compatible = "ti,keystone,pll-mux-clock"; clocks = <0x4 0x5>; reg = <0x2310108 0x4>; bit-shift = <0x17>; bit-mask = <0x1>; clock-output-names = "mainmuxclk"; linux,phandle = <0x6>; phandle = <0x6>; }; chipclk1 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x6>; clock-div = <0x1>; clock-mult = <0x1>; clock-output-names = "chipclk1"; linux,phandle = <0x7>; phandle = <0x7>; }; chipclk1rstiso { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x6>; clock-div = <0x1>; clock-mult = <0x1>; clock-output-names = "chipclk1rstiso"; linux,phandle = <0x9>; phandle = <0x9>; }; gemtraceclk@2310120 { #clock-cells = <0x0>; compatible = "ti,keystone,pll-divider-clock"; clocks = <0x6>; reg = <0x2310120 0x4>; bit-shift = <0x0>; bit-mask = <0x8>; clock-output-names = "gemtraceclk"; linux,phandle = <0x30>; phandle = <0x30>; }; chipstmxptclk { #clock-cells = <0x0>; compatible = "ti,keystone,pll-divider-clock"; clocks = <0x6>; reg = <0x2310164 0x4>; bit-shift = <0x0>; bit-mask = <0x8>; clock-output-names = "chipstmxptclk"; }; chipclk12 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x7>; clock-div = <0x2>; clock-mult = <0x1>; clock-output-names = "chipclk12"; linux,phandle = <0xe>; phandle = <0xe>; }; chipclk13 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x7>; clock-div = <0x3>; clock-mult = <0x1>; clock-output-names = "chipclk13"; linux,phandle = <0xb>; phandle = <0xb>; }; paclk13 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x8>; clock-div = <0x3>; clock-mult = <0x1>; clock-output-names = "paclk13"; linux,phandle = <0xc>; phandle = <0xc>; }; chipclk14 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x7>; clock-div = <0x4>; clock-mult = <0x1>; clock-output-names = "chipclk14"; }; chipclk16 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x7>; clock-div = <0x6>; clock-mult = <0x1>; clock-output-names = "chipclk16"; linux,phandle = <0xa>; phandle = <0xa>; }; chipclk112 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x7>; clock-div = <0xc>; clock-mult = <0x1>; clock-output-names = "chipclk112"; }; chipclk124 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x7>; clock-div = <0x18>; clock-mult = <0x1>; clock-output-names = "chipclk114"; }; chipclk1rstiso13 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x9>; clock-div = <0x3>; clock-mult = <0x1>; clock-output-names = "chipclk1rstiso13"; linux,phandle = <0xf>; phandle = <0xf>; }; chipclk1rstiso14 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x9>; clock-div = <0x4>; clock-mult = <0x1>; clock-output-names = "chipclk1rstiso14"; }; chipclk1rstiso16 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x9>; clock-div = <0x6>; clock-mult = <0x1>; clock-output-names = "chipclk1rstiso16"; }; chipclk1rstiso112 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clocks = <0x9>; clock-div = <0xc>; clock-mult = <0x1>; clock-output-names = "chipclk1rstiso112"; linux,phandle = <0x10>; phandle = <0x10>; }; clkmodrst0 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xa>; clock-output-names = "modrst0"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x11>; phandle = <0x11>; }; clkusb { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xa>; clock-output-names = "usb"; reg = <0x2350008 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x17>; phandle = <0x17>; }; clkaemifspi { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xa>; clock-output-names = "aemif-spi"; reg = <0x235000c 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x12>; phandle = <0x12>; }; clkdebugsstrc { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "debugss-trc"; reg = <0x2350014 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x1>; linux,phandle = <0x2f>; phandle = <0x2f>; }; clktetbtrc { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "tetb-trc"; reg = <0x2350018 0xb00 0x2350004 0x400>; reg-names = "control", "domain"; domain-id = <0x1>; linux,phandle = <0x31>; phandle = <0x31>; }; clkpa { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xc>; clock-output-names = "pa"; reg = <0x235001c 0xb00 0x2350008 0x400>; reg-names = "control", "domain"; domain-id = <0x2>; linux,phandle = <0xd>; phandle = <0xd>; }; clkcpgmac { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xd>; clock-output-names = "cpgmac"; reg = <0x2350020 0xb00 0x2350008 0x400>; reg-names = "control", "domain"; domain-id = <0x2>; linux,phandle = <0x1d>; phandle = <0x1d>; }; clksa { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xd>; clock-output-names = "sa"; reg = <0x2350024 0xb00 0x2350008 0x400>; reg-names = "control", "domain"; domain-id = <0x2>; linux,phandle = <0x46>; phandle = <0x46>; }; clkpcie { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xe>; clock-output-names = "pcie"; reg = <0x2350028 0xb00 0x235000c 0x400>; reg-names = "control", "domain"; domain-id = <0x3>; linux,phandle = <0x1e>; phandle = <0x1e>; }; clksrio { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xf>; clock-output-names = "srio"; reg = <0x235002c 0xb00 0x2350010 0x400>; reg-names = "control", "domain"; domain-id = <0x4>; }; clksr { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x10>; clock-output-names = "sr"; reg = <0x2350034 0xb00 0x2350018 0x400>; reg-names = "control", "domain"; domain-id = <0x6>; linux,phandle = <0x20>; phandle = <0x20>; }; clkgem0 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x7>; clock-output-names = "gem0"; reg = <0x235003c 0xb00 0x2350020 0x400>; reg-names = "control", "domain"; domain-id = <0x8>; linux,phandle = <0x23>; phandle = <0x23>; }; clkddr30 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xe>; clock-output-names = "ddr3-0"; reg = <0x235005c 0xb00 0x2350040 0x400>; reg-names = "control", "domain"; domain-id = <0x10>; }; clkwdtimer0 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "timer0"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x19>; phandle = <0x19>; }; clkwdtimer1 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "timer1"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; }; clkwdtimer2 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "timer2"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; }; clkwdtimer3 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "timer3"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; }; clktimer15 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "timer15"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x1a>; phandle = <0x1a>; }; clkuart0 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "uart0"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x13>; phandle = <0x13>; }; clkuart1 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "uart1"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x14>; phandle = <0x14>; }; clkaemif { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x12>; clock-output-names = "aemif"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x1c>; phandle = <0x1c>; }; clkusim { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "usim"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; }; clki2c { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "i2c"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x15>; phandle = <0x15>; }; clkspi { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x12>; clock-output-names = "spi"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x16>; phandle = <0x16>; }; clkgpio { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "gpio"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x1b>; phandle = <0x1b>; }; clkkeymgr { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "keymgr"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; }; armpllclk@2620370 { #clock-cells = <0x0>; compatible = "ti,keystone,pll-clock"; clocks = <0x5>; clock-output-names = "arm-pll-clk"; reg = <0x2620370 0x4>; reg-names = "control"; linux,phandle = <0x2e>; phandle = <0x2e>; }; mainpllclk@2310110 { #clock-cells = <0x0>; compatible = "ti,keystone,main-pll-clock"; clocks = <0x5>; reg = <0x2620350 0x4 0x2310110 0x4 0x2310108 0x4>; reg-names = "control", "multiplier", "post-divider"; linux,phandle = <0x4>; phandle = <0x4>; }; papllclk@2620358 { #clock-cells = <0x0>; compatible = "ti,keystone,pll-clock"; clocks = <0x5>; clock-output-names = "papllclk"; reg = <0x2620358 0x4>; reg-names = "control"; linux,phandle = <0x8>; phandle = <0x8>; }; ddr3apllclk@2620360 { #clock-cells = <0x0>; compatible = "ti,keystone,pll-clock"; clocks = <0x5>; clock-output-names = "ddr-3a-pll-clk"; reg = <0x2620360 0x4>; reg-names = "control"; }; clkdfeiqnsys { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xe>; clock-output-names = "dfe"; reg-names = "control", "domain"; reg = <0x2350004 0xb00 0x2350000 0x400>; domain-id = <0x0>; }; clkpcie1 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xe>; clock-output-names = "pcie"; reg = <0x235002c 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x4>; }; clkgem1 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x7>; clock-output-names = "gem1"; reg = <0x2350040 0xb00 0x2350024 0x400>; reg-names = "control", "domain"; domain-id = <0x9>; linux,phandle = <0x28>; phandle = <0x28>; }; clkgem2 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x7>; clock-output-names = "gem2"; reg = <0x2350044 0xb00 0x2350028 0x400>; reg-names = "control", "domain"; domain-id = <0xa>; linux,phandle = <0x2a>; phandle = <0x2a>; }; clkgem3 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x7>; clock-output-names = "gem3"; reg = <0x2350048 0xb00 0x235002c 0x400>; reg-names = "control", "domain"; domain-id = <0xb>; linux,phandle = <0x2c>; phandle = <0x2c>; }; clktac { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "tac"; reg = <0x2350064 0xb00 0x2350044 0x400>; reg-names = "control", "domain"; domain-id = <0x11>; }; clkrac { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "rac"; reg = <0x2350068 0xb00 0x2350044 0x400>; reg-names = "control", "domain"; domain-id = <0x11>; }; clkdfepd0 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "dfe-pd0"; reg = <0x235006c 0xb00 0x2350044 0x400>; reg-names = "control", "domain"; domain-id = <0x12>; }; clkfftc0 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "fftc-0"; reg = <0x2350070 0xb00 0x235004c 0x400>; reg-names = "control", "domain"; domain-id = <0x13>; }; clkosr { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "osr"; reg = <0x2350088 0xb00 0x235004c 0x400>; reg-names = "control", "domain"; domain-id = <0x15>; linux,phandle = <0x36>; phandle = <0x36>; }; clktcp3d0 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "tcp3d-0"; reg = <0x235008c 0xb00 0x2350058 0x400>; reg-names = "control", "domain"; domain-id = <0x16>; }; clktcp3d1 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "tcp3d-1"; reg = <0x2350094 0xb00 0x2350058 0x400>; reg-names = "control", "domain"; domain-id = <0x17>; }; clkvcp0 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "vcp-0"; reg = <0x235009c 0xb00 0x2350060 0x400>; reg-names = "control", "domain"; domain-id = <0x18>; }; clkvcp1 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "vcp-1"; reg = <0x23500a0 0xb00 0x2350060 0x400>; reg-names = "control", "domain"; domain-id = <0x18>; }; clkvcp2 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "vcp-2"; reg = <0x23500a4 0xb00 0x2350060 0x400>; reg-names = "control", "domain"; domain-id = <0x18>; }; clkvcp3 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "vcp-3"; reg = <0x23500a8 0xb00 0x2350060 0x400>; reg-names = "control", "domain"; domain-id = <0x18>; }; clkbcp { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "bcp"; reg = <0x23500bc 0xb00 0x2350068 0x400>; reg-names = "control", "domain"; domain-id = <0x1a>; }; clkdfepd1 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "dfe-pd1"; reg = <0x23500c0 0xb00 0x2350044 0x400>; reg-names = "control", "domain"; domain-id = <0x1b>; }; clkfftc1 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "fftc-1"; reg = <0x23500c4 0xb00 0x23504c0 0x400>; reg-names = "control", "domain"; domain-id = <0x1c>; }; clkiqnail { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0xb>; clock-output-names = "iqn-ail"; reg = <0x23500c8 0xb00 0x235004c 0x400>; reg-names = "control", "domain"; domain-id = <0x1d>; }; clkuart2 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "uart2"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x21>; phandle = <0x21>; }; clkuart3 { #clock-cells = <0x0>; compatible = "ti,keystone,psc-clock"; clocks = <0x11>; clock-output-names = "uart3"; reg = <0x2350000 0xb00 0x2350000 0x400>; reg-names = "control", "domain"; domain-id = <0x0>; linux,phandle = <0x22>; phandle = <0x22>; }; refclksys { #clock-cells = <0x0>; compatible = "fixed-clock"; clock-frequency = <0x7530000>; clock-output-names = "refclk-sys"; linux,phandle = <0x5>; phandle = <0x5>; }; }; serial@02530c00 { compatible = "ti,keystone-uart", "ns16550a"; current-speed = <0x1c200>; reg-shift = <0x2>; reg-io-width = <0x4>; reg = <0x2530c00 0x100>; clocks = <0x13>; interrupts = <0x0 0x115 0x1>; }; serial@02531000 { compatible = "ti,keystone-uart", "ns16550a"; current-speed = <0x1c200>; reg-shift = <0x2>; reg-io-width = <0x4>; reg = <0x2531000 0x100>; clocks = <0x14>; interrupts = <0x0 0x118 0x1>; }; i2c@2530000 { compatible = "ti,davinci-i2c"; reg = <0x2530000 0x400>; clock-frequency = <0x186a0>; clocks = <0x15>; interrupts = <0x0 0x11b 0x1>; #address-cells = <0x1>; #size-cells = <0x0>; dtt@50 { compatible = "at,24c1024"; reg = <0x50>; }; }; i2c@2530400 { compatible = "ti,davinci-i2c"; reg = <0x2530400 0x400>; clock-frequency = <0x186a0>; clocks = <0x15>; interrupts = <0x0 0x11e 0x1>; #address-cells = <0x1>; #size-cells = <0x0>; }; i2c@2530800 { compatible = "ti,davinci-i2c"; reg = <0x2530800 0x400>; clock-frequency = <0x186a0>; clocks = <0x15>; interrupts = <0x0 0x121 0x1>; #address-cells = <0x1>; #size-cells = <0x0>; }; spi@21000400 { compatible = "ti,keystone-spi", "ti,dm6441-spi"; reg = <0x21000400 0x200>; num-cs = <0x4>; ti,davinci-spi-intr-line = <0x0>; interrupts = <0x0 0x124 0x1>; clocks = <0x16>; #address-cells = <0x1>; #size-cells = <0x0>; ti,davinci-spi-num-cs = <0x5>; n25q128a11@0 { #address-cells = <0x1>; #size-cells = <0x1>; compatible = "Micron,n25q128a11"; spi-max-frequency = <0x337f980>; m25p,fast-read; reg = <0x0>; partition@0 { label = "u-boot-spl"; reg = <0x0 0x100000>; read-only; }; partition@1 { label = "misc"; reg = <0x100000 0xf00000>; }; }; }; spi@21000600 { compatible = "ti,keystone-spi", "ti,dm6441-spi"; reg = <0x21000600 0x200>; num-cs = <0x4>; ti,davinci-spi-intr-line = <0x0>; interrupts = <0x0 0x128 0x1>; clocks = <0x16>; #address-cells = <0x1>; #size-cells = <0x0>; ti,davinci-spi-num-cs = <0x3>; }; spi@21000800 { compatible = "ti,keystone-spi", "ti,dm6441-spi"; reg = <0x21000800 0x200>; num-cs = <0x4>; ti,davinci-spi-intr-line = <0x0>; interrupts = <0x0 0x12c 0x1>; clocks = <0x16>; #address-cells = <0x1>; #size-cells = <0x0>; ti,davinci-spi-num-cs = <0x5>; status = "disabled"; }; usb_phy@2620738 { compatible = "ti,keystone-usbphy"; #address-cells = <0x1>; #size-cells = <0x1>; reg = <0x2620738 0x18>; status = "okay"; linux,phandle = <0x18>; phandle = <0x18>; }; usb@2680000 { compatible = "ti,keystone-dwc3"; #address-cells = <0x1>; #size-cells = <0x1>; reg = <0x2680000 0x10000>; clocks = <0x17>; clock-names = "usb"; interrupts = <0x0 0x189 0x1>; ranges; dma-coherent; dma-ranges; status = "okay"; dwc3@2690000 { compatible = "synopsys,dwc3"; reg = <0x2690000 0x70000>; interrupts = <0x0 0x189 0x1>; usb-phy = <0x18 0x18>; dr_mode = "host"; }; }; wdt@022f0080 { compatible = "ti,keystone-wdt", "ti,davinci-wdt"; reg = <0x22f0080 0x80>; clocks = <0x19>; }; timer@22f0000 { compatible = "ti,keystone-timer"; reg = <0x22f0000 0x80>; interrupts = <0x0 0x6e 0x1>; clocks = <0x1a>; }; gpio@260bf00 { compatible = "ti,keystone-gpio"; reg = <0x260bf00 0x100>; gpio-controller; #gpio-cells = <0x2>; interrupts = <0x0 0x78 0x1 0x0 0x79 0x1 0x0 0x7a 0x1 0x0 0x7b 0x1 0x0 0x7c 0x1 0x0 0x7d 0x1 0x0 0x7e 0x1 0x0 0x7f 0x1 0x0 0x80 0x1 0x0 0x81 0x1 0x0 0x82 0x1 0x0 0x83 0x1 0x0 0x84 0x1 0x0 0x85 0x1 0x0 0x86 0x1 0x0 0x87 0x1 0x0 0x88 0x1 0x0 0x89 0x1 0x0 0x8a 0x1 0x0 0x8b 0x1 0x0 0x8c 0x1 0x0 0x8d 0x1 0x0 0x8e 0x1 0x0 0x8f 0x1 0x0 0x90 0x1 0x0 0x91 0x1 0x0 0x92 0x1 0x0 0x93 0x1 0x0 0x94 0x1 0x0 0x95 0x1 0x0 0x96 0x1 0x0 0x97 0x1>; clocks = <0x1b>; clock-names = "gpio"; ti,ngpio = <0x20>; ti,davinci-gpio-unbanked = <0x20>; }; aemif@21000A00 { compatible = "ti,keystone-aemif", "ti,davinci-aemif"; #address-cells = <0x2>; #size-cells = <0x1>; clocks = <0x1c>; clock-names = "aemif"; clock-ranges; reg = <0x21000a00 0x100>; ranges = <0x0 0x0 0x30000000 0x10000000 0x1 0x0 0x21000a00 0x100>; cs0 { #address-cells = <0x2>; #size-cells = <0x1>; clock-ranges; ranges; ti,cs-chipselect = <0x0>; ti,cs-min-turnaround-ns = <0xc>; ti,cs-read-hold-ns = <0x6>; ti,cs-read-strobe-ns = <0x17>; ti,cs-read-setup-ns = <0x9>; ti,cs-write-hold-ns = <0x8>; ti,cs-write-strobe-ns = <0x17>; ti,cs-write-setup-ns = <0x8>; nand@0,0 { compatible = "ti,keystone-nand", "ti,davinci-nand"; #address-cells = <0x1>; #size-cells = <0x1>; reg = <0x0 0x0 0x4000000 0x1 0x0 0x100>; ti,davinci-chipselect = <0x0>; ti,davinci-mask-ale = <0x2000>; ti,davinci-mask-cle = <0x4000>; ti,davinci-mask-chipsel = <0x0>; nand-ecc-mode = "hw"; ti,davinci-ecc-bits = <0x4>; nand-on-flash-bbt; partition@0 { label = "u-boot"; reg = <0x0 0x100000>; read-only; }; partition@100000 { label = "params"; reg = <0x100000 0x80000>; read-only; }; partition@180000 { label = "ubifs"; reg = <0x180000 0x7fe80000>; }; }; }; }; keystone_irq@26202a0 { compatible = "ti,keystone-irq"; interrupts = <0x0 0x4 0x1>; interrupt-controller; #interrupt-cells = <0x1>; ti,syscon-dev = <0x3 0x2a0>; linux,phandle = <0x25>; phandle = <0x25>; }; phy@2320000 { #phy-cells = <0x0>; compatible = "ti,keystone-serdes-gbe"; reg = <0x2320000 0x2000>; link-rate-kbps = <0x1312d0>; num-lanes = <0x2>; status = "disabled"; clocks = <0x1d>; clock-names = "fck"; #address-cells = <0x1>; #size-cells = <0x0>; lane@0 { status = "disabled"; #phy-cells = <0x0>; reg = <0x0>; control-rate = <0x2>; rx-start = <0x7 0x5>; rx-force = <0x1 0x1>; tx-coeff = <0x0 0x0 0x0 0xc 0x4>; linux,phandle = <0x3d>; phandle = <0x3d>; }; lane@1 { status = "disabled"; reg = <0x1>; #phy-cells = <0x0>; control-rate = <0x2>; rx-start = <0x7 0x5>; rx-force = <0x1 0x1>; tx-coeff = <0x0 0x0 0x0 0xc 0x4>; linux,phandle = <0x3e>; phandle = <0x3e>; }; }; pcie@21800000 { compatible = "ti,keystone-pcie", "snps,dw-pcie"; clocks = <0x1e>; clock-names = "pcie"; #address-cells = <0x3>; #size-cells = <0x2>; reg = <0x21801000 0x2000 0x21800000 0x1000 0x2620128 0x4>; ranges = <0x82000000 0x0 0x50000000 0x50000000 0x0 0x10000000>; status = "disabled"; device_type = "pci"; num-lanes = <0x2>; interrupts = <0x0 0x26 0x1>; #interrupt-cells = <0x1>; interrupt-map-mask = <0x0 0x0 0x0 0x7>; interrupt-map = <0x0 0x0 0x0 0x1 0x1f 0x0 0x0 0x0 0x0 0x2 0x1f 0x1 0x0 0x0 0x0 0x3 0x1f 0x2 0x0 0x0 0x0 0x4 0x1f 0x3>; msi-interrupt-controller { interrupt-controller; #interrupt-cells = <0x1>; interrupt-parent = <0x1>; interrupts = <0x0 0x1e 0x1 0x0 0x1f 0x1 0x0 0x20 0x1 0x0 0x21 0x1 0x0 0x22 0x1 0x0 0x23 0x1 0x0 0x24 0x1 0x0 0x25 0x1>; }; legacy-interrupt-controller { interrupt-controller; #interrupt-cells = <0x1>; interrupt-parent = <0x1>; interrupts = <0x0 0x1a 0x1 0x0 0x1b 0x1 0x0 0x1c 0x1 0x0 0x1d 0x1>; linux,phandle = <0x1f>; phandle = <0x1f>; }; }; edac@21010000 { compatible = "ti,keystone-ddr3-mc-edac"; reg = <0x21010000 0x200>; interrupts = <0x0 0x1c0 0x1>; interrupt-parent = <0x1>; status = "ok"; }; srss@2330000 { compatible = "ti,keystone-srss"; reg = <0x2330000 0x800>; clocks = <0x20>; clock-names = "srssclock"; }; serial@02348400 { compatible = "ti,keystone-uart", "ns16550a"; current-speed = <0x1c200>; reg-shift = <0x2>; reg-io-width = <0x4>; reg = <0x2348400 0x100>; clocks = <0x21>; interrupts = <0x0 0x1b0 0x1>; }; serial@02348800 { compatible = "ti,keystone-uart", "ns16550a"; current-speed = <0x1c200>; reg-shift = <0x2>; reg-io-width = <0x4>; reg = <0x2348800 0x100>; clocks = <0x22>; interrupts = <0x0 0x1b3 0x1>; }; gpio@2348000 { compatible = "ti,keystone-gpio"; reg = <0x2348000 0x100>; gpio-controller; #gpio-cells = <0x2>; interrupts = <0x0 0x98 0x1 0x0 0x99 0x1 0x0 0x9a 0x1 0x0 0x9b 0x1 0x0 0x9c 0x1 0x0 0x9d 0x1 0x0 0x9e 0x1 0x0 0x9f 0x1 0x0 0xa0 0x1 0x0 0xa1 0x1 0x0 0xa2 0x1 0x0 0xa3 0x1 0x0 0xa4 0x1 0x0 0xa5 0x1 0x0 0xa6 0x1 0x0 0xa7 0x1 0x0 0xa8 0x1 0x0 0xa9 0x1 0x0 0xaa 0x1 0x0 0xab 0x1 0x0 0xac 0x1 0x0 0xad 0x1 0x0 0xae 0x1 0x0 0xaf 0x1 0x0 0xb0 0x1 0x0 0x191 0x1 0x0 0x192 0x1 0x0 0x193 0x1 0x0 0x194 0x1 0x0 0x195 0x1 0x0 0x196 0x1 0x0 0x197 0x1>; clocks = <0x1b>; clock-names = "gpio"; ti,ngpio = <0x20>; ti,davinci-gpio-unbanked = <0x20>; }; pinmux@02620690 { compatible = "pinctrl-single"; reg = <0x2620690 0xc>; #address-cells = <0x1>; #size-cells = <0x0>; pinctrl-single,bit-per-mux; pinctrl-single,register-width = <0x20>; pinctrl-single,function-mask = <0x1>; status = "disabled"; pinmux_uart3_emifa_pins { pinctrl-single,bits = <0x0 0x0 0xc0>; }; pinmux_uart2_emifa_pins { pinctrl-single,bits = <0x0 0x0 0x30>; }; pinmux_uart01_spi2_pins { pinctrl-single,bits = <0x0 0x0 0x4>; }; pinmux_dfesync_rp1_pins { pinctrl-single,bits = <0x0 0x0 0x2>; }; pinmux_avsif_pins { pinctrl-single,bits = <0x0 0x0 0x1>; }; pinmux_gpio_emu_pins { pinctrl-single,bits = <0x4 0x0 0xfffe0000>; }; pinmux_gpio_timio_pins { pinctrl-single,bits = <0x4 0x0 0xfff0>; }; pinmux_gpio_spi2cs_pins { pinctrl-single,bits = <0x4 0x0 0xf>; }; pinmux_gpio_dfeio_pins { pinctrl-single,bits = <0x8 0x0 0xffff0000>; }; pinmux_gpio_emifa_pins { pinctrl-single,bits = <0x8 0x0 0xffff>; }; }; msmram@0c000000 { compatible = "mmio-sram"; reg = <0xc000000 0x200000>; ranges = <0x0 0xc000000 0x200000>; #address-cells = <0x1>; #size-cells = <0x1>; sram-mpm@0 { compatible = "ti,keystone-dsp-msm-ram"; reg = <0x0 0x80000>; }; sram-bm@1f8000 { reg = <0x1f8000 0x8000>; }; sram-cmem@80000 { reg = <0x80000 0xc0000>; linux,phandle = <0x48>; phandle = <0x48>; }; }; keystone_dsp_gpio@02620240 { compatible = "ti,keystone-dsp-gpio"; gpio-controller; #gpio-cells = <0x2>; gpio,syscon-dev = <0x3 0x240>; linux,phandle = <0x26>; phandle = <0x26>; }; keystone_dsp_gpio@2620244 { compatible = "ti,keystone-dsp-gpio"; gpio-controller; #gpio-cells = <0x2>; gpio,syscon-dev = <0x3 0x244>; linux,phandle = <0x29>; phandle = <0x29>; }; keystone_dsp_gpio@2620248 { compatible = "ti,keystone-dsp-gpio"; gpio-controller; #gpio-cells = <0x2>; gpio,syscon-dev = <0x3 0x248>; linux,phandle = <0x2b>; phandle = <0x2b>; }; keystone_dsp_gpio@262024c { compatible = "ti,keystone-dsp-gpio"; gpio-controller; #gpio-cells = <0x2>; gpio,syscon-dev = <0x3 0x24c>; linux,phandle = <0x2d>; phandle = <0x2d>; }; dsp0 { compatible = "ti,k2l-dsp"; reg = <0x10800000 0x100000 0x10e00000 0x8000 0x10f00000 0x8000>; reg-names = "l2sram", "l1pram", "l1dram"; clocks = <0x23>; ti,syscon-dev = <0x3 0x844>; resets = <0x24 0x0>; interrupt-parent = <0x25>; interrupts = <0x0 0x8>; interrupt-names = "vring", "exception"; kick-gpio = <0x26 0x1b 0x0>; memory-region = <0x27>; }; dsp1 { compatible = "ti,k2l-dsp"; reg = <0x11800000 0x100000 0x11e00000 0x8000 0x11f00000 0x8000>; reg-names = "l2sram", "l1pram", "l1dram"; clocks = <0x28>; ti,syscon-dev = <0x3 0x848>; resets = <0x24 0x1>; interrupt-parent = <0x25>; interrupts = <0x1 0x9>; interrupt-names = "vring", "exception"; kick-gpio = <0x29 0x1b 0x0>; memory-region = <0x27>; }; dsp2 { compatible = "ti,k2l-dsp"; reg = <0x12800000 0x100000 0x12e00000 0x8000 0x12f00000 0x8000>; reg-names = "l2sram", "l1pram", "l1dram"; clocks = <0x2a>; ti,syscon-dev = <0x3 0x84c>; resets = <0x24 0x2>; interrupt-parent = <0x25>; interrupts = <0x2 0xa>; interrupt-names = "vring", "exception"; kick-gpio = <0x2b 0x1b 0x0>; memory-region = <0x27>; }; dsp3 { compatible = "ti,k2l-dsp"; reg = <0x13800000 0x100000 0x13e00000 0x8000 0x13f00000 0x8000>; reg-names = "l2sram", "l1pram", "l1dram"; clocks = <0x2c>; ti,syscon-dev = <0x3 0x850>; resets = <0x24 0x3>; interrupt-parent = <0x25>; interrupts = <0x3 0xb>; interrupt-names = "vring", "exception"; kick-gpio = <0x2d 0x1b 0x0>; memory-region = <0x27>; }; mdio@26200f00 { compatible = "ti,keystone_mdio", "ti,davinci_mdio"; #address-cells = <0x1>; #size-cells = <0x0>; reg = <0x26200f00 0x100>; status = "ok"; clocks = <0x1d>; clock-names = "fck"; bus_freq = <0x2625a0>; ethernet-phy@0 { compatible = "marvell,88E1514", "marvell,88E1510", "ethernet-phy-ieee802.3-c22"; reg = <0x0>; linux,phandle = <0x3a>; phandle = <0x3a>; }; ethernet-phy@1 { compatible = "marvell,88E1514", "marvell,88E1510", "ethernet-phy-ieee802.3-c22"; reg = <0x1>; linux,phandle = <0x3c>; phandle = <0x3c>; }; }; debugss { compatible = "ti,keystone-debugss"; clocks = <0x4 0x2e 0x2f 0x30 0x31>; clock-names = "mainpllclock", "armpllclock", "debugssclock", "gemtraceclock", "tetbclock"; }; qos-tree-0 { output-queue = <0x38e>; strict-priority; byte-units; output-rate = <0x1dcd650 0x61a8>; overhead-bytes = <0x18>; linux,phandle = <0x33>; phandle = <0x33>; high-priority { byte-units; priority = <0x0>; signaling { input-queues = <0x1f6e 0x1f87>; stats-class = "fastpath-hp"; drop-policy = "no-drop"; }; linux-signaling { input-queues = <0x1f8d>; stats-class = "linux-hp"; drop-policy = "no-drop"; }; }; wrr-aggregator { weighted-round-robin; priority = <0x1>; byte-units; output-rate = <0x17d7840 0x61a8>; overhead-bytes = <0x18>; wrr-cos0 { weighted-round-robin; byte-units; weight = <0x14>; overhead-bytes = <0x18>; 4g-cos0 { drop-policy = "tail-drop-32kb"; weight = <0x5>; input-queues = <0x1f4a 0x1f81>; stats-class = "cos0"; }; 3g-cos0 { drop-policy = "tail-drop-32kb"; weight = <0x5>; input-queues = <0x1f4c>; stats-class = "cos0"; }; wifi-cos0 { drop-policy = "tail-drop-32kb"; weight = <0x5>; input-queues = <0x1f4e>; stats-class = "cos0"; }; linux-cos0 { drop-policy = "tail-drop-32kb"; weight = <0x5>; input-queues = <0x1f89>; stats-class = "linux-cos0"; }; }; wrr-cos1 { weighted-round-robin; byte-units; weight = <0x28>; overhead-bytes = <0x18>; 4g-cos1 { drop-policy = "red-32kb-128kb"; weight = <0xa>; input-queues = <0x1f52 0x1f82>; stats-class = "cos1"; }; 3g-cos1 { drop-policy = "red-32kb-128kb"; weight = <0xa>; input-queues = <0x1f54>; stats-class = "cos1"; }; wifi-cos1 { drop-policy = "red-32kb-128kb"; weight = <0xa>; input-queues = <0x1f56>; stats-class = "cos1"; }; linux-cos1 { drop-policy = "red-32kb-128kb"; weight = <0xa>; input-queues = <0x1f8a>; stats-class = "linux-cos1"; }; }; wrr-cos2 { weighted-round-robin; byte-units; weight = <0x3c>; overhead-bytes = <0x18>; 4g-cos2 { drop-policy = "red-32kb-64kb"; weight = <0xf>; input-queues = <0x1f5a 0x1f83>; stats-class = "cos2"; }; 3g-cos2 { drop-policy = "red-32kb-64kb"; weight = <0xf>; input-queues = <0x1f5c>; stats-class = "cos2"; }; wifi-cos2 { drop-policy = "red-32kb-64kb"; weight = <0xf>; input-queues = <0x1f5e>; stats-class = "cos2"; }; linux-cos2 { drop-policy = "red-32kb-64kb"; weight = <0xf>; input-queues = <0x1f8b>; stats-class = "linux-cos2"; }; }; wrr-cos3 { weighted-round-robin; byte-units; weight = <0x50>; overhead-bytes = <0x18>; 4g-cos3 { drop-policy = "tail-drop-64kb"; weight = <0x14>; input-queues = <0x1f62 0x1f84>; stats-class = "cos3"; }; 3g-cos3 { drop-policy = "tail-drop-64kb"; weight = <0x14>; input-queues = <0x1f64>; stats-class = "cos3"; }; wifi-cos3 { drop-policy = "tail-drop-64kb"; weight = <0x14>; input-queues = <0x1f66>; stats-class = "cos3"; }; linux-cos3 { drop-policy = "tail-drop-64kb"; weight = <0x14>; input-queues = <0x1f8c>; stats-class = "linux-cos3"; }; }; }; best-effort { byte-units; priority = <0x2>; drop-policy = "tail-drop-64kb"; fastpath-best-effort { input-queues = <0x1f40 0x1f41 0x1f42 0x1f43 0x1f44 0x1f45 0x1f46 0x1f47 0x1f48 0x1f49 0x1f4b 0x1f4d 0x1f4f 0x1f50 0x1f51 0x1f53 0x1f55 0x1f57 0x1f58 0x1f59 0x1f5b 0x1f5d 0x1f5f 0x1f60 0x1f61 0x1f63 0x1f65 0x1f67 0x1f68 0x1f69 0x1f6a 0x1f6b 0x1f6c 0x1f6d 0x1f6f 0x1f70 0x1f71 0x1f72 0x1f73 0x1f74 0x1f75 0x1f76 0x1f77 0x1f78 0x1f79 0x1f7a 0x1f7b 0x1f7c 0x1f7d 0x1f7e 0x1f7f 0x1f80 0x1f85 0x1f86>; stats-class = "fastpath-be"; }; linux-best-effort { input-queues = <0x1f88>; stats-class = "linux-be"; }; }; }; qos-tree-1 { output-queue = <0x38e>; strict-priority; byte-units; output-rate = <0x1dcd650 0x61a8>; overhead-bytes = <0x18>; linux,phandle = <0x34>; phandle = <0x34>; high-priority { byte-units; priority = <0x0>; signaling { input-queues = <0x192e 0x1947>; stats-class = "fastpath-hp"; drop-policy = "no-drop"; }; linux-signaling { input-queues = <0x194d>; stats-class = "linux-hp"; drop-policy = "no-drop"; }; }; wrr-aggregator { weighted-round-robin; priority = <0x1>; byte-units; output-rate = <0x17d7840 0x61a8>; overhead-bytes = <0x18>; wrr-cos0 { weighted-round-robin; byte-units; weight = <0x14>; overhead-bytes = <0x18>; 4g-cos0 { drop-policy = "tail-drop-32kb"; weight = <0x5>; input-queues = <0x190a 0x1941>; stats-class = "cos0"; }; 3g-cos0 { drop-policy = "tail-drop-32kb"; weight = <0x5>; input-queues = <0x190c>; stats-class = "cos0"; }; wifi-cos0 { drop-policy = "tail-drop-32kb"; weight = <0x5>; input-queues = <0x190e>; stats-class = "cos0"; }; linux-cos0 { drop-policy = "tail-drop-32kb"; weight = <0x5>; input-queues = <0x1949>; stats-class = "linux-cos0"; }; }; wrr-cos1 { weighted-round-robin; byte-units; weight = <0x28>; overhead-bytes = <0x18>; 4g-cos1 { drop-policy = "red-32kb-128kb"; weight = <0xa>; input-queues = <0x1912 0x1942>; stats-class = "cos1"; }; 3g-cos1 { drop-policy = "red-32kb-128kb"; weight = <0xa>; input-queues = <0x1914>; stats-class = "cos1"; }; wifi-cos1 { drop-policy = "red-32kb-128kb"; weight = <0xa>; input-queues = <0x1916>; stats-class = "cos1"; }; linux-cos1 { drop-policy = "red-32kb-128kb"; weight = <0xa>; input-queues = <0x194a>; stats-class = "linux-cos1"; }; }; wrr-cos2 { weighted-round-robin; byte-units; weight = <0x3c>; overhead-bytes = <0x18>; 4g-cos2 { drop-policy = "red-32kb-64kb"; weight = <0xf>; input-queues = <0x191a 0x1943>; stats-class = "cos2"; }; 3g-cos2 { drop-policy = "red-32kb-64kb"; weight = <0xf>; input-queues = <0x191c>; stats-class = "cos2"; }; wifi-cos2 { drop-policy = "red-32kb-64kb"; weight = <0xf>; input-queues = <0x191e>; stats-class = "cos2"; }; linux-cos2 { drop-policy = "red-32kb-64kb"; weight = <0xf>; input-queues = <0x194b>; stats-class = "linux-cos2"; }; }; wrr-cos3 { weighted-round-robin; byte-units; weight = <0x50>; overhead-bytes = <0x18>; 4g-cos3 { drop-policy = "tail-drop-64kb"; weight = <0x14>; input-queues = <0x1922 0x1944>; stats-class = "cos3"; }; 3g-cos3 { drop-policy = "tail-drop-64kb"; weight = <0x14>; input-queues = <0x1924>; stats-class = "cos3"; }; wifi-cos3 { drop-policy = "tail-drop-64kb"; weight = <0x14>; input-queues = <0x1926>; stats-class = "cos3"; }; linux-cos3 { drop-policy = "tail-drop-64kb"; weight = <0x14>; input-queues = <0x194c>; stats-class = "linux-cos3"; }; }; }; best-effort { byte-units; priority = <0x2>; drop-policy = "tail-drop-64kb"; fastpath-best-effort { input-queues = <0x1900 0x1901 0x1902 0x1903 0x1904 0x1905 0x1906 0x1907 0x1908 0x1909 0x190b 0x190d 0x190f 0x1910 0x1911 0x1913 0x1915 0x1917 0x1918 0x1919 0x191b 0x191d 0x191f 0x1920 0x1921 0x1923 0x1925 0x1927 0x1928 0x1929 0x192a 0x192b 0x192c 0x192d 0x192f 0x1930 0x1931 0x1932 0x1933 0x1934 0x1935 0x1936 0x1937 0x1938 0x1939 0x193a 0x193b 0x193c 0x193d 0x193e 0x193f 0x1940 0x1945 0x1946>; stats-class = "fastpath-be"; }; linux-best-effort { input-queues = <0x1948>; stats-class = "linux-be"; }; }; }; default-drop-policies { linux,phandle = <0x32>; phandle = <0x32>; no-drop { default; packet-units; limit = <0x0>; }; tail-drop-64pkts { packet-units; limit = <0x40>; }; tail-drop-100pkts { packet-units; limit = <0x64>; }; tail-drop-32kb { byte-units; limit = <0x8000>; }; tail-drop-64kb { byte-units; limit = <0x10000>; }; red-32kb-128kb { byte-units; limit = <0x30000>; random-early-drop = <0x8000 0x20000 0x2 0x7d0>; }; red-32kb-64kb { byte-units; limit = <0x20000>; random-early-drop = <0x8000 0x10000 0x2 0x7d0>; }; all-drop { byte-units; limit = <0x0>; }; }; intd@2a0c000 { compatible = "syscon"; reg = <0x2a0c000 0x3c8>; linux,phandle = <0x35>; phandle = <0x35>; }; qmss@2a40000 { compatible = "ti,keystone-navigator-qmss"; dma-coherent; #address-cells = <0x1>; #size-cells = <0x1>; clocks = <0xb>; clock-names = "qmss_clk"; ranges; queue-range = <0x0 0x2000>; linkram0 = <0x100000 0x4000>; linkram1 = <0x70000000 0x10000>; qmgrs { #address-cells = <0x1>; #size-cells = <0x1>; ranges; qmgr0 { managed-queues = <0x0 0x2000>; reg = <0x2a40000 0x20000 0x2a06000 0x400 0x2a02000 0x1000 0x2a03000 0x1000 0x23a80000 0x20000 0x2a80000 0x20000>; reg-names = "peek", "status", "config", "region", "push", "pop"; }; }; queue-pools { qpend { qpend-0 { qrange = <0x292 0x8>; interrupts = <0x0 0x28 0xf04 0x0 0x29 0xf04 0x0 0x2a 0xf04 0x0 0x2b 0xf04 0x0 0x2c 0xf04 0x0 0x2d 0xf04 0x0 0x2e 0xf04 0x0 0x2f 0xf04>; }; qpend-1 { qrange = <0x210 0x10>; interrupts = <0x0 0x30 0xf04 0x0 0x31 0xf04 0x0 0x32 0xf04 0x0 0x33 0xf04 0x0 0x34 0xf04 0x0 0x35 0xf04 0x0 0x36 0xf04 0x0 0x37 0xf04 0x0 0x38 0xf04 0x0 0x39 0xf04 0x0 0x3a 0xf04 0x0 0x3b 0xf04 0x0 0x3c 0xf04 0x0 0x3d 0xf04 0x0 0x3e 0xf04 0x0 0x3f 0xf04>; qalloc-by-id; }; qpend-2 { qrange = <0x220 0x10>; interrupts = <0x0 0x40 0xf04 0x0 0x41 0xf04 0x0 0x42 0xf04 0x0 0x3b 0xf04 0x0 0x44 0xf04 0x0 0x45 0xf04 0x0 0x46 0xf04 0x0 0x47 0xf04 0x0 0x48 0xf04 0x0 0x49 0xf04 0x0 0x4a 0xf04 0x0 0x4b 0xf04 0x0 0x4c 0xf04 0x0 0x4d 0xf04 0x0 0x4e 0xf04 0x0 0x4f 0xf04>; }; }; general-purpose { gp-0 { qrange = <0xfa0 0x40>; }; netcp-tx { qrange = <0x380 0x80>; qalloc-by-id; }; }; qos { qos-inputs-0 { qrange = <0x1f40 0xc0>; pdsp-id = <0x3>; ticks-per-sec = <0x2710>; qos-cfg = <0x4 0x32 0x1 0x1 0xf00 0x0 0x0>; sched-port-configs = <0x0 0x14 0x1c8>; drop-out-profiles = <0x0 0x24 0xc>; drop-cfg-profiles = <0x0 0x8 0x14>; drop-queue-configs = <0x0 0x50 0x4>; drop-policies = <0x32>; qos-tree = <0x33>; statistics-profiles = <0x0 0x30>; qalloc-by-id; }; qos-inputs-1 { qrange = <0x1900 0xc0>; pdsp-id = <0x7>; ticks-per-sec = <0x2710>; qos-cfg = <0x4 0x32 0x1 0x1 0xf00 0x0 0x0>; sched-port-configs = <0x0 0x14 0x1c8>; drop-out-profiles = <0x0 0x24 0xc>; drop-cfg-profiles = <0x0 0x8 0x14>; drop-queue-configs = <0x0 0x50 0x4>; drop-policies = <0x32>; qos-tree = <0x34>; statistics-profiles = <0x0 0x30>; qalloc-by-id; }; }; accumulator { acc-low-0 { qrange = <0x1e0 0x20>; accumulator = <0x0 0x2f 0x10 0x2 0x32>; interrupts = <0x0 0xe2 0xf01>; multi-queue; }; }; }; descriptor-regions { #address-cells = <0x1>; #size-cells = <0x1>; ranges; region-12 { id = <0xc>; region-spec = <0x2800 0x80>; link-index = <0x4000>; }; }; pdsps { #address-cells = <0x1>; #size-cells = <0x1>; ranges; pdsp0@0x2a10000 { syscon-intd = <0x35>; reg = <0x2a10000 0x1000 0x2a0f000 0x100 0x2a20000 0x4000>; id = <0x0>; }; pdsp3@0x2a13000 { firmware_type = "qos"; syscon-intd = <0x35>; reg = <0x2a13000 0x1000 0x2a0f300 0x100 0x2a2c000 0x4000>; reg-names = "iram", "regs", "command"; id = <0x3>; }; pdsp7@0x2a17000 { firmware_type = "qos"; syscon-intd = <0x35>; reg = <0x2a17000 0x1000 0x2a0f700 0x100 0x2a3c000 0x4000>; reg-names = "iram", "regs", "command"; id = <0x7>; }; }; }; knav_dmas@0 { compatible = "ti,keystone-navigator-dma"; clocks = <0x8>; #address-cells = <0x1>; #size-cells = <0x1>; ranges; ti,navigator-cloud-address = <0x23a80000 0x23a90000>; dma_gbe@0 { reg = <0x26186000 0x100 0x26187000 0x2a0 0x26188000 0xb60 0x26186100 0x80 0x26189000 0x1000>; reg-names = "global", "txchan", "rxchan", "txsched", "rxflow"; ti,enable-all; linux,phandle = <0x37>; phandle = <0x37>; }; }; subsys@26200000 { compatible = "syscon"; reg = <0x26200000 0x100>; linux,phandle = <0x38>; phandle = <0x38>; }; phy@232a000 { status = "okay"; compatible = "ti,keystone-serdes-gbe"; reg = <0x232a000 0x2000>; link-rate-kbps = <0x1312d0>; num-lanes = <0x2>; #address-cells = <0x1>; #size-cells = <0x0>; clocks = <0x1d>; clock-names = "fck"; lane@0 { status = "ok"; reg = <0x0>; #phy-cells = <0x0>; control-rate = <0x2>; rx-start = <0x7 0x5>; rx-force = <0x1 0x1>; tx-coeff = <0x0 0x0 0x0 0xc 0x4>; linux,phandle = <0x39>; phandle = <0x39>; }; lane@1 { status = "ok"; reg = <0x1>; #phy-cells = <0x0>; control-rate = <0x2>; rx-start = <0x7 0x5>; rx-force = <0x1 0x1>; tx-coeff = <0x0 0x0 0x0 0xc 0x4>; linux,phandle = <0x3b>; phandle = <0x3b>; }; }; netcp@26000000 { reg = <0x2620110 0x8>; reg-names = "efuse"; compatible = "ti,netcp-1.0"; #address-cells = <0x1>; #size-cells = <0x1>; ranges = <0x0 0x26000000 0x1000000>; clocks = <0xd 0x1d 0xe 0x36>; clock-names = "pa_clk", "ethss_clk", "cpts", "osr_clk"; dma-coherent; ti,navigator-dmas = <0x37 0x0 0x37 0x8 0x37 0x0 0x37 0x16 0x37 0x17 0x37 0x18 0x37 0x19 0x37 0x1b 0x37 0x1c 0x37 0x1d 0x37 0x1e 0x37 0x8 0x37 0x9 0x37 0xa 0x37 0xb 0x37 0xc 0x37 0xd 0x37 0xe 0x37 0x1f 0x37 0x12>; ti,navigator-dma-names = "netrx0", "netrx1", "nettx", "netrx0-pa", "netrx1-pa", "netrx2-pa", "netrx3-pa", "netrx4-pa", "netrx5-pa", "netrx6-pa", "netrx7-pa", "pa-cl0", "pa-cl1", "pa-cl2", "pa-cl3", "pa-cl4", "pa-cl5", "pa-cl6", "pa-cmd-rsp", "sa-tx0"; netcp-devices { #address-cells = <0x1>; #size-cells = <0x1>; ranges; gbe@200000 { label = "netcp-gbe"; compatible = "ti,netcp-gbe-5"; syscon-subsys = <0x38>; reg = <0x200100 0x400 0x220000 0x20000>; tx-queue = <0x380>; tx-channel = "nettx"; cpts-rftclk-sel = <0x0>; cpts-ts-comp-length; interfaces { interface-0 { phys = <0x39>; slave-port = <0x0>; link-interface = <0x1>; phy-handle = <0x3a>; linux,phandle = <0x3f>; phandle = <0x3f>; }; interface-1 { phys = <0x3b>; slave-port = <0x1>; link-interface = <0x1>; phy-handle = <0x3c>; linux,phandle = <0x42>; phandle = <0x42>; }; }; secondary-slave-ports { port-2 { phys = <0x3d>; slave-port = <0x2>; link-interface = <0x2>; }; port-3 { phys = <0x3e>; slave-port = <0x3>; link-interface = <0x2>; }; }; }; pa@0 { #address-cells = <0x1>; #size-cells = <0x1>; label = "netcp-pa2"; compatible = "ti,netcp-pa2"; reg = <0x0 0x100 0x400 0x40 0x500 0x80 0x800 0x1000 0x6000 0x100 0x8000 0x100 0x400000 0x900000>; mac-lut-ranges = <0x0 0x2b 0x38 0x3f>; ip-lut-ranges = <0x3d 0x3f>; rx-route = <0x210 0x16>; tx-cmd-pool = <0x100 0xc>; rx-cmd-rsp-pool = <0x100 0xc>; rx-cmd-rsp-chan = "pa-cmd-rsp"; rx-cmd-rsp-queue-depth = <0x80 0x20 0x0 0x0>; rx-cmd-rsp-buffer-size = <0x80 0x200 0x0 0x0>; interfaces { interface-0 { slave-port = <0x0>; rx-channel = "netrx0-pa"; linux,phandle = <0x40>; phandle = <0x40>; }; interface-1 { slave-port = <0x1>; rx-channel = "netrx1-pa"; linux,phandle = <0x43>; phandle = <0x43>; }; }; clusters { #address-cells = <0x1>; #size-cells = <0x0>; cluster@0 { reg = <0x0>; tx-queue = <0x388>; tx-channel = "pa-cl0"; }; cluster@1 { reg = <0x1>; tx-queue = <0x389>; tx-channel = "pa-cl1"; }; cluster@5 { reg = <0x5>; tx-queue = <0x38d>; tx-channel = "pa-cl5"; }; cluster@6 { reg = <0x6>; tx-queue = <0x38e>; tx-channel = "pa-cl6"; }; }; }; qos@0 { label = "netcp-qos"; compatible = "ti,netcp-qos"; tx-channel = "pa-cl6"; interfaces { interface-0 { tx-queues = <0x38e 0x1f88 0x1f89 0x1f8a 0x1f8b 0x1f8c 0x1f8d>; linux,phandle = <0x41>; phandle = <0x41>; }; interface-1 { tx-queues = <0x38e 0x1948 0x1949 0x194a 0x194b 0x194c 0x194d>; linux,phandle = <0x44>; phandle = <0x44>; }; }; }; sa@80000 { label = "netcp-sa"; multi-interface; natt-port = <0x0>; tx-submit-queue = <0x392>; interfaces { interface-0 { slave-port = <0x0>; ti,tx-channel = "sa-tx0"; }; interface-1 { slave-port = <0x1>; ti,tx-channel = "sa-tx0"; }; }; }; }; netcp-interfaces { interface-0 { rx-channel = "netrx0"; rx-pool = <0x400 0xc>; rx-queue-depth = <0x80 0x80 0x0 0x0>; rx-buffer-size = <0x5ee 0x1000 0x0 0x0>; rx-queue = <0x210>; tx-pools = <0x400 0xc 0x11 0x11 0x40 0xc 0x11 0x11 0x40 0xc 0x11 0x11 0x40 0xc 0x11 0x11 0x40 0xc 0x11 0x11 0x40 0xc 0x11 0x11 0x40 0xc 0x11 0x11>; tx-completion-queue = <0x212>; efuse-mac = <0x1>; netcp-gbe = <0x3f>; netcp-pa2 = <0x40>; netcp-qos = <0x41>; }; interface-1 { rx-channel = "netrx1"; rx-pool = <0x400 0xc>; rx-queue-depth = <0x80 0x80 0x0 0x0>; rx-buffer-size = <0x5ee 0x1000 0x0 0x0>; rx-queue = <0x211>; tx-pools = <0x400 0xc 0x11 0x11 0x40 0xc 0x11 0x11 0x40 0xc 0x11 0x11 0x40 0xc 0x11 0x11 0x40 0xc 0x11 0x11 0x40 0xc 0x11 0x11 0x40 0xc 0x11 0x11>; tx-completion-queue = <0x213>; efuse-mac = <0x0>; local-mac-address = [02 18 31 7e 3e 7f]; netcp-gbe = <0x42>; netcp-pa2 = <0x43>; netcp-qos = <0x44>; }; }; }; subsys@26080000 { #address-cells = <0x1>; #size-cells = <0x1>; ranges = <0x0 0x26080000 0x40000>; compatible = "simple-bus"; dma-coherent; dma-ranges; subsys@0 { compatible = "syscon"; reg = <0x0 0x100>; linux,phandle = <0x45>; phandle = <0x45>; }; hwrng@24000 { compatible = "ti,keystone-rng"; ti,syscon-sa-cfg = <0x45>; clocks = <0x46>; clock-names = "fck"; reg = <0x24000 0x1000>; }; crypto@0 { compatible = "ti,netcp-sa-crypto"; syscon-subsys = <0x45>; clocks = <0x46>; clock-names = "fck"; ti,navigator-dmas = <0x37 0x1a 0x37 0x12>; ti,navigator-dma-names = "crypto-rx", "crypto-tx"; ti,rx-channel = "crypto-rx"; ti,rx-queue-depth = <0x100 0x40 0x0 0x0>; ti,rx-compl-queue = <0x218>; ti,rx-pool = <0x200 0xc>; ti,tx-channel = "crypto-tx"; ti,tx-queue-depth = <0x100>; ti,tx-completion-queue = <0x219>; ti,tx-pool = <0x200 0xc>; ti,tx-submit-queue = <0x392>; ti,sc-id = <0x7000 0x71ff>; }; }; dspmem@a0000000 { compatible = "ti,keystone-dsp-mem"; reg = <0xa0000000 0x10000000>; }; mpax { compatible = "ti,uio-module-drv"; mem = <0xbc00000 0xa00>; }; edma3 { compatible = "ti,uio-module-drv"; mem = <0x2700000 0xc0000>; }; secmgr { compatible = "ti,uio-module-drv"; mem = <0x2500100 0x4>; }; qmss { compatible = "ti,uio-module-drv"; mem = <0x2a00000 0x100000 0x23a00000 0x200000>; }; qpend0 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x2c 0xf04>; interrupt-mode = <0x1>; cfg-params { ti,qm-queue = <0x296>; }; }; qpend1 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x2d 0xf04>; interrupt-mode = <0x1>; cfg-params { ti,qm-queue = <0x297>; }; }; qpend2 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x2e 0xf04>; interrupt-mode = <0x1>; cfg-params { ti,qm-queue = <0x298>; }; }; qpend3 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x2f 0xf04>; interrupt-mode = <0x1>; cfg-params { ti,qm-queue = <0x299>; }; }; cic2_out32 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1c3 0xf01>; }; cic2_out33 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1c4 0xf01>; }; cic2_out34 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1c5 0xf01>; }; cic2_out35 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1c6 0xf01>; }; cic2_out36 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1c7 0xf01>; }; cic2_out37 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1c8 0xf01>; }; cic2_out38 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1c9 0xf01>; }; cic2_out39 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1ca 0xf01>; }; cic2_out40 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1cb 0xf01>; }; cic2_out41 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1cc 0xf01>; }; cic2_out42 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1cd 0xf01>; }; cic2_out43 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1ce 0xf01>; }; cic2_out44 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1cf 0xf01>; }; cic2_out45 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1d0 0xf01>; }; cic2_out46 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1d1 0xf01>; }; cic2_out47 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1d2 0xf01>; }; cic2_out18 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1d3 0xf01>; }; cic2_out19 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1d4 0xf01>; }; cic2_out22 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1d5 0xf01>; }; cic2_out23 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1d6 0xf01>; }; cic2_out50 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1d7 0xf01>; }; cic2_out51 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1d8 0xf01>; }; cic2_out66 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1d9 0xf01>; }; cic2_out67 { compatible = "ti,uio-module-drv"; interrupts = <0x0 0x1da 0xf01>; }; srss { compatible = "ti,uio-module-drv"; mem = <0x2330000 0x400>; clocks = <0x20>; interrupts = <0x0 0x173 0xf01>; }; }; cpus { #address-cells = <0x1>; #size-cells = <0x0>; interrupt-parent = <0x1>; cpu@0 { compatible = "arm,cortex-a15"; device_type = "cpu"; reg = <0x0>; }; cpu@1 { compatible = "arm,cortex-a15"; device_type = "cpu"; reg = <0x1>; }; }; reserved-memory { #address-cells = <0x2>; #size-cells = <0x2>; ranges; dsp_common_cma_pool { compatible = "shared-dma-pool"; reg = <0x8 0x1f800000 0x0 0x800000>; reusable; linux,phandle = <0x27>; phandle = <0x27>; }; dsp_reserved_mpm_area { compatible = "shared-dma-pool"; reg = <0x8 0x20000000 0x0 0x10000000>; no-map; status = "okay"; }; cmem_block_mem@830000000 { reg = <0x8 0x30000000 0x0 0x18000000>; no-map; status = "okay"; linux,phandle = <0x47>; phandle = <0x47>; }; }; cmem { compatible = "ti,cmem"; #address-cells = <0x1>; #size-cells = <0x0>; #pool-size-cells = <0x2>; status = "okay"; cmem_block@0 { reg = <0x0>; memory-region = <0x47>; cmem-buf-pools = <0x1 0x0 0x18000000>; }; cmem_block@1 { reg = <0x1>; sram = <0x48>; }; }; };