// SPDX-License-Identifier: GPL-2.0-or-later OR MIT #include #include /dts-v1/; / { interrupt-parent = <&gic>; #address-cells = <2>; #size-cells = <2>; aliases { serial0 = &uart0; }; chosen { stdout-path = "serial0:115200n8"; }; cpus { #address-cells = <1>; #size-cells = <0>; cpu0: cpu@0 { device_type = "cpu"; compatible = "brcm,brahma-b53"; reg = <0x0>; next-level-cache = <&l2>; }; cpu1: cpu@1 { device_type = "cpu"; compatible = "brcm,brahma-b53"; reg = <0x1>; enable-method = "spin-table"; cpu-release-addr = <0x0 0xfff8>; next-level-cache = <&l2>; }; cpu2: cpu@2 { device_type = "cpu"; compatible = "brcm,brahma-b53"; reg = <0x2>; enable-method = "spin-table"; cpu-release-addr = <0x0 0xfff8>; next-level-cache = <&l2>; }; cpu3: cpu@3 { device_type = "cpu"; compatible = "brcm,brahma-b53"; reg = <0x3>; enable-method = "spin-table"; cpu-release-addr = <0x0 0xfff8>; next-level-cache = <&l2>; }; l2: l2-cache0 { compatible = "cache"; }; }; axi@81000000 { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x00 0x00 0x81000000 0x4000>; gic: interrupt-controller@1000 { compatible = "arm,gic-400"; #interrupt-cells = <3>; #address-cells = <0>; interrupt-controller; reg = <0x1000 0x1000>, <0x2000 0x2000>; }; }; timer { compatible = "arm,armv8-timer"; interrupts = , , , ; }; pmu { compatible = "arm,cortex-a53-pmu"; interrupts = , , , ; interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; }; clocks { periph_clk: periph_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "periph"; }; }; soc { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x00 0x00 0x80000000 0x10000>; usb@c300 { compatible = "generic-ehci"; reg = <0xc300 0x100>; interrupts = ; status = "disabled"; }; usb@c400 { compatible = "generic-ohci"; reg = <0xc400 0x100>; interrupts = ; status = "disabled"; }; usb@d000 { compatible = "generic-xhci"; reg = <0xd000 0x8c8>; interrupts = ; status = "disabled"; }; }; bus@ff800000 { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x00 0x00 0xff800000 0x3000>; timer: timer@400 { compatible = "brcm,bcm6328-timer", "syscon"; reg = <0x400 0x3c>; }; gpio0: gpio-controller@500 { compatible = "brcm,bcm6345-gpio"; reg-names = "dirout", "dat"; reg = <0x500 0x28>, <0x528 0x28>; #gpio-cells = <2>; gpio-controller; }; uart0: serial@640 { compatible = "brcm,bcm6345-uart"; reg = <0x640 0x18>; interrupts = ; clocks = <&periph_clk>; clock-names = "periph"; status = "okay"; }; nand@1800 { #address-cells = <1>; #size-cells = <0>; compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand"; reg = <0x1800 0x600>, <0x2000 0x10>; reg-names = "nand", "nand-int-base"; interrupts = ; interrupt-names = "nand"; status = "okay"; nandcs: nandcs@0 { compatible = "brcm,nandcs"; reg = <0>; }; }; reboot { compatible = "syscon-reboot"; regmap = <&timer>; offset = <0x34>; mask = <1>; }; }; };