apm821xx: clean up gpio-hogs

convert the usb and both sata port power related gpio-hogs to
what they really are: fixed-regulators.

The ethernet phy-reset gpio-hog is replaced by a proper
upstream (4.15+) reset-gpios property in the mdio-node.
So this will work eventually.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
openwrt-19.07
Christian Lamparter 2018-07-29 11:55:17 +02:00 committed by John Crispin
parent cff6548948
commit b70d3557e0
2 changed files with 31 additions and 30 deletions

View File

@ -59,14 +59,6 @@
#gpio-cells = <2>; #gpio-cells = <2>;
gpio-controller; gpio-controller;
enable-phy {
/* toggle to reset EMAC PHY */
gpio-hog;
line-name = "enable EMAC PHY";
gpios = <0 GPIO_ACTIVE_LOW>;
output-low;
};
enable-button { enable-button {
/* Defined in u-boot as: NOT_NOR /* Defined in u-boot as: NOT_NOR
* "enables features other than NOR * "enables features other than NOR
@ -83,27 +75,6 @@
gpios = <1 GPIO_ACTIVE_HIGH>; gpios = <1 GPIO_ACTIVE_HIGH>;
output-low; output-low;
}; };
enable-usb {
gpio-hog;
line-name = "Power USB Core";
gpios = <2 GPIO_ACTIVE_LOW>;
output-low;
};
enable-port1 {
gpio-hog;
line-name = "Power Drive Port 1";
gpios = <3 GPIO_ACTIVE_LOW>;
output-low;
};
enable-port0 {
gpio-hog;
line-name = "Power Drive Port 0";
gpios = <7 GPIO_ACTIVE_LOW>;
output-low;
};
}; };
GPIO2: gpio2@e0100000 { GPIO2: gpio2@e0100000 {
@ -135,7 +106,7 @@
}; };
}; };
gpio_keys_polled { gpio-keys-polled {
compatible = "gpio-keys-polled"; compatible = "gpio-keys-polled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -148,6 +119,32 @@
gpios = <&GPIO2 2 GPIO_ACTIVE_LOW>; gpios = <&GPIO2 2 GPIO_ACTIVE_LOW>;
}; };
}; };
usbpwr: usb-regulator {
compatible = "regulator-fixed";
regulator-name = "Power USB Core";
gpios = <&GPIO1 2 GPIO_ACTIVE_LOW>;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
sata1pwr: sata1-regulator {
compatible = "regulator-fixed";
regulator-name = "Power Drive Port 1";
gpios = <&GPIO1 3 GPIO_ACTIVE_LOW>;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-always-on; /* needed to read OS from HDD */
};
sata0pwr: sata0-regulator {
compatible = "regulator-fixed";
regulator-name = "Power Drive Port 0";
gpios = <&GPIO1 7 GPIO_ACTIVE_LOW>;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-always-on; /* needed to read OS from HDD */
};
}; };
&EMAC0 { &EMAC0 {
@ -160,6 +157,7 @@
mdio { mdio {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
reset-gpios = <&GPIO1 0 GPIO_ACTIVE_LOW>;
phy: phy@1 { phy: phy@1 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
@ -195,4 +193,5 @@
&USBOTG0 { &USBOTG0 {
status = "okay"; status = "okay";
dr_mode = "host"; dr_mode = "host";
vbus-supply = <&usbpwr>;
}; };

View File

@ -45,3 +45,5 @@ CONFIG_PPC_EARLY_DEBUG_44x=y
# CONFIG_PPC_EARLY_DEBUG_MEMCONS is not set # CONFIG_PPC_EARLY_DEBUG_MEMCONS is not set
CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x4 CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x4
CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0xef600300 CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0xef600300
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y