162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree file for SolidRun Clearfog Base revision A1 rev 2.0 (88F6828)
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci *  Copyright (C) 2015 Russell King
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/dts-v1/;
962306a36Sopenharmony_ci#include "armada-388-clearfog.dtsi"
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/ {
1262306a36Sopenharmony_ci	model = "SolidRun Clearfog Base A1";
1362306a36Sopenharmony_ci	compatible = "solidrun,clearfog-base-a1",
1462306a36Sopenharmony_ci		"solidrun,clearfog-a1", "marvell,armada388",
1562306a36Sopenharmony_ci		"marvell,armada385", "marvell,armada380";
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	gpio-keys {
1862306a36Sopenharmony_ci		compatible = "gpio-keys";
1962306a36Sopenharmony_ci		pinctrl-0 = <&rear_button_pins>;
2062306a36Sopenharmony_ci		pinctrl-names = "default";
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci		button-0 {
2362306a36Sopenharmony_ci			/* The rear SW3 button */
2462306a36Sopenharmony_ci			label = "Rear Button";
2562306a36Sopenharmony_ci			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
2662306a36Sopenharmony_ci			linux,can-disable;
2762306a36Sopenharmony_ci			linux,code = <BTN_0>;
2862306a36Sopenharmony_ci		};
2962306a36Sopenharmony_ci	};
3062306a36Sopenharmony_ci};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci&eth1 {
3362306a36Sopenharmony_ci	phy = <&phy1>;
3462306a36Sopenharmony_ci};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci&gpio0 {
3762306a36Sopenharmony_ci	phy1_reset {
3862306a36Sopenharmony_ci		gpio-hog;
3962306a36Sopenharmony_ci		gpios = <19 GPIO_ACTIVE_LOW>;
4062306a36Sopenharmony_ci		output-low;
4162306a36Sopenharmony_ci		line-name = "phy1-reset";
4262306a36Sopenharmony_ci	};
4362306a36Sopenharmony_ci};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci&mdio {
4662306a36Sopenharmony_ci	pinctrl-0 = <&mdio_pins &microsom_phy_clk_pins &clearfog_phy_pins>;
4762306a36Sopenharmony_ci	phy1: ethernet-phy@1 {
4862306a36Sopenharmony_ci		/*
4962306a36Sopenharmony_ci		 * Annoyingly, the marvell phy driver configures the LED
5062306a36Sopenharmony_ci		 * register, rather than preserving reset-loaded setting.
5162306a36Sopenharmony_ci		 * We undo that rubbish here.
5262306a36Sopenharmony_ci		 */
5362306a36Sopenharmony_ci		marvell,reg-init = <3 16 0 0x101e>;
5462306a36Sopenharmony_ci		reg = <1>;
5562306a36Sopenharmony_ci	};
5662306a36Sopenharmony_ci};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci&pinctrl {
5962306a36Sopenharmony_ci	/* phy1 reset */
6062306a36Sopenharmony_ci	clearfog_phy_pins: clearfog-phy-pins {
6162306a36Sopenharmony_ci		marvell,pins = "mpp19";
6262306a36Sopenharmony_ci		marvell,function = "gpio";
6362306a36Sopenharmony_ci	};
6462306a36Sopenharmony_ci	rear_button_pins: rear-button-pins {
6562306a36Sopenharmony_ci		marvell,pins = "mpp44";
6662306a36Sopenharmony_ci		marvell,function = "gpio";
6762306a36Sopenharmony_ci	};
6862306a36Sopenharmony_ci};
69