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 23*a2c510a2SJaedon Shin cpu_intc: interrupt-controller { 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 }; 377bbe59ddSJaedon Shin 387bbe59ddSJaedon Shin upg_clk: upg_clk { 397bbe59ddSJaedon Shin compatible = "fixed-clock"; 407bbe59ddSJaedon Shin #clock-cells = <0>; 417bbe59ddSJaedon Shin clock-frequency = <27000000>; 427bbe59ddSJaedon 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 52*a2c510a2SJaedon Shin periph_intc: interrupt-controller@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 63*a2c510a2SJaedon Shin sun_l2_intc: interrupt-controller@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 84*a2c510a2SJaedon Shin upg_irq0_intc: interrupt-controller@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 99*a2c510a2SJaedon Shin upg_aon_irq0_intc: interrupt-controller@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 2037bbe59ddSJaedon Shin pwma: pwm@406400 { 2047bbe59ddSJaedon Shin compatible = "brcm,bcm7038-pwm"; 2057bbe59ddSJaedon Shin reg = <0x406400 0x28>; 2067bbe59ddSJaedon Shin #pwm-cells = <2>; 2077bbe59ddSJaedon Shin clocks = <&upg_clk>; 2087bbe59ddSJaedon Shin status = "disabled"; 2097bbe59ddSJaedon Shin }; 2107bbe59ddSJaedon Shin 2117bbe59ddSJaedon Shin pwmb: pwm@406700 { 2127bbe59ddSJaedon Shin compatible = "brcm,bcm7038-pwm"; 2137bbe59ddSJaedon Shin reg = <0x406700 0x28>; 2147bbe59ddSJaedon Shin #pwm-cells = <2>; 2157bbe59ddSJaedon Shin clocks = <&upg_clk>; 2167bbe59ddSJaedon Shin status = "disabled"; 2177bbe59ddSJaedon Shin }; 2187bbe59ddSJaedon Shin 219c707844dSJaedon Shin aon_pm_l2_intc: interrupt-controller@408240 { 220c707844dSJaedon Shin compatible = "brcm,l2-intc"; 221c707844dSJaedon Shin reg = <0x408240 0x30>; 222c707844dSJaedon Shin interrupt-controller; 223c707844dSJaedon Shin #interrupt-cells = <1>; 224c707844dSJaedon Shin interrupt-parent = <&periph_intc>; 225c707844dSJaedon Shin interrupts = <50>; 226c707844dSJaedon Shin brcm,irq-can-wake; 227c707844dSJaedon Shin }; 228c707844dSJaedon Shin 229c707844dSJaedon Shin upg_gio: gpio@406500 { 230c707844dSJaedon Shin compatible = "brcm,brcmstb-gpio"; 231c707844dSJaedon Shin reg = <0x406500 0xa0>; 232c707844dSJaedon Shin #gpio-cells = <2>; 233c707844dSJaedon Shin #interrupt-cells = <2>; 234c707844dSJaedon Shin gpio-controller; 235c707844dSJaedon Shin interrupt-controller; 236c707844dSJaedon Shin interrupt-parent = <&upg_irq0_intc>; 237c707844dSJaedon Shin interrupts = <6>; 238c707844dSJaedon Shin brcm,gpio-bank-widths = <32 32 32 29 4>; 239c707844dSJaedon Shin }; 240c707844dSJaedon Shin 241c707844dSJaedon Shin upg_gio_aon: gpio@408c00 { 242c707844dSJaedon Shin compatible = "brcm,brcmstb-gpio"; 243c707844dSJaedon Shin reg = <0x408c00 0x60>; 244c707844dSJaedon Shin #gpio-cells = <2>; 245c707844dSJaedon Shin #interrupt-cells = <2>; 246c707844dSJaedon Shin gpio-controller; 247c707844dSJaedon Shin interrupt-controller; 248c707844dSJaedon Shin interrupt-parent = <&upg_aon_irq0_intc>; 249c707844dSJaedon Shin interrupts = <6>; 250c707844dSJaedon Shin interrupts-extended = <&upg_aon_irq0_intc 6>, 251c707844dSJaedon Shin <&aon_pm_l2_intc 5>; 252c707844dSJaedon Shin wakeup-source; 253c707844dSJaedon Shin brcm,gpio-bank-widths = <21 32 2>; 254c707844dSJaedon Shin }; 255c707844dSJaedon Shin 2568945e37eSKevin Cernekee enet0: ethernet@430000 { 2578945e37eSKevin Cernekee phy-mode = "internal"; 2588945e37eSKevin Cernekee phy-handle = <&phy1>; 2598945e37eSKevin Cernekee mac-address = [ 00 10 18 36 23 1a ]; 2608945e37eSKevin Cernekee compatible = "brcm,genet-v2"; 2618945e37eSKevin Cernekee #address-cells = <0x1>; 2628945e37eSKevin Cernekee #size-cells = <0x1>; 2638945e37eSKevin Cernekee reg = <0x430000 0x4c8c>; 2648945e37eSKevin Cernekee interrupts = <24>, <25>; 2658945e37eSKevin Cernekee interrupt-parent = <&periph_intc>; 2668945e37eSKevin Cernekee status = "disabled"; 2678945e37eSKevin Cernekee 2688945e37eSKevin Cernekee mdio@e14 { 2698945e37eSKevin Cernekee compatible = "brcm,genet-mdio-v2"; 2708945e37eSKevin Cernekee #address-cells = <0x1>; 2718945e37eSKevin Cernekee #size-cells = <0x0>; 2728945e37eSKevin Cernekee reg = <0xe14 0x8>; 2738945e37eSKevin Cernekee 2748945e37eSKevin Cernekee phy1: ethernet-phy@1 { 2758945e37eSKevin Cernekee max-speed = <100>; 2768945e37eSKevin Cernekee reg = <0x1>; 2778945e37eSKevin Cernekee compatible = "brcm,40nm-ephy", 2788945e37eSKevin Cernekee "ethernet-phy-ieee802.3-c22"; 2798945e37eSKevin Cernekee }; 2808945e37eSKevin Cernekee }; 2818945e37eSKevin Cernekee }; 2828945e37eSKevin Cernekee 2838945e37eSKevin Cernekee ehci0: usb@480300 { 2848945e37eSKevin Cernekee compatible = "brcm,bcm7358-ehci", "generic-ehci"; 2858945e37eSKevin Cernekee reg = <0x480300 0x100>; 2868945e37eSKevin Cernekee native-endian; 2878945e37eSKevin Cernekee interrupt-parent = <&periph_intc>; 2888945e37eSKevin Cernekee interrupts = <65>; 2898945e37eSKevin Cernekee status = "disabled"; 2908945e37eSKevin Cernekee }; 2918945e37eSKevin Cernekee 2928945e37eSKevin Cernekee ohci0: usb@480400 { 2938945e37eSKevin Cernekee compatible = "brcm,bcm7358-ohci", "generic-ohci"; 2948945e37eSKevin Cernekee reg = <0x480400 0x100>; 2958945e37eSKevin Cernekee native-endian; 2968945e37eSKevin Cernekee no-big-frame-no; 2978945e37eSKevin Cernekee interrupt-parent = <&periph_intc>; 2988945e37eSKevin Cernekee interrupts = <66>; 2998945e37eSKevin Cernekee status = "disabled"; 3008945e37eSKevin Cernekee }; 301cfc8be04SJaedon Shin 302cfc8be04SJaedon Shin hif_l2_intc: interrupt-controller@411000 { 303cfc8be04SJaedon Shin compatible = "brcm,l2-intc"; 304cfc8be04SJaedon Shin reg = <0x411000 0x30>; 305cfc8be04SJaedon Shin interrupt-controller; 306cfc8be04SJaedon Shin #interrupt-cells = <1>; 307cfc8be04SJaedon Shin interrupt-parent = <&periph_intc>; 308cfc8be04SJaedon Shin interrupts = <30>; 309cfc8be04SJaedon Shin }; 310cfc8be04SJaedon Shin 311cfc8be04SJaedon Shin nand: nand@412800 { 312cfc8be04SJaedon Shin compatible = "brcm,brcmnand-v5.0", "brcm,brcmnand"; 313cfc8be04SJaedon Shin #address-cells = <1>; 314cfc8be04SJaedon Shin #size-cells = <0>; 315cfc8be04SJaedon Shin reg-names = "nand"; 316cfc8be04SJaedon Shin reg = <0x412800 0x400>; 317cfc8be04SJaedon Shin interrupt-parent = <&hif_l2_intc>; 318cfc8be04SJaedon Shin interrupts = <24>; 319cfc8be04SJaedon Shin status = "disabled"; 320cfc8be04SJaedon Shin }; 3218945e37eSKevin Cernekee }; 3228945e37eSKevin Cernekee}; 323