1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/ath79-clk.h> 3*c66ec88fSEmmanuel Vadot 4*c66ec88fSEmmanuel Vadot/ { 5*c66ec88fSEmmanuel Vadot compatible = "qca,ar9132"; 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel Vadot #address-cells = <1>; 8*c66ec88fSEmmanuel Vadot #size-cells = <1>; 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel Vadot cpus { 11*c66ec88fSEmmanuel Vadot #address-cells = <1>; 12*c66ec88fSEmmanuel Vadot #size-cells = <0>; 13*c66ec88fSEmmanuel Vadot 14*c66ec88fSEmmanuel Vadot cpu@0 { 15*c66ec88fSEmmanuel Vadot device_type = "cpu"; 16*c66ec88fSEmmanuel Vadot compatible = "mips,mips24Kc"; 17*c66ec88fSEmmanuel Vadot clocks = <&pll ATH79_CLK_CPU>; 18*c66ec88fSEmmanuel Vadot reg = <0>; 19*c66ec88fSEmmanuel Vadot }; 20*c66ec88fSEmmanuel Vadot }; 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel Vadot cpuintc: interrupt-controller { 23*c66ec88fSEmmanuel Vadot compatible = "qca,ar9132-cpu-intc", "qca,ar7100-cpu-intc"; 24*c66ec88fSEmmanuel Vadot 25*c66ec88fSEmmanuel Vadot interrupt-controller; 26*c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 27*c66ec88fSEmmanuel Vadot 28*c66ec88fSEmmanuel Vadot qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>; 29*c66ec88fSEmmanuel Vadot qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>, 30*c66ec88fSEmmanuel Vadot <&ddr_ctrl 0>, <&ddr_ctrl 1>; 31*c66ec88fSEmmanuel Vadot }; 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel Vadot ahb { 34*c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 35*c66ec88fSEmmanuel Vadot ranges; 36*c66ec88fSEmmanuel Vadot 37*c66ec88fSEmmanuel Vadot #address-cells = <1>; 38*c66ec88fSEmmanuel Vadot #size-cells = <1>; 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel Vadot interrupt-parent = <&cpuintc>; 41*c66ec88fSEmmanuel Vadot 42*c66ec88fSEmmanuel Vadot apb { 43*c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 44*c66ec88fSEmmanuel Vadot ranges; 45*c66ec88fSEmmanuel Vadot 46*c66ec88fSEmmanuel Vadot #address-cells = <1>; 47*c66ec88fSEmmanuel Vadot #size-cells = <1>; 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel Vadot interrupt-parent = <&miscintc>; 50*c66ec88fSEmmanuel Vadot 51*c66ec88fSEmmanuel Vadot ddr_ctrl: memory-controller@18000000 { 52*c66ec88fSEmmanuel Vadot compatible = "qca,ar9132-ddr-controller", 53*c66ec88fSEmmanuel Vadot "qca,ar7240-ddr-controller"; 54*c66ec88fSEmmanuel Vadot reg = <0x18000000 0x100>; 55*c66ec88fSEmmanuel Vadot 56*c66ec88fSEmmanuel Vadot #qca,ddr-wb-channel-cells = <1>; 57*c66ec88fSEmmanuel Vadot }; 58*c66ec88fSEmmanuel Vadot 59*c66ec88fSEmmanuel Vadot uart: uart@18020000 { 60*c66ec88fSEmmanuel Vadot compatible = "ns8250"; 61*c66ec88fSEmmanuel Vadot reg = <0x18020000 0x20>; 62*c66ec88fSEmmanuel Vadot interrupts = <3>; 63*c66ec88fSEmmanuel Vadot 64*c66ec88fSEmmanuel Vadot clocks = <&pll ATH79_CLK_AHB>; 65*c66ec88fSEmmanuel Vadot clock-names = "uart"; 66*c66ec88fSEmmanuel Vadot 67*c66ec88fSEmmanuel Vadot reg-io-width = <4>; 68*c66ec88fSEmmanuel Vadot reg-shift = <2>; 69*c66ec88fSEmmanuel Vadot no-loopback-test; 70*c66ec88fSEmmanuel Vadot 71*c66ec88fSEmmanuel Vadot status = "disabled"; 72*c66ec88fSEmmanuel Vadot }; 73*c66ec88fSEmmanuel Vadot 74*c66ec88fSEmmanuel Vadot gpio: gpio@18040000 { 75*c66ec88fSEmmanuel Vadot compatible = "qca,ar9132-gpio", 76*c66ec88fSEmmanuel Vadot "qca,ar7100-gpio"; 77*c66ec88fSEmmanuel Vadot reg = <0x18040000 0x30>; 78*c66ec88fSEmmanuel Vadot interrupts = <2>; 79*c66ec88fSEmmanuel Vadot 80*c66ec88fSEmmanuel Vadot ngpios = <22>; 81*c66ec88fSEmmanuel Vadot 82*c66ec88fSEmmanuel Vadot gpio-controller; 83*c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 84*c66ec88fSEmmanuel Vadot 85*c66ec88fSEmmanuel Vadot interrupt-controller; 86*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 87*c66ec88fSEmmanuel Vadot }; 88*c66ec88fSEmmanuel Vadot 89*c66ec88fSEmmanuel Vadot pll: pll-controller@18050000 { 90*c66ec88fSEmmanuel Vadot compatible = "qca,ar9132-pll", 91*c66ec88fSEmmanuel Vadot "qca,ar9130-pll"; 92*c66ec88fSEmmanuel Vadot reg = <0x18050000 0x20>; 93*c66ec88fSEmmanuel Vadot 94*c66ec88fSEmmanuel Vadot clock-names = "ref"; 95*c66ec88fSEmmanuel Vadot /* The board must provides the ref clock */ 96*c66ec88fSEmmanuel Vadot 97*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 98*c66ec88fSEmmanuel Vadot clock-output-names = "cpu", "ddr", "ahb"; 99*c66ec88fSEmmanuel Vadot }; 100*c66ec88fSEmmanuel Vadot 101*c66ec88fSEmmanuel Vadot wdt: wdt@18060008 { 102*c66ec88fSEmmanuel Vadot compatible = "qca,ar7130-wdt"; 103*c66ec88fSEmmanuel Vadot reg = <0x18060008 0x8>; 104*c66ec88fSEmmanuel Vadot 105*c66ec88fSEmmanuel Vadot interrupts = <4>; 106*c66ec88fSEmmanuel Vadot 107*c66ec88fSEmmanuel Vadot clocks = <&pll ATH79_CLK_AHB>; 108*c66ec88fSEmmanuel Vadot clock-names = "wdt"; 109*c66ec88fSEmmanuel Vadot }; 110*c66ec88fSEmmanuel Vadot 111*c66ec88fSEmmanuel Vadot miscintc: interrupt-controller@18060010 { 112*c66ec88fSEmmanuel Vadot compatible = "qca,ar9132-misc-intc", 113*c66ec88fSEmmanuel Vadot "qca,ar7100-misc-intc"; 114*c66ec88fSEmmanuel Vadot reg = <0x18060010 0x8>; 115*c66ec88fSEmmanuel Vadot 116*c66ec88fSEmmanuel Vadot interrupt-parent = <&cpuintc>; 117*c66ec88fSEmmanuel Vadot interrupts = <6>; 118*c66ec88fSEmmanuel Vadot 119*c66ec88fSEmmanuel Vadot interrupt-controller; 120*c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 121*c66ec88fSEmmanuel Vadot }; 122*c66ec88fSEmmanuel Vadot 123*c66ec88fSEmmanuel Vadot rst: reset-controller@1806001c { 124*c66ec88fSEmmanuel Vadot compatible = "qca,ar9132-reset", 125*c66ec88fSEmmanuel Vadot "qca,ar7100-reset"; 126*c66ec88fSEmmanuel Vadot reg = <0x1806001c 0x4>; 127*c66ec88fSEmmanuel Vadot 128*c66ec88fSEmmanuel Vadot #reset-cells = <1>; 129*c66ec88fSEmmanuel Vadot }; 130*c66ec88fSEmmanuel Vadot }; 131*c66ec88fSEmmanuel Vadot 132*c66ec88fSEmmanuel Vadot usb: usb@1b000100 { 133*c66ec88fSEmmanuel Vadot compatible = "qca,ar7100-ehci", "generic-ehci"; 134*c66ec88fSEmmanuel Vadot reg = <0x1b000100 0x100>; 135*c66ec88fSEmmanuel Vadot 136*c66ec88fSEmmanuel Vadot interrupts = <3>; 137*c66ec88fSEmmanuel Vadot resets = <&rst 5>; 138*c66ec88fSEmmanuel Vadot 139*c66ec88fSEmmanuel Vadot has-transaction-translator; 140*c66ec88fSEmmanuel Vadot 141*c66ec88fSEmmanuel Vadot phy-names = "usb"; 142*c66ec88fSEmmanuel Vadot phys = <&usb_phy>; 143*c66ec88fSEmmanuel Vadot 144*c66ec88fSEmmanuel Vadot status = "disabled"; 145*c66ec88fSEmmanuel Vadot }; 146*c66ec88fSEmmanuel Vadot 147*c66ec88fSEmmanuel Vadot spi: spi@1f000000 { 148*c66ec88fSEmmanuel Vadot compatible = "qca,ar9132-spi", "qca,ar7100-spi"; 149*c66ec88fSEmmanuel Vadot reg = <0x1f000000 0x10>; 150*c66ec88fSEmmanuel Vadot 151*c66ec88fSEmmanuel Vadot clocks = <&pll ATH79_CLK_AHB>; 152*c66ec88fSEmmanuel Vadot clock-names = "ahb"; 153*c66ec88fSEmmanuel Vadot 154*c66ec88fSEmmanuel Vadot status = "disabled"; 155*c66ec88fSEmmanuel Vadot 156*c66ec88fSEmmanuel Vadot #address-cells = <1>; 157*c66ec88fSEmmanuel Vadot #size-cells = <0>; 158*c66ec88fSEmmanuel Vadot }; 159*c66ec88fSEmmanuel Vadot }; 160*c66ec88fSEmmanuel Vadot 161*c66ec88fSEmmanuel Vadot usb_phy: usb-phy { 162*c66ec88fSEmmanuel Vadot compatible = "qca,ar7100-usb-phy"; 163*c66ec88fSEmmanuel Vadot 164*c66ec88fSEmmanuel Vadot reset-names = "phy", "suspend-override"; 165*c66ec88fSEmmanuel Vadot resets = <&rst 4>, <&rst 3>; 166*c66ec88fSEmmanuel Vadot 167*c66ec88fSEmmanuel Vadot #phy-cells = <0>; 168*c66ec88fSEmmanuel Vadot 169*c66ec88fSEmmanuel Vadot status = "disabled"; 170*c66ec88fSEmmanuel Vadot }; 171*c66ec88fSEmmanuel Vadot}; 172