// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/soc/bcm-pmb.h>

/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>;
			enable-method = "spin-table";
			cpu-release-addr = <0x0 0xfff8>;
			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";
			cache-level = <2>;
			cache-unified;
		};
	};

	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 = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
	};

	pmu {
		compatible = "arm,cortex-a53-pmu";
		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
	};

	clocks {
		periph_clk: periph_clk {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <50000000>;
			clock-output-names = "periph";
		};

		hsspi_pll: hsspi-pll {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <400000000>;
		};
	};

	soc {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00 0x00 0x80000000 0x281000>;

		enet: ethernet@2000 {
			compatible = "brcm,bcm4908-enet";
			reg = <0x2000 0x1000>;

			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "rx", "tx";
		};

		usb_phy: usb-phy@c200 {
			compatible = "brcm,bcm4908-usb-phy";
			reg = <0xc200 0x100>;
			reg-names = "ctrl";
			power-domains = <&pmb BCM_PMB_HOST_USB>;
			dr_mode = "host";
			brcm,has-xhci;
			brcm,has-eohci;
			#phy-cells = <1>;
			status = "disabled";
		};

		ehci: usb@c300 {
			compatible = "generic-ehci";
			reg = <0xc300 0x100>;
			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
			phys = <&usb_phy PHY_TYPE_USB2>;
			status = "disabled";

			#address-cells = <1>;
			#size-cells = <0>;

			ehci_port1: port@1 {
				reg = <1>;
				#trigger-source-cells = <0>;
			};

			ehci_port2: port@2 {
				reg = <2>;
				#trigger-source-cells = <0>;
			};
		};

		ohci: usb@c400 {
			compatible = "generic-ohci";
			reg = <0xc400 0x100>;
			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
			phys = <&usb_phy PHY_TYPE_USB2>;
			status = "disabled";

			#address-cells = <1>;
			#size-cells = <0>;

			ohci_port1: port@1 {
				reg = <1>;
				#trigger-source-cells = <0>;
			};

			ohci_port2: port@2 {
				reg = <2>;
				#trigger-source-cells = <0>;
			};
		};

		xhci: usb@d000 {
			compatible = "generic-xhci";
			reg = <0xd000 0x8c8>;
			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
			phys = <&usb_phy PHY_TYPE_USB3>;
			status = "disabled";

			#address-cells = <1>;
			#size-cells = <0>;

			xhci_port1: port@1 {
				reg = <1>;
				#trigger-source-cells = <0>;
			};

			xhci_port2: port@2 {
				reg = <2>;
				#trigger-source-cells = <0>;
			};
		};

		bus@80000 {
			compatible = "simple-bus";
			#size-cells = <1>;
			#address-cells = <1>;
			ranges = <0 0x80000 0x50000>;

			ethernet-switch@0 {
				compatible = "brcm,bcm4908-switch";
				reg = <0x0 0x40000>,
				      <0x40000 0x110>,
				      <0x40340 0x30>,
				      <0x40380 0x30>,
				      <0x40600 0x34>,
				      <0x40800 0x208>;
				reg-names = "core", "reg", "intrl2_0",
					    "intrl2_1", "fcb", "acb";
				interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
					     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
				brcm,num-gphy = <5>;
				brcm,num-rgmii-ports = <2>;

				#address-cells = <1>;
				#size-cells = <0>;

				ports: ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;
						phy-mode = "internal";
						phy-handle = <&phy8>;
					};

					port@1 {
						reg = <1>;
						phy-mode = "internal";
						phy-handle = <&phy9>;
					};

					port@2 {
						reg = <2>;
						phy-mode = "internal";
						phy-handle = <&phy10>;
					};

					port@3 {
						reg = <3>;
						phy-mode = "internal";
						phy-handle = <&phy11>;
					};

					port@8 {
						reg = <8>;
						phy-mode = "internal";
						ethernet = <&enet>;

						fixed-link {
							speed = <1000>;
							full-duplex;
						};
					};
				};
			};

			mdio: mdio@405c0 {
				compatible = "brcm,unimac-mdio";
				reg = <0x405c0 0x8>;
				reg-names = "mdio";
				#size-cells = <0>;
				#address-cells = <1>;

				phy8: ethernet-phy@8 {
					reg = <8>;
				};

				phy9: ethernet-phy@9 {
					reg = <9>;
				};

				phy10: ethernet-phy@a {
					reg = <10>;
				};

				phy11: ethernet-phy@b {
					reg = <11>;
				};

				phy12: ethernet-phy@c {
					reg = <12>;
				};
			};
		};

		procmon: bus@280000 {
			compatible = "simple-bus";
			reg = <0x280000 0x1000>;
			ranges;

			#address-cells = <1>;
			#size-cells = <1>;

			pmb: power-controller@2800c0 {
				compatible = "brcm,bcm4908-pmb";
				reg = <0x2800c0 0x40>;
				#power-domain-cells = <1>;
			};
		};
	};

	bus@ff800000 {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00 0x00 0xff800000 0x3000>;

		twd: timer-mfd@400 {
			compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon";
			reg = <0x400 0x4c>;
			ranges = <0x0 0x400 0x4c>;

			#address-cells = <1>;
			#size-cells = <1>;

			timer@0 {
				compatible = "brcm,bcm63138-timer";
				reg = <0x0 0x28>;
			};

			watchdog@28 {
				compatible = "brcm,bcm6345-wdt";
				reg = <0x28 0x8>;
			};
		};

		gpio0: gpio-controller@500 {
			compatible = "brcm,bcm6345-gpio";
			reg-names = "dirout", "dat";
			reg = <0x500 0x28>, <0x528 0x28>;

			#gpio-cells = <2>;
			gpio-controller;
		};

		pinctrl@560 {
			compatible = "brcm,bcm4908-pinctrl";
			reg = <0x560 0x10>;

			pins_led_0_a: led_0-a-pins {
				function = "led_0";
				groups = "led_0_grp_a";
			};

			pins_led_1_a: led_1-a-pins {
				function = "led_1";
				groups = "led_1_grp_a";
			};

			pins_led_2_a: led_2-a-pins {
				function = "led_2";
				groups = "led_2_grp_a";
			};

			pins_led_3_a: led_3-a-pins {
				function = "led_3";
				groups = "led_3_grp_a";
			};

			pins_led_4_a: led_4-a-pins {
				function = "led_4";
				groups = "led_4_grp_a";
			};

			pins_led_5_a: led_5-a-pins {
				function = "led_5";
				groups = "led_5_grp_a";
			};

			pins_led_6_a: led_6-a-pins {
				function = "led_6";
				groups = "led_6_grp_a";
			};

			pins_led_7_a: led_7-a-pins {
				function = "led_7";
				groups = "led_7_grp_a";
			};

			pins_led_8_a: led_8-a-pins {
				function = "led_8";
				groups = "led_8_grp_a";
			};

			pins_led_9_a: led_9-a-pins {
				function = "led_9";
				groups = "led_9_grp_a";
			};

			pins_led_10_a: led_10-a-pins {
				function = "led_10";
				groups = "led_10_grp_a";
			};

			pins_led_11_a: led_11-a-pins {
				function = "led_11";
				groups = "led_11_grp_a";
			};

			pins_led_12_a: led_12-a-pins {
				function = "led_12";
				groups = "led_12_grp_a";
			};

			pins_led_13_a: led_13-a-pins {
				function = "led_13";
				groups = "led_13_grp_a";
			};

			pins_led_14_a: led_14-a-pins {
				function = "led_14";
				groups = "led_14_grp_a";
			};

			pins_led_15_a: led_15-a-pins {
				function = "led_15";
				groups = "led_15_grp_a";
			};

			pins_led_16_a: led_16-a-pins {
				function = "led_16";
				groups = "led_16_grp_a";
			};

			pins_led_17_a: led_17-a-pins {
				function = "led_17";
				groups = "led_17_grp_a";
			};

			pins_led_18_a: led_18-a-pins {
				function = "led_18";
				groups = "led_18_grp_a";
			};

			pins_led_19_a: led_19-a-pins {
				function = "led_19";
				groups = "led_19_grp_a";
			};

			pins_led_20_a: led_20-a-pins {
				function = "led_20";
				groups = "led_20_grp_a";
			};

			pins_led_21_a: led_21-a-pins {
				function = "led_21";
				groups = "led_21_grp_a";
			};

			pins_led_22_a: led_22-a-pins {
				function = "led_22";
				groups = "led_22_grp_a";
			};

			pins_led_23_a: led_23-a-pins {
				function = "led_23";
				groups = "led_23_grp_a";
			};

			pins_led_24_a: led_24-a-pins {
				function = "led_24";
				groups = "led_24_grp_a";
			};

			pins_led_25_a: led_25-a-pins {
				function = "led_25";
				groups = "led_25_grp_a";
			};

			pins_led_26_a: led_26-a-pins {
				function = "led_26";
				groups = "led_26_grp_a";
			};

			pins_led_27_a: led_27-a-pins {
				function = "led_27";
				groups = "led_27_grp_a";
			};

			pins_led_28_a: led_28-a-pins {
				function = "led_28";
				groups = "led_28_grp_a";
			};

			pins_led_29_a: led_29-a-pins {
				function = "led_29";
				groups = "led_29_grp_a";
			};

			pins_led_30_a: led_30-a-pins {
				function = "led_30";
				groups = "led_30_grp_a";
			};

			pins_led_31_a: led_31-a-pins {
				function = "led_31";
				groups = "led_31_grp_a";
			};

			pins_hs_uart: hs_uart-pins {
				function = "hs_uart";
				groups = "hs_uart_grp";
			};

			pins_i2c_a: i2c-a-pins {
				function = "i2c";
				groups = "i2c_grp_a";
			};

			pins_i2c_b: i2c-b-pins {
				function = "i2c";
				groups = "i2c_grp_b";
			};

			pins_i2s: i2s-pins {
				function = "i2s";
				groups = "i2s_grp";
			};

			pins_nand_ctrl: nand_ctrl-pins {
				function = "nand_ctrl";
				groups = "nand_ctrl_grp";
			};

			pins_nand_data: nand_data-pins {
				function = "nand_data";
				groups = "nand_data_grp";
			};

			pins_emmc_ctrl: emmc_ctrl-pins {
				function = "emmc_ctrl";
				groups = "emmc_ctrl_grp";
			};

			pins_usb0_pwr: usb0_pwr-pins {
				function = "usb0_pwr";
				groups = "usb0_pwr_grp";
			};

			pins_usb1_pwr: usb1_pwr-pins {
				function = "usb1_pwr";
				groups = "usb1_pwr_grp";
			};
		};

		uart0: serial@640 {
			compatible = "brcm,bcm6345-uart";
			reg = <0x640 0x18>;
			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&periph_clk>;
			clock-names = "refclk";
			status = "okay";
		};

		leds: leds@800 {
			compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds";
			reg = <0x800 0xdc>;

			#address-cells = <1>;
			#size-cells = <0>;
		};

		hsspi: spi@1000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "brcm,bcm4908-hsspi", "brcm,bcmbca-hsspi-v1.0";
			reg = <0x1000 0x600>;
			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&hsspi_pll &hsspi_pll>;
			clock-names = "hsspi", "pll";
			num-cs = <8>;
			status = "disabled";
		};

		nand_controller: nand-controller@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 = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "nand_ctlrdy";
			status = "disabled";

			nandcs: nand@0 {
				compatible = "brcm,nandcs";
				reg = <0>;
			};
		};

		i2c@2100 {
			compatible = "brcm,brcmper-i2c";
			reg = <0x2100 0x58>;
			clock-frequency = <97500>;
			pinctrl-names = "default";
			pinctrl-0 = <&pins_i2c_a>;
			status = "disabled";
		};

		misc@2600 {
			compatible = "brcm,misc", "simple-mfd";
			reg = <0x2600 0xe4>;

			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x00 0x2600 0xe4>;

			reset-controller@2644 {
				compatible = "brcm,bcm4908-misc-pcie-reset";
				reg = <0x44 0x04>;
				#reset-cells = <1>;
			};
		};
	};

	reboot {
		compatible = "syscon-reboot";
		regmap = <&twd>;
		offset = <0x34>;
		mask = <1>;
	};
};
