// 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>;

				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>;
	};
};
