[PATCH] arm64: zynqmp: Disable Tri-state for MIO38 Pin
Michal Simek
michal.simek at amd.com
Mon Nov 6 13:43:35 CET 2023
On 10/20/23 07:06, Tejas Bhumkar wrote:
> gpio38 is used in SOM's kv260 to reset the Ethernet PHY.
> At present, HW reset is not working properly as Tri-state
> is enabled for MIO38, causing inappropriate PHY register reads.
>
> Disabled Tri-state for MIO38 to make HW reset work.
>
> Tri-state disable :
> ZynqMP> md 0xFF180208 2
> ff180208: 00bfe7a3 00000540
>
> Tri-state enable :
> ZynqMP> md 0xFF180208 2
> ff180208: 00bfe7e3 00000540
>
> Signed-off-by: Tejas Bhumkar <tejas.arvind.bhumkar at amd.com>
> ---
> arch/arm/dts/zynqmp-sck-kv-g-revA.dtso | 25 +++++++++++++++++++++++++
> arch/arm/dts/zynqmp-sck-kv-g-revB.dtso | 25 +++++++++++++++++++++++++
> 2 files changed, 50 insertions(+)
>
> diff --git a/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso b/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
> index 22e7d68d02..c4f1da9218 100644
> --- a/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
> +++ b/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
> @@ -190,6 +190,25 @@
> &pinctrl0 {
> status = "okay";
>
> + pinctrl_gpio0_default: gpio0-default {
> + conf {
> + groups = "gpio0_38_grp";
> + bias-pull-up;
> + power-source = <IO_STANDARD_LVCMOS18>;
> + };
> +
> + mux {
> + groups = "gpio0_38_grp";
> + function = "gpio0";
> + };
> +
> + conf-tx {
> + pins = "MIO38";
> + bias-disable;
> + output-enable;
> + };
> + };
> +
> pinctrl_uart1_default: uart1-default {
> conf {
> groups = "uart1_9_grp";
> @@ -345,6 +364,12 @@
> };
> };
>
> +&gpio {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_gpio0_default>;
> +};
> +
> &uart1 {
> status = "okay";
> pinctrl-names = "default";
> diff --git a/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso b/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
> index eadc256306..6c5e0e5660 100644
> --- a/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
> +++ b/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
> @@ -178,6 +178,25 @@
> &pinctrl0 {
> status = "okay";
>
> + pinctrl_gpio0_default: gpio0-default {
> + conf {
> + groups = "gpio0_38_grp";
> + bias-pull-up;
> + power-source = <IO_STANDARD_LVCMOS18>;
> + };
> +
> + mux {
> + groups = "gpio0_38_grp";
> + function = "gpio0";
> + };
> +
> + conf-tx {
> + pins = "MIO38";
> + bias-disable;
> + output-enable;
> + };
> + };
> +
> pinctrl_uart1_default: uart1-default {
> conf {
> groups = "uart1_9_grp";
> @@ -333,6 +352,12 @@
> };
> };
>
> +&gpio {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_gpio0_default>;
> +};
> +
> &uart1 {
> status = "okay";
> pinctrl-names = "default";
Applied.
M
More information about the U-Boot
mailing list