18945e37eSKevin Cernekee/ { 28945e37eSKevin Cernekee #address-cells = <1>; 38945e37eSKevin Cernekee #size-cells = <1>; 48945e37eSKevin Cernekee compatible = "brcm,bcm7358"; 58945e37eSKevin Cernekee 68945e37eSKevin Cernekee cpus { 78945e37eSKevin Cernekee #address-cells = <1>; 88945e37eSKevin Cernekee #size-cells = <0>; 98945e37eSKevin Cernekee 108945e37eSKevin Cernekee mips-hpt-frequency = <375000000>; 118945e37eSKevin Cernekee 128945e37eSKevin Cernekee cpu@0 { 138945e37eSKevin Cernekee compatible = "brcm,bmips3300"; 148945e37eSKevin Cernekee device_type = "cpu"; 158945e37eSKevin Cernekee reg = <0>; 168945e37eSKevin Cernekee }; 178945e37eSKevin Cernekee }; 188945e37eSKevin Cernekee 198945e37eSKevin Cernekee aliases { 208945e37eSKevin Cernekee uart0 = &uart0; 218945e37eSKevin Cernekee }; 228945e37eSKevin Cernekee 238945e37eSKevin Cernekee cpu_intc: cpu_intc { 248945e37eSKevin Cernekee #address-cells = <0>; 258945e37eSKevin Cernekee compatible = "mti,cpu-interrupt-controller"; 268945e37eSKevin Cernekee 278945e37eSKevin Cernekee interrupt-controller; 288945e37eSKevin Cernekee #interrupt-cells = <1>; 298945e37eSKevin Cernekee }; 308945e37eSKevin Cernekee 318945e37eSKevin Cernekee clocks { 328945e37eSKevin Cernekee uart_clk: uart_clk { 338945e37eSKevin Cernekee compatible = "fixed-clock"; 348945e37eSKevin Cernekee #clock-cells = <0>; 358945e37eSKevin Cernekee clock-frequency = <81000000>; 368945e37eSKevin Cernekee }; 37*7bbe59ddSJaedon Shin 38*7bbe59ddSJaedon Shin upg_clk: upg_clk { 39*7bbe59ddSJaedon Shin compatible = "fixed-clock"; 40*7bbe59ddSJaedon Shin #clock-cells = <0>; 41*7bbe59ddSJaedon Shin clock-frequency = <27000000>; 42*7bbe59ddSJaedon Shin }; 438945e37eSKevin Cernekee }; 448945e37eSKevin Cernekee 458945e37eSKevin Cernekee rdb { 468945e37eSKevin Cernekee #address-cells = <1>; 478945e37eSKevin Cernekee #size-cells = <1>; 488945e37eSKevin Cernekee 498945e37eSKevin Cernekee compatible = "simple-bus"; 508945e37eSKevin Cernekee ranges = <0 0x10000000 0x01000000>; 518945e37eSKevin Cernekee 528945e37eSKevin Cernekee periph_intc: periph_intc@411400 { 538945e37eSKevin Cernekee compatible = "brcm,bcm7038-l1-intc"; 548945e37eSKevin Cernekee reg = <0x411400 0x30>; 558945e37eSKevin Cernekee 568945e37eSKevin Cernekee interrupt-controller; 578945e37eSKevin Cernekee #interrupt-cells = <1>; 588945e37eSKevin Cernekee 598945e37eSKevin Cernekee interrupt-parent = <&cpu_intc>; 608945e37eSKevin Cernekee interrupts = <2>; 618945e37eSKevin Cernekee }; 628945e37eSKevin Cernekee 638945e37eSKevin Cernekee sun_l2_intc: sun_l2_intc@403000 { 648945e37eSKevin Cernekee compatible = "brcm,l2-intc"; 658945e37eSKevin Cernekee reg = <0x403000 0x30>; 668945e37eSKevin Cernekee interrupt-controller; 678945e37eSKevin Cernekee #interrupt-cells = <1>; 688945e37eSKevin Cernekee interrupt-parent = <&periph_intc>; 698945e37eSKevin Cernekee interrupts = <48>; 708945e37eSKevin Cernekee }; 718945e37eSKevin Cernekee 728945e37eSKevin Cernekee gisb-arb@400000 { 738945e37eSKevin Cernekee compatible = "brcm,bcm7400-gisb-arb"; 748945e37eSKevin Cernekee reg = <0x400000 0xdc>; 758945e37eSKevin Cernekee native-endian; 768945e37eSKevin Cernekee interrupt-parent = <&sun_l2_intc>; 778945e37eSKevin Cernekee interrupts = <0>, <2>; 788945e37eSKevin Cernekee brcm,gisb-arb-master-mask = <0x2f3>; 798945e37eSKevin Cernekee brcm,gisb-arb-master-names = "ssp_0", "cpu_0", "bsp_0", 808945e37eSKevin Cernekee "rdc_0", "raaga_0", 818945e37eSKevin Cernekee "avd_0", "jtag_0"; 828945e37eSKevin Cernekee }; 838945e37eSKevin Cernekee 848945e37eSKevin Cernekee upg_irq0_intc: upg_irq0_intc@406600 { 858945e37eSKevin Cernekee compatible = "brcm,bcm7120-l2-intc"; 868945e37eSKevin Cernekee reg = <0x406600 0x8>; 878945e37eSKevin Cernekee 88ad837838SJaedon Shin brcm,int-map-mask = <0x44>, <0x7000000>; 898945e37eSKevin Cernekee brcm,int-fwd-mask = <0x70000>; 908945e37eSKevin Cernekee 918945e37eSKevin Cernekee interrupt-controller; 928945e37eSKevin Cernekee #interrupt-cells = <1>; 938945e37eSKevin Cernekee 948945e37eSKevin Cernekee interrupt-parent = <&periph_intc>; 95ad837838SJaedon Shin interrupts = <56>, <54>; 96ad837838SJaedon Shin interrupt-names = "upg_main", "upg_bsc"; 97ad837838SJaedon Shin }; 98ad837838SJaedon Shin 99ad837838SJaedon Shin upg_aon_irq0_intc: upg_aon_irq0_intc@408b80 { 100ad837838SJaedon Shin compatible = "brcm,bcm7120-l2-intc"; 101ad837838SJaedon Shin reg = <0x408b80 0x8>; 102ad837838SJaedon Shin 103ad837838SJaedon Shin brcm,int-map-mask = <0x40>, <0x8000000>, <0x100000>; 104ad837838SJaedon Shin brcm,int-fwd-mask = <0>; 105ad837838SJaedon Shin brcm,irq-can-wake; 106ad837838SJaedon Shin 107ad837838SJaedon Shin interrupt-controller; 108ad837838SJaedon Shin #interrupt-cells = <1>; 109ad837838SJaedon Shin 110ad837838SJaedon Shin interrupt-parent = <&periph_intc>; 111ad837838SJaedon Shin interrupts = <57>, <55>, <59>; 112ad837838SJaedon Shin interrupt-names = "upg_main_aon", "upg_bsc_aon", 113ad837838SJaedon Shin "upg_spi"; 1148945e37eSKevin Cernekee }; 1158945e37eSKevin Cernekee 1168945e37eSKevin Cernekee sun_top_ctrl: syscon@404000 { 1178945e37eSKevin Cernekee compatible = "brcm,bcm7358-sun-top-ctrl", "syscon"; 1188945e37eSKevin Cernekee reg = <0x404000 0x51c>; 11925d6463eSMark Brown native-endian; 1208945e37eSKevin Cernekee }; 1218945e37eSKevin Cernekee 1228945e37eSKevin Cernekee reboot { 1238945e37eSKevin Cernekee compatible = "brcm,brcmstb-reboot"; 1248945e37eSKevin Cernekee syscon = <&sun_top_ctrl 0x304 0x308>; 1258945e37eSKevin Cernekee }; 1268945e37eSKevin Cernekee 1278945e37eSKevin Cernekee uart0: serial@406800 { 1288945e37eSKevin Cernekee compatible = "ns16550a"; 1298945e37eSKevin Cernekee reg = <0x406800 0x20>; 1308945e37eSKevin Cernekee reg-io-width = <0x4>; 1318945e37eSKevin Cernekee reg-shift = <0x2>; 1328945e37eSKevin Cernekee native-endian; 1338945e37eSKevin Cernekee interrupt-parent = <&periph_intc>; 1348945e37eSKevin Cernekee interrupts = <61>; 1358945e37eSKevin Cernekee clocks = <&uart_clk>; 1368945e37eSKevin Cernekee status = "disabled"; 1378945e37eSKevin Cernekee }; 1388945e37eSKevin Cernekee 1398bac078cSJaedon Shin uart1: serial@406840 { 1408bac078cSJaedon Shin compatible = "ns16550a"; 1418bac078cSJaedon Shin reg = <0x406840 0x20>; 1428bac078cSJaedon Shin reg-io-width = <0x4>; 1438bac078cSJaedon Shin reg-shift = <0x2>; 1448bac078cSJaedon Shin native-endian; 1458bac078cSJaedon Shin interrupt-parent = <&periph_intc>; 1468bac078cSJaedon Shin interrupts = <62>; 1478bac078cSJaedon Shin clocks = <&uart_clk>; 1488bac078cSJaedon Shin status = "disabled"; 1498bac078cSJaedon Shin }; 1508bac078cSJaedon Shin 1518bac078cSJaedon Shin uart2: serial@406880 { 1528bac078cSJaedon Shin compatible = "ns16550a"; 1538bac078cSJaedon Shin reg = <0x406880 0x20>; 1548bac078cSJaedon Shin reg-io-width = <0x4>; 1558bac078cSJaedon Shin reg-shift = <0x2>; 1568bac078cSJaedon Shin native-endian; 1578bac078cSJaedon Shin interrupt-parent = <&periph_intc>; 1588bac078cSJaedon Shin interrupts = <63>; 1598bac078cSJaedon Shin clocks = <&uart_clk>; 1608bac078cSJaedon Shin status = "disabled"; 1618bac078cSJaedon Shin }; 1628bac078cSJaedon Shin 163ad837838SJaedon Shin bsca: i2c@406200 { 164ad837838SJaedon Shin clock-frequency = <390000>; 165ad837838SJaedon Shin compatible = "brcm,brcmstb-i2c"; 166ad837838SJaedon Shin interrupt-parent = <&upg_irq0_intc>; 167ad837838SJaedon Shin reg = <0x406200 0x58>; 168ad837838SJaedon Shin interrupts = <24>; 169ad837838SJaedon Shin interrupt-names = "upg_bsca"; 170ad837838SJaedon Shin status = "disabled"; 171ad837838SJaedon Shin }; 172ad837838SJaedon Shin 173ad837838SJaedon Shin bscb: i2c@406280 { 174ad837838SJaedon Shin clock-frequency = <390000>; 175ad837838SJaedon Shin compatible = "brcm,brcmstb-i2c"; 176ad837838SJaedon Shin interrupt-parent = <&upg_irq0_intc>; 177ad837838SJaedon Shin reg = <0x406280 0x58>; 178ad837838SJaedon Shin interrupts = <25>; 179ad837838SJaedon Shin interrupt-names = "upg_bscb"; 180ad837838SJaedon Shin status = "disabled"; 181ad837838SJaedon Shin }; 182ad837838SJaedon Shin 183ad837838SJaedon Shin bscc: i2c@406300 { 184ad837838SJaedon Shin clock-frequency = <390000>; 185ad837838SJaedon Shin compatible = "brcm,brcmstb-i2c"; 186ad837838SJaedon Shin interrupt-parent = <&upg_irq0_intc>; 187ad837838SJaedon Shin reg = <0x406300 0x58>; 188ad837838SJaedon Shin interrupts = <26>; 189ad837838SJaedon Shin interrupt-names = "upg_bscc"; 190ad837838SJaedon Shin status = "disabled"; 191ad837838SJaedon Shin }; 192ad837838SJaedon Shin 193ad837838SJaedon Shin bscd: i2c@408980 { 194ad837838SJaedon Shin clock-frequency = <390000>; 195ad837838SJaedon Shin compatible = "brcm,brcmstb-i2c"; 196ad837838SJaedon Shin interrupt-parent = <&upg_aon_irq0_intc>; 197ad837838SJaedon Shin reg = <0x408980 0x58>; 198ad837838SJaedon Shin interrupts = <27>; 199ad837838SJaedon Shin interrupt-names = "upg_bscd"; 200ad837838SJaedon Shin status = "disabled"; 201ad837838SJaedon Shin }; 202ad837838SJaedon Shin 203*7bbe59ddSJaedon Shin pwma: pwm@406400 { 204*7bbe59ddSJaedon Shin compatible = "brcm,bcm7038-pwm"; 205*7bbe59ddSJaedon Shin reg = <0x406400 0x28>; 206*7bbe59ddSJaedon Shin #pwm-cells = <2>; 207*7bbe59ddSJaedon Shin clocks = <&upg_clk>; 208*7bbe59ddSJaedon Shin status = "disabled"; 209*7bbe59ddSJaedon Shin }; 210*7bbe59ddSJaedon Shin 211*7bbe59ddSJaedon Shin pwmb: pwm@406700 { 212*7bbe59ddSJaedon Shin compatible = "brcm,bcm7038-pwm"; 213*7bbe59ddSJaedon Shin reg = <0x406700 0x28>; 214*7bbe59ddSJaedon Shin #pwm-cells = <2>; 215*7bbe59ddSJaedon Shin clocks = <&upg_clk>; 216*7bbe59ddSJaedon Shin status = "disabled"; 217*7bbe59ddSJaedon Shin }; 218*7bbe59ddSJaedon Shin 2198945e37eSKevin Cernekee enet0: ethernet@430000 { 2208945e37eSKevin Cernekee phy-mode = "internal"; 2218945e37eSKevin Cernekee phy-handle = <&phy1>; 2228945e37eSKevin Cernekee mac-address = [ 00 10 18 36 23 1a ]; 2238945e37eSKevin Cernekee compatible = "brcm,genet-v2"; 2248945e37eSKevin Cernekee #address-cells = <0x1>; 2258945e37eSKevin Cernekee #size-cells = <0x1>; 2268945e37eSKevin Cernekee reg = <0x430000 0x4c8c>; 2278945e37eSKevin Cernekee interrupts = <24>, <25>; 2288945e37eSKevin Cernekee interrupt-parent = <&periph_intc>; 2298945e37eSKevin Cernekee status = "disabled"; 2308945e37eSKevin Cernekee 2318945e37eSKevin Cernekee mdio@e14 { 2328945e37eSKevin Cernekee compatible = "brcm,genet-mdio-v2"; 2338945e37eSKevin Cernekee #address-cells = <0x1>; 2348945e37eSKevin Cernekee #size-cells = <0x0>; 2358945e37eSKevin Cernekee reg = <0xe14 0x8>; 2368945e37eSKevin Cernekee 2378945e37eSKevin Cernekee phy1: ethernet-phy@1 { 2388945e37eSKevin Cernekee max-speed = <100>; 2398945e37eSKevin Cernekee reg = <0x1>; 2408945e37eSKevin Cernekee compatible = "brcm,40nm-ephy", 2418945e37eSKevin Cernekee "ethernet-phy-ieee802.3-c22"; 2428945e37eSKevin Cernekee }; 2438945e37eSKevin Cernekee }; 2448945e37eSKevin Cernekee }; 2458945e37eSKevin Cernekee 2468945e37eSKevin Cernekee ehci0: usb@480300 { 2478945e37eSKevin Cernekee compatible = "brcm,bcm7358-ehci", "generic-ehci"; 2488945e37eSKevin Cernekee reg = <0x480300 0x100>; 2498945e37eSKevin Cernekee native-endian; 2508945e37eSKevin Cernekee interrupt-parent = <&periph_intc>; 2518945e37eSKevin Cernekee interrupts = <65>; 2528945e37eSKevin Cernekee status = "disabled"; 2538945e37eSKevin Cernekee }; 2548945e37eSKevin Cernekee 2558945e37eSKevin Cernekee ohci0: usb@480400 { 2568945e37eSKevin Cernekee compatible = "brcm,bcm7358-ohci", "generic-ohci"; 2578945e37eSKevin Cernekee reg = <0x480400 0x100>; 2588945e37eSKevin Cernekee native-endian; 2598945e37eSKevin Cernekee no-big-frame-no; 2608945e37eSKevin Cernekee interrupt-parent = <&periph_intc>; 2618945e37eSKevin Cernekee interrupts = <66>; 2628945e37eSKevin Cernekee status = "disabled"; 2638945e37eSKevin Cernekee }; 2648945e37eSKevin Cernekee }; 2658945e37eSKevin Cernekee}; 266