From ac8a064ec188fd6db65a92888ba5fa9e48b2156b Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 28 Jun 2021 14:45:13 +0900 Subject: [PATCH] ODROID-G12: Fix otg_host_mode overlay. The current kernel does not suppport for delete-property in overlay dts. Change-Id: I027dd5d0eca17c9084f1a0326290944fe82ab982 --- .../dts/amlogic/overlays/odroidc4/otg_host_mode.dts | 4 ++-- .../dts/amlogic/overlays/odroidn2/otg_host_mode.dts | 6 ++++-- drivers/amlogic/usb/phy/phy-aml-new-usb3-v2.c | 13 +++++++------ 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/otg_host_mode.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/otg_host_mode.dts index b1579f3efbf5..0c3b2e16cfe6 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/otg_host_mode.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/otg_host_mode.dts @@ -26,8 +26,8 @@ status = "okay"; portnum = <1>; otg = <0>; - gpio-vbus-power = ""; - gpios = <>; + gpio-vbus-power; + gpios; }; }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/otg_host_mode.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/otg_host_mode.dts index 53df5fa2185f..66d6561d6caa 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/otg_host_mode.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/otg_host_mode.dts @@ -26,8 +26,10 @@ status = "okay"; portnum = <1>; otg = <0>; - gpio-vbus-power = ""; - gpios = <>; + gpio-vbus-power; + hub-en; + hub-rst; + gpios; }; }; }; diff --git a/drivers/amlogic/usb/phy/phy-aml-new-usb3-v2.c b/drivers/amlogic/usb/phy/phy-aml-new-usb3-v2.c index 7aaaf8bf68b0..43b1eb47efbf 100644 --- a/drivers/amlogic/usb/phy/phy-aml-new-usb3-v2.c +++ b/drivers/amlogic/usb/phy/phy-aml-new-usb3-v2.c @@ -508,13 +508,14 @@ static int amlogic_new_usb3_v2_probe(struct platform_device *pdev) int ret; struct device_node *tsi_pci; u32 pwr_ctl = 0; + int len = 0; #if defined(CONFIG_ARCH_MESON64_ODROID_COMMON) struct gpio_desc *huben_gd = NULL; struct gpio_desc *hubrst_gd = NULL; #endif - gpio_name = of_get_property(dev->of_node, "gpio-vbus-power", NULL); - if (gpio_name) { + gpio_name = of_get_property(dev->of_node, "gpio-vbus-power", &len); + if (gpio_name && len != 0) { gpio_vbus_power_pin = 1; usb_gd = gpiod_get_index(&pdev->dev, NULL, 0, GPIOD_OUT_LOW); @@ -523,8 +524,8 @@ static int amlogic_new_usb3_v2_probe(struct platform_device *pdev) } #if defined(CONFIG_ARCH_MESON64_ODROID_COMMON) - gpio_name = of_get_property(dev->of_node, "hub-en", NULL); - if (gpio_name) { + gpio_name = of_get_property(dev->of_node, "hub-en", &len); + if (gpio_name && len != 0) { huben_gd = gpiod_get_index(&pdev->dev, NULL, 1, GPIOD_OUT_HIGH); if (IS_ERR(huben_gd)) @@ -534,8 +535,8 @@ static int amlogic_new_usb3_v2_probe(struct platform_device *pdev) gpiod_put(huben_gd); } - gpio_name = of_get_property(dev->of_node, "hub-rst", NULL); - if (gpio_name) { + gpio_name = of_get_property(dev->of_node, "hub-rst", &len); + if (gpio_name && len != 0) { hubrst_gd = gpiod_get_index(&pdev->dev, NULL, 2, GPIOD_OUT_HIGH); if (IS_ERR(hubrst_gd))