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

#include "rtl8382_hpe_1920.dtsi"

/ {
	compatible = "hpe,1920-24g", "realtek,rtl838x-soc";
	model = "HPE 1920-24G (JG924A)";
};

&mdio_bus0 {
	PHY_C22(0, 0)
	PHY_C22(1, 1)
	PHY_C22(2, 2)
	PHY_C22(3, 3)
	PHY_C22(4, 4)
	PHY_C22(5, 5)
	PHY_C22(6, 6)
	PHY_C22(7, 7)
};

&switch0 {
	ethernet-ports {
		#address-cells = <1>;
		#size-cells = <0>;

		SWITCH_PORT_SDS(0, 1, 0, qsgmii)
		SWITCH_PORT_SDS(1, 2, 0, qsgmii)
		SWITCH_PORT_SDS(2, 3, 0, qsgmii)
		SWITCH_PORT_SDS(3, 4, 0, qsgmii)
		SWITCH_PORT_SDS(4, 5, 1, qsgmii)
		SWITCH_PORT_SDS(5, 6, 1, qsgmii)
		SWITCH_PORT_SDS(6, 7, 1, qsgmii)
		SWITCH_PORT_SDS(7, 8, 1, qsgmii)

		SWITCH_PORT(8, 9, internal)
		SWITCH_PORT(9, 10, internal)
		SWITCH_PORT(10, 11, internal)
		SWITCH_PORT(11, 12, internal)
		SWITCH_PORT(12, 13, internal)
		SWITCH_PORT(13, 14, internal)
		SWITCH_PORT(14, 15, internal)
		SWITCH_PORT(15, 16, internal)

		SWITCH_PORT_SDS(16, 17, 2, qsgmii)
		SWITCH_PORT_SDS(17, 18, 2, qsgmii)
		SWITCH_PORT_SDS(18, 19, 2, qsgmii)
		SWITCH_PORT_SDS(19, 20, 2, qsgmii)
		SWITCH_PORT_SDS(20, 21, 3, qsgmii)
		SWITCH_PORT_SDS(21, 22, 3, qsgmii)
		SWITCH_PORT_SDS(22, 23, 3, qsgmii)
		SWITCH_PORT_SDS(23, 24, 3, qsgmii)

		SWITCH_PORT_SDS(24, 25, 4, qsgmii)
		SWITCH_PORT_SDS(25, 26, 4, qsgmii)
		SWITCH_PORT_SDS(26, 27, 4, qsgmii)
		SWITCH_PORT_SDS(27, 28, 4, qsgmii)

		port@28 {
			ethernet = <&ethernet0>;
			reg = <28>;
			phy-mode = "internal";
			fixed-link {
				speed = <1000>;
				full-duplex;
			};
		};
	};
};

&port0 {
	nvmem-cells = <&macaddr_factory 2>;
	nvmem-cell-names = "mac-address";
};

&port1 {
	nvmem-cells = <&macaddr_factory 3>;
	nvmem-cell-names = "mac-address";
};

&port2 {
	nvmem-cells = <&macaddr_factory 4>;
	nvmem-cell-names = "mac-address";
};

&port3 {
	nvmem-cells = <&macaddr_factory 5>;
	nvmem-cell-names = "mac-address";
};

&port4 {
	nvmem-cells = <&macaddr_factory 6>;
	nvmem-cell-names = "mac-address";
};

&port5 {
	nvmem-cells = <&macaddr_factory 7>;
	nvmem-cell-names = "mac-address";
};

&port6 {
	nvmem-cells = <&macaddr_factory 8>;
	nvmem-cell-names = "mac-address";
};

&port7 {
	nvmem-cells = <&macaddr_factory 9>;
	nvmem-cell-names = "mac-address";
};

&port8 {
	nvmem-cells = <&macaddr_factory 10>;
	nvmem-cell-names = "mac-address";
};

&port9 {
	nvmem-cells = <&macaddr_factory 11>;
	nvmem-cell-names = "mac-address";
};

&port10 {
	nvmem-cells = <&macaddr_factory 12>;
	nvmem-cell-names = "mac-address";
};

&port11 {
	nvmem-cells = <&macaddr_factory 13>;
	nvmem-cell-names = "mac-address";
};

&port12 {
	nvmem-cells = <&macaddr_factory 14>;
	nvmem-cell-names = "mac-address";
};

&port13 {
	nvmem-cells = <&macaddr_factory 15>;
	nvmem-cell-names = "mac-address";
};

&port14 {
	nvmem-cells = <&macaddr_factory 16>;
	nvmem-cell-names = "mac-address";
};

&port15 {
	nvmem-cells = <&macaddr_factory 17>;
	nvmem-cell-names = "mac-address";
};

&port16 {
	nvmem-cells = <&macaddr_factory 18>;
	nvmem-cell-names = "mac-address";
};

&port17 {
	nvmem-cells = <&macaddr_factory 19>;
	nvmem-cell-names = "mac-address";
};

&port18 {
	nvmem-cells = <&macaddr_factory 20>;
	nvmem-cell-names = "mac-address";
};

&port19 {
	nvmem-cells = <&macaddr_factory 21>;
	nvmem-cell-names = "mac-address";
};

&port20 {
	nvmem-cells = <&macaddr_factory 22>;
	nvmem-cell-names = "mac-address";
};

&port21 {
	nvmem-cells = <&macaddr_factory 23>;
	nvmem-cell-names = "mac-address";
};

&port22 {
	nvmem-cells = <&macaddr_factory 24>;
	nvmem-cell-names = "mac-address";
};

&port23 {
	nvmem-cells = <&macaddr_factory 25>;
	nvmem-cell-names = "mac-address";
};

&port24 {
	nvmem-cells = <&macaddr_factory 26>;
	nvmem-cell-names = "mac-address";
};

&port25 {
	nvmem-cells = <&macaddr_factory 27>;
	nvmem-cell-names = "mac-address";
};

&port26 {
	nvmem-cells = <&macaddr_factory 28>;
	nvmem-cell-names = "mac-address";
};

&port27 {
	nvmem-cells = <&macaddr_factory 29>;
	nvmem-cell-names = "mac-address";
};
