162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT)
262306a36Sopenharmony_ci/* Copyright (c) 2017 Microsemi Corporation */
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci/dts-v1/;
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
762306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
862306a36Sopenharmony_ci#include <dt-bindings/phy/phy-ocelot-serdes.h>
962306a36Sopenharmony_ci#include "ocelot.dtsi"
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/ {
1262306a36Sopenharmony_ci	compatible = "mscc,ocelot-pcb120", "mscc,ocelot";
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	chosen {
1562306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
1662306a36Sopenharmony_ci	};
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	memory@0 {
1962306a36Sopenharmony_ci		device_type = "memory";
2062306a36Sopenharmony_ci		reg = <0x0 0x0e000000>;
2162306a36Sopenharmony_ci	};
2262306a36Sopenharmony_ci};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci&gpio {
2562306a36Sopenharmony_ci	phy_int_pins: phy-int-pins {
2662306a36Sopenharmony_ci		pins = "GPIO_4";
2762306a36Sopenharmony_ci		function = "gpio";
2862306a36Sopenharmony_ci	};
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	phy_load_save_pins: phy-load-save-pins {
3162306a36Sopenharmony_ci		pins = "GPIO_10";
3262306a36Sopenharmony_ci		function = "ptp2";
3362306a36Sopenharmony_ci	};
3462306a36Sopenharmony_ci};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci&mdio0 {
3762306a36Sopenharmony_ci	status = "okay";
3862306a36Sopenharmony_ci};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci&mdio1 {
4162306a36Sopenharmony_ci	status = "okay";
4262306a36Sopenharmony_ci	pinctrl-names = "default";
4362306a36Sopenharmony_ci	pinctrl-0 = <&miim1_pins>, <&phy_int_pins>, <&phy_load_save_pins>;
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	phy7: ethernet-phy@0 {
4662306a36Sopenharmony_ci		reg = <0>;
4762306a36Sopenharmony_ci		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
4862306a36Sopenharmony_ci		interrupt-parent = <&gpio>;
4962306a36Sopenharmony_ci		load-save-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
5062306a36Sopenharmony_ci	};
5162306a36Sopenharmony_ci	phy6: ethernet-phy@1 {
5262306a36Sopenharmony_ci		reg = <1>;
5362306a36Sopenharmony_ci		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
5462306a36Sopenharmony_ci		interrupt-parent = <&gpio>;
5562306a36Sopenharmony_ci		load-save-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
5662306a36Sopenharmony_ci	};
5762306a36Sopenharmony_ci	phy5: ethernet-phy@2 {
5862306a36Sopenharmony_ci		reg = <2>;
5962306a36Sopenharmony_ci		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
6062306a36Sopenharmony_ci		interrupt-parent = <&gpio>;
6162306a36Sopenharmony_ci		load-save-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
6262306a36Sopenharmony_ci	};
6362306a36Sopenharmony_ci	phy4: ethernet-phy@3 {
6462306a36Sopenharmony_ci		reg = <3>;
6562306a36Sopenharmony_ci		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
6662306a36Sopenharmony_ci		interrupt-parent = <&gpio>;
6762306a36Sopenharmony_ci		load-save-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
6862306a36Sopenharmony_ci	};
6962306a36Sopenharmony_ci};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci&port0 {
7262306a36Sopenharmony_ci	status = "okay";
7362306a36Sopenharmony_ci	phy-handle = <&phy0>;
7462306a36Sopenharmony_ci	phy-mode = "internal";
7562306a36Sopenharmony_ci};
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci&port1 {
7862306a36Sopenharmony_ci	status = "okay";
7962306a36Sopenharmony_ci	phy-handle = <&phy1>;
8062306a36Sopenharmony_ci	phy-mode = "internal";
8162306a36Sopenharmony_ci};
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci&port2 {
8462306a36Sopenharmony_ci	status = "okay";
8562306a36Sopenharmony_ci	phy-handle = <&phy2>;
8662306a36Sopenharmony_ci	phy-mode = "internal";
8762306a36Sopenharmony_ci};
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci&port3 {
9062306a36Sopenharmony_ci	status = "okay";
9162306a36Sopenharmony_ci	phy-handle = <&phy3>;
9262306a36Sopenharmony_ci	phy-mode = "internal";
9362306a36Sopenharmony_ci};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci&port4 {
9662306a36Sopenharmony_ci	status = "okay";
9762306a36Sopenharmony_ci	phy-handle = <&phy7>;
9862306a36Sopenharmony_ci	phy-mode = "sgmii";
9962306a36Sopenharmony_ci	phys = <&serdes 4 SERDES1G(2)>;
10062306a36Sopenharmony_ci};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci&port5 {
10362306a36Sopenharmony_ci	status = "okay";
10462306a36Sopenharmony_ci	phy-handle = <&phy4>;
10562306a36Sopenharmony_ci	phy-mode = "sgmii";
10662306a36Sopenharmony_ci	phys = <&serdes 5 SERDES1G(5)>;
10762306a36Sopenharmony_ci};
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci&port6 {
11062306a36Sopenharmony_ci	status = "okay";
11162306a36Sopenharmony_ci	phy-handle = <&phy6>;
11262306a36Sopenharmony_ci	phy-mode = "sgmii";
11362306a36Sopenharmony_ci	phys = <&serdes 6 SERDES1G(3)>;
11462306a36Sopenharmony_ci};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci&port9 {
11762306a36Sopenharmony_ci	status = "okay";
11862306a36Sopenharmony_ci	phy-handle = <&phy5>;
11962306a36Sopenharmony_ci	phy-mode = "sgmii";
12062306a36Sopenharmony_ci	phys = <&serdes 9 SERDES1G(4)>;
12162306a36Sopenharmony_ci};
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci&uart0 {
12462306a36Sopenharmony_ci	status = "okay";
12562306a36Sopenharmony_ci};
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci&uart2 {
12862306a36Sopenharmony_ci	status = "okay";
12962306a36Sopenharmony_ci};
130