// SPDX-License-Identifier: GPL-2.0-or-later /dts-v1/; #include #include #include #include #include / { #address-cells = <1>; #size-cells = <1>; compatible = "brcm,bcm6358"; aliases { pflash = &pflash; pinctrl = &pinctrl; serial0 = &uart0; serial1 = &uart1; spi0 = &lsspi; }; chosen { bootargs = "console=ttyS0,115200n8 earlycon"; stdout-path = "serial0:115200n8"; }; clocks { periph_osc: periph-osc { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "periph"; }; }; cpus { #address-cells = <1>; #size-cells = <0>; mips-hpt-frequency = <150000000>; cpu@0 { compatible = "brcm,bmips4350", "mips,mips4Kc"; device_type = "cpu"; reg = <0>; }; cpu@1 { compatible = "brcm,bmips4350", "mips,mips4Kc"; device_type = "cpu"; reg = <1>; }; }; cpu_intc: interrupt-controller { #address-cells = <0>; compatible = "mti,cpu-interrupt-controller"; interrupt-controller; #interrupt-cells = <1>; }; memory@0 { device_type = "memory"; reg = <0 0>; }; pflash: nor@1e000000 { #address-cells = <1>; #size-cells = <1>; compatible = "cfi-flash"; reg = <0x1e000000 0x2000000>; bank-width = <2>; status = "disabled"; }; ubus { #address-cells = <1>; #size-cells = <1>; compatible = "simple-bus"; ranges; periph_clk: clock-controller@fffe0004 { compatible = "brcm,bcm6358-clocks"; reg = <0xfffe0004 0x4>; #clock-cells = <1>; }; pll_cntl: syscon@fffe0008 { compatible = "syscon"; reg = <0xfffe0008 0x4>; native-endian; }; syscon-reboot { compatible = "syscon-reboot"; regmap = <&pll_cntl>; offset = <0x0>; mask = <0x1>; }; periph_intc: interrupt-controller@fffe000c { #address-cells = <1>; compatible = "brcm,bcm6345-l1-intc"; reg = <0xfffe000c 0x8>, <0xfffe0038 0x8>; interrupt-controller; #interrupt-cells = <1>; interrupt-parent = <&cpu_intc>; interrupts = <2>, <3>; }; ext_intc0: interrupt-controller@fffe0014 { #address-cells = <1>; compatible = "brcm,bcm6345-ext-intc"; reg = <0xfffe0014 0x4>; interrupt-controller; #interrupt-cells = <2>; interrupts = , , , ; }; ext_intc1: interrupt-controller@fffe001c { #address-cells = <1>; compatible = "brcm,bcm6345-ext-intc"; reg = <0xfffe001c 0x4>; interrupt-controller; #interrupt-cells = <2>; interrupts = , ; }; periph_rst: reset-controller@fffe0034 { compatible = "brcm,bcm6345-reset"; reg = <0xfffe0034 0x4>; #reset-cells = <1>; }; wdt: watchdog@fffe005c { compatible = "brcm,bcm7038-wdt"; reg = <0xfffe005c 0xc>; clocks = <&periph_osc>; timeout-sec = <30>; }; gpio: syscon@fffe0080 { compatible = "syscon", "simple-mfd"; reg = <0xfffe0080 0x50>; native-endian; pinctrl: pin-controller { compatible = "brcm,bcm6358-pinctrl"; gpio-controller; #gpio-cells = <2>; interrupts-extended = <&ext_intc1 0 0>, <&ext_intc1 1 0>, <&ext_intc0 0 0>, <&ext_intc0 1 0>, <&ext_intc0 2 0>, <&ext_intc0 3 0>; interrupt-names = "gpio32", "gpio33", "gpio34", "gpio35", "gpio36", "gpio37"; pinctrl_ebi_cs: ebi_cs { function = "ebi_cs"; groups = "ebi_cs_grp"; }; pinctrl_uart1: uart1 { function = "uart1"; groups = "uart1_grp"; }; pinctrl_serial_led: serial_led { function = "serial_led"; groups = "serial_led_grp"; }; pinctrl_legacy_led: legacy_led { function = "legacy_led"; groups = "legacy_led_grp"; }; pinctrl_led: led { function = "led"; groups = "led_grp"; }; pinctrl_spi_cs_23: spi_cs { function = "spi_cs"; groups = "spi_cs_grp"; }; pinctrl_utopia: utopia { function = "utopia"; groups = "utopia_grp"; }; pinctrl_pwm_syn_clk: pwm_syn_clk { function = "pwm_syn_clk"; groups = "pwm_syn_clk_grp"; }; pinctrl_sys_irq: sys_irq { function = "sys_irq"; groups = "sys_irq_grp"; }; }; }; leds: led-controller@fffe00d0 { #address-cells = <1>; #size-cells = <0>; compatible = "brcm,bcm6358-leds"; reg = <0xfffe00d0 0x8>; status = "disabled"; }; uart0: serial@fffe0100 { compatible = "brcm,bcm6345-uart"; reg = <0xfffe0100 0x18>; interrupt-parent = <&periph_intc>; interrupts = ; clocks = <&periph_osc>; clock-names = "periph"; status = "disabled"; }; uart1: serial@fffe0120 { compatible = "brcm,bcm6345-uart"; reg = <0xfffe0120 0x18>; interrupt-parent = <&periph_intc>; interrupts = ; clocks = <&periph_osc>; clock-names = "periph"; status = "disabled"; }; lsspi: spi@fffe0800 { compatible = "brcm,bcm6358-spi"; reg = <0xfffe0800 0x70c>; #address-cells = <1>; #size-cells = <0>; interrupt-parent = <&periph_intc>; interrupts = ; clocks = <&periph_clk BCM6358_CLK_SPI>; clock-names = "spi"; resets = <&periph_rst BCM6358_RST_SPI>; status = "disabled"; }; ehci: usb@fffe1300 { compatible = "brcm,bcm6358-ehci", "generic-ehci"; reg = <0xfffe1300 0x100>; big-endian; ignore-oc; interrupt-parent = <&periph_intc>; interrupts = ; phys = <&usbh 0>; phy-names = "usb"; status = "disabled"; }; ohci: usb@fffe1400 { compatible = "brcm,bcm6358-ohci", "generic-ohci"; reg = <0xfffe1400 0x100>; big-endian; no-big-frame-no; interrupt-parent = <&periph_intc>; interrupts = ; phys = <&usbh 0>; phy-names = "usb"; status = "disabled"; }; usbh: usb-phy@fffe1500 { compatible = "brcm,bcm6358-usbh-phy"; reg = <0xfffe1500 0x38>; #phy-cells = <1>; resets = <&periph_rst BCM6358_RST_USBH>; status = "disabled"; }; }; };