All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v4 0/5] various fixes mainly for colibri_t20
@ 2016-09-16  7:33 Marcel Ziswiler
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 1/5] tegra: usb gadget: fix ci udc operation if not hostpc capable Marcel Ziswiler
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Marcel Ziswiler @ 2016-09-16  7:33 UTC (permalink / raw)
  To: u-boot


This series addresses various issues as seen on Colibri T20. Please
note that for successful Ethernet operation not only on Colibri T20
but also on Colibri T30 the following patch will still be required
already waiting in Marek's usb tree:

[PATCH v2] net: asix: Fix ASIX 88772B with driver model

https://www.mail-archive.com/u-boot at lists.denx.de/msg224349.html

Changes in v4:
- Use full regulator rather than reg wording again in debug message as
  suggested by Przemyslaw.
- Tighten up error handling as suggested by John.
- Fix set_enable() as suggested by Stephen.
- Add Stephen's ack.

Changes in v3:
- Add Stephen's ack.
- Introduce new patch to honour optionality of fixed regulator enable
  GPIO.
- Get rid of dummy N/C GPIO work around now as the fixed regulator
  properly honours optionality of enable GPIO.
- Add Stephen's ack.

Changes in v2:
- As suggested by Stephen gating the CONFIG_CI_UDC_HAS_HOSTPC define
  with CONFIG_TEGRA20 rather than duplicating the same into all other
  SoC type specific header files.
- Add Anatolij's ack.
- Rename dummy regulator to reg_3v3 as suggested by Stephen.
- Keep dummy N/C GPIO to work around bug in U-Boot regulator driver
  requiring such node despite its binding claiming it being optional.
- As suggested by Stephen remove last patch 5/5 colibri_t20: enable dfu
  also for nand.

Marcel Ziswiler (5):
  tegra: usb gadget: fix ci udc operation if not hostpc capable
  simple panel: fix spelling of debug message
  regulator: fixed: honour optionality of enable gpio
  colibri_t20: fix display configuration
  colibri_t20: fix usb operation and controller order

 arch/arm/dts/tegra20-colibri.dts          | 116 +++++++++++++++++++-----------
 drivers/power/regulator/fixed.c           |  22 ++++--
 drivers/video/simple_panel.c              |   2 +-
 include/configs/tegra-common-usb-gadget.h |   2 +
 4 files changed, 94 insertions(+), 48 deletions(-)

-- 
2.5.5

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH v4 1/5] tegra: usb gadget: fix ci udc operation if not hostpc capable
  2016-09-16  7:33 [U-Boot] [PATCH v4 0/5] various fixes mainly for colibri_t20 Marcel Ziswiler
@ 2016-09-16  7:33 ` Marcel Ziswiler
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 2/5] simple panel: fix spelling of debug message Marcel Ziswiler
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Marcel Ziswiler @ 2016-09-16  7:33 UTC (permalink / raw)
  To: u-boot

The Tegra 2 aka T20 is not host PC capable. Therefore gate the define
CONFIG_CI_UDC_HAS_HOSTPC in tegra-common-usb-gadget.h in case of
CONFIG_TEGRA20.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Stephen Warren <swarren@nvidia.com>

---

Changes in v4: None
Changes in v3:
- Add Stephen's ack.

Changes in v2:
- As suggested by Stephen gating the CONFIG_CI_UDC_HAS_HOSTPC define
  with CONFIG_TEGRA20 rather than duplicating the same into all other
  SoC type specific header files.

 include/configs/tegra-common-usb-gadget.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/configs/tegra-common-usb-gadget.h b/include/configs/tegra-common-usb-gadget.h
index 3e3eeea..2e492c1 100644
--- a/include/configs/tegra-common-usb-gadget.h
+++ b/include/configs/tegra-common-usb-gadget.h
@@ -10,7 +10,9 @@
 
 #ifndef CONFIG_SPL_BUILD
 /* USB gadget mode support*/
+#ifndef CONFIG_TEGRA20
 #define CONFIG_CI_UDC_HAS_HOSTPC
+#endif
 /* USB mass storage protocol */
 #define CONFIG_USB_FUNCTION_MASS_STORAGE
 /* DFU protocol */
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH v4 2/5] simple panel: fix spelling of debug message
  2016-09-16  7:33 [U-Boot] [PATCH v4 0/5] various fixes mainly for colibri_t20 Marcel Ziswiler
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 1/5] tegra: usb gadget: fix ci udc operation if not hostpc capable Marcel Ziswiler
@ 2016-09-16  7:33 ` Marcel Ziswiler
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 3/5] regulator: fixed: honour optionality of enable gpio Marcel Ziswiler
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Marcel Ziswiler @ 2016-09-16  7:33 UTC (permalink / raw)
  To: u-boot

Fix spelling of debug message from cnnot to cannot.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Anatolij Gustschin <agust@denx.de>

---

Changes in v4: None
Changes in v3: None
Changes in v2:
- Add Anatolij's ack.

 drivers/video/simple_panel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/simple_panel.c b/drivers/video/simple_panel.c
index b2fe345..baa95f6 100644
--- a/drivers/video/simple_panel.c
+++ b/drivers/video/simple_panel.c
@@ -42,7 +42,7 @@ static int simple_panel_ofdata_to_platdata(struct udevice *dev)
 		ret = uclass_get_device_by_phandle(UCLASS_REGULATOR, dev,
 						   "power-supply", &priv->reg);
 		if (ret) {
-			debug("%s: Warning: cnnot get power supply: ret=%d\n",
+			debug("%s: Warning: cannot get power supply: ret=%d\n",
 			      __func__, ret);
 			if (ret != -ENOENT)
 				return ret;
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH v4 3/5] regulator: fixed: honour optionality of enable gpio
  2016-09-16  7:33 [U-Boot] [PATCH v4 0/5] various fixes mainly for colibri_t20 Marcel Ziswiler
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 1/5] tegra: usb gadget: fix ci udc operation if not hostpc capable Marcel Ziswiler
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 2/5] simple panel: fix spelling of debug message Marcel Ziswiler
@ 2016-09-16  7:33 ` Marcel Ziswiler
  2016-09-16  7:47   ` Marcel Ziswiler
  2016-09-16 17:04   ` Stephen Warren
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 4/5] colibri_t20: fix display configuration Marcel Ziswiler
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 5/5] colibri_t20: fix usb operation and controller order Marcel Ziswiler
  4 siblings, 2 replies; 8+ messages in thread
From: Marcel Ziswiler @ 2016-09-16  7:33 UTC (permalink / raw)
  To: u-boot

According to the binding documentation the fixed regulator enable GPIO
is optional. However so far registration thereof failed if no enable
GPIO was specified. Fix this by making it entirely optional whether an
enable GPIO is used.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

---

Changes in v4:
- Use full regulator rather than reg wording again in debug message as
  suggested by Przemyslaw.
- Tighten up error handling as suggested by John.
- Fix set_enable() as suggested by Stephen.

Changes in v3:
- Introduce new patch to honour optionality of fixed regulator enable
  GPIO.

Changes in v2: None

 drivers/power/regulator/fixed.c | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/drivers/power/regulator/fixed.c b/drivers/power/regulator/fixed.c
index 37b8400..6ffb25d 100644
--- a/drivers/power/regulator/fixed.c
+++ b/drivers/power/regulator/fixed.c
@@ -6,6 +6,8 @@
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
+#define DEBUG
+
 #include <common.h>
 #include <fdtdec.h>
 #include <errno.h>
@@ -37,11 +39,14 @@ static int fixed_regulator_ofdata_to_platdata(struct udevice *dev)
 	/* Set type to fixed */
 	uc_pdata->type = REGULATOR_TYPE_FIXED;
 
-	/* Get fixed regulator gpio desc */
+	/* Get fixed regulator optional enable GPIO desc */
 	gpio = &dev_pdata->gpio;
 	ret = gpio_request_by_name(dev, "gpio", 0, gpio, GPIOD_IS_OUT);
-	if (ret)
-		debug("Fixed regulator gpio - not found! Error: %d", ret);
+	if (ret) {
+		debug("Fixed regulator optional enable GPIO: %d\n", ret);
+		if (ret != -ENOENT)
+			return ret;
+	}
 
 	/* Get optional ramp up delay */
 	dev_pdata->startup_delay_us = fdtdec_get_uint(gd->fdt_blob,
@@ -87,8 +92,9 @@ static bool fixed_regulator_get_enable(struct udevice *dev)
 {
 	struct fixed_regulator_platdata *dev_pdata = dev_get_platdata(dev);
 
+	/* Enable GPIO is optional */
 	if (!dev_pdata->gpio.dev)
-		return false;
+		return true;
 
 	return dm_gpio_get_value(&dev_pdata->gpio);
 }
@@ -98,8 +104,12 @@ static int fixed_regulator_set_enable(struct udevice *dev, bool enable)
 	struct fixed_regulator_platdata *dev_pdata = dev_get_platdata(dev);
 	int ret;
 
-	if (!dev_pdata->gpio.dev)
-		return -ENOSYS;
+	/* Enable GPIO is optional */
+	if (!dev_pdata->gpio.dev) {
+		if (!enable)
+			return -ENOSYS;
+		return 0;
+	}
 
 	ret = dm_gpio_set_value(&dev_pdata->gpio, enable);
 	if (ret) {
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH v4 4/5] colibri_t20: fix display configuration
  2016-09-16  7:33 [U-Boot] [PATCH v4 0/5] various fixes mainly for colibri_t20 Marcel Ziswiler
                   ` (2 preceding siblings ...)
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 3/5] regulator: fixed: honour optionality of enable gpio Marcel Ziswiler
@ 2016-09-16  7:33 ` Marcel Ziswiler
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 5/5] colibri_t20: fix usb operation and controller order Marcel Ziswiler
  4 siblings, 0 replies; 8+ messages in thread
From: Marcel Ziswiler @ 2016-09-16  7:33 UTC (permalink / raw)
  To: u-boot

Without this patch the following error will be shown:

stdio_add_devices: Video device failed (ret=-22)

As commit ec5507707a1d1e84056a6c864338f95f6118d3ca (video: tegra: Move
to using simple-panel and pwm-backlight) states the Colibri T20 needs
updating too which this patch finally attempts doing.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Stephen Warren <swarren@nvidia.com>

---

Changes in v4:
- Add Stephen's ack.

Changes in v3:
- Get rid of dummy N/C GPIO work around now as the fixed regulator
  properly honours optionality of enable GPIO.

Changes in v2:
- Rename dummy regulator to reg_3v3 as suggested by Stephen.
- Keep dummy N/C GPIO to work around bug in U-Boot regulator driver
  requiring such node despite its binding claiming it being optional.

 arch/arm/dts/tegra20-colibri.dts | 71 +++++++++++++++++++++++++++++-----------
 1 file changed, 51 insertions(+), 20 deletions(-)

diff --git a/arch/arm/dts/tegra20-colibri.dts b/arch/arm/dts/tegra20-colibri.dts
index 2cf24d3..5b803d9 100644
--- a/arch/arm/dts/tegra20-colibri.dts
+++ b/arch/arm/dts/tegra20-colibri.dts
@@ -21,12 +21,24 @@
 	};
 
 	host1x at 50000000 {
-		status = "okay";
 		dc at 54200000 {
-			status = "okay";
 			rgb {
 				status = "okay";
 				nvidia,panel = <&lcd_panel>;
+				display-timings {
+					timing at 0 {
+						/* VESA VGA */
+						clock-frequency = <25175000>;
+						hactive = <640>;
+						vactive = <480>;
+						hback-porch = <48>;
+						hfront-porch = <16>;
+						hsync-len = <96>;
+						vback-porch = <31>;
+						vfront-porch = <11>;
+						vsync-len = <2>;
+					};
+				};
 			};
 		};
 	};
@@ -60,6 +72,10 @@
 		};
 	};
 
+	pwm at 7000a000 {
+		status = "okay";
+	};
+
 	/*
 	 * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier
 	 * board)
@@ -91,6 +107,18 @@
 		cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>;
 	};
 
+	backlight: backlight {
+		compatible = "pwm-backlight";
+
+		brightness-levels = <255 128 64 32 16 8 4 0>;
+		default-brightness-level = <6>;
+		/* BL_ON */
+		enable-gpios = <&gpio TEGRA_GPIO(T, 4) GPIO_ACTIVE_HIGH>;
+		power-supply = <&reg_3v3>;
+		/* PWM<A> */
+		pwms = <&pwm 0 5000000>;
+	};
+
 	clocks {
 		compatible = "simple-bus";
 		#address-cells = <1>;
@@ -104,25 +132,28 @@
 		};
 	};
 
-	pwm: pwm at 7000a000 {
-		status = "okay";
+	lcd_panel: panel {
+		/*
+		 * edt,et057090dhu: EDT 5.7" LCD TFT
+		 * edt,et070080dh6: EDT 7.0" LCD TFT
+		 */
+		compatible = "edt,et057090dhu", "simple-panel";
+
+		backlight = <&backlight>;
 	};
 
-	lcd_panel: panel {
-		clock = <25175000>;
-		xres = <640>;
-		yres = <480>;
-		left-margin = <48>;	/* horizontal back porch */
-		right-margin = <16>;	/* horizontal front porch */
-		hsync-len = <96>;
-		lower-margin = <11>;	/* vertical front porch */
-		upper-margin = <31>;	/* vertical back porch */
-		vsync-len = <2>;
-		hsync-active-high;
-		vsync-active-high;
-		nvidia,bits-per-pixel = <16>;
-		nvidia,pwm = <&pwm 0 0>;
-		nvidia,backlight-enable-gpios = <&gpio TEGRA_GPIO(T, 4) GPIO_ACTIVE_HIGH>;
-		nvidia,panel-timings = <0 0 0 0>;
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		reg_3v3: regulator at 0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "+V3.3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+		};
 	};
 };
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH v4 5/5] colibri_t20: fix usb operation and controller order
  2016-09-16  7:33 [U-Boot] [PATCH v4 0/5] various fixes mainly for colibri_t20 Marcel Ziswiler
                   ` (3 preceding siblings ...)
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 4/5] colibri_t20: fix display configuration Marcel Ziswiler
@ 2016-09-16  7:33 ` Marcel Ziswiler
  4 siblings, 0 replies; 8+ messages in thread
From: Marcel Ziswiler @ 2016-09-16  7:33 UTC (permalink / raw)
  To: u-boot

Without this patch the following error will be shown:

Colibri T20 # usb start
starting USB...
No controllers found

This patch fixes USB operation and also the controller order as the
CI UDC driver may only be instantiated on the first aka OTG port.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Stephen Warren <swarren@nvidia.com>

---

Changes in v4: None
Changes in v3:
- Add Stephen's ack.

Changes in v2:
- As suggested by Stephen remove last patch 5/5 colibri_t20: enable dfu
  also for nand.

 arch/arm/dts/tegra20-colibri.dts | 45 +++++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 21 deletions(-)

diff --git a/arch/arm/dts/tegra20-colibri.dts b/arch/arm/dts/tegra20-colibri.dts
index 5b803d9..6bc8c49 100644
--- a/arch/arm/dts/tegra20-colibri.dts
+++ b/arch/arm/dts/tegra20-colibri.dts
@@ -14,10 +14,10 @@
 		i2c0 = "/i2c at 7000d000";
 		i2c1 = "/i2c at 7000c000";
 		i2c2 = "/i2c at 7000c400";
-		usb0 = "/usb at c5008000";
-		usb1 = "/usb at c5000000";
-		usb2 = "/usb at c5004000";
 		sdhci0 = "/sdhci at c8000600";
+		usb0 = "/usb at c5000000";
+		usb1 = "/usb at c5004000"; /* on-module only, for ASIX */
+		usb2 = "/usb at c5008000";
 	};
 
 	host1x at 50000000 {
@@ -43,24 +43,6 @@
 		};
 	};
 
-	usb at c5000000 {
-		statuc = "okay";
-		dr_mode = "otg";
-	};
-
-	usb at c5004000 {
-		statuc = "okay";
-		/* VBUS_LAN */
-		nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
-		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(BB, 1) GPIO_ACTIVE_HIGH>;
-	};
-
-	usb at c5008000 {
-		statuc = "okay";
-		/* USBH_PEN */
-		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
-	};
-
 	nand-controller at 70008000 {
 		nvidia,wp-gpios = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_HIGH>;
 		nvidia,width = <8>;
@@ -101,6 +83,27 @@
 		clock-frequency = <100000>;
 	};
 
+	/* EHCI instance 0: USB1_DP/N -> USBC_P/N */
+	usb at c5000000 {
+		status = "okay";
+		dr_mode = "otg";
+	};
+
+	/* EHCI instance 1: ULPI -> USB3340 -> AX88772B */
+	usb at c5004000 {
+		status = "okay";
+		/* VBUS_LAN */
+		nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
+		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(BB, 1) GPIO_ACTIVE_HIGH>;
+	};
+
+	/* EHCI instance 2: USB3_DP/N -> USBH_P/N */
+	usb at c5008000 {
+		status = "okay";
+		/* USBH_PEN */
+		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
+	};
+
 	sdhci at c8000600 {
 		status = "okay";
 		bus-width = <4>;
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH v4 3/5] regulator: fixed: honour optionality of enable gpio
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 3/5] regulator: fixed: honour optionality of enable gpio Marcel Ziswiler
@ 2016-09-16  7:47   ` Marcel Ziswiler
  2016-09-16 17:04   ` Stephen Warren
  1 sibling, 0 replies; 8+ messages in thread
From: Marcel Ziswiler @ 2016-09-16  7:47 UTC (permalink / raw)
  To: u-boot

On Fri, 2016-09-16 at 09:33 +0200, Marcel Ziswiler wrote:
> According to the binding documentation the fixed regulator enable
> GPIO
> is optional. However so far registration thereof failed if no enable
> GPIO was specified. Fix this by making it entirely optional whether
> an
> enable GPIO is used.
> 
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> 
> ---
> 
> Changes in v4:
> - Use full regulator rather than reg wording again in debug message
> as
> ? suggested by Przemyslaw.
> - Tighten up error handling as suggested by John.
> - Fix set_enable() as suggested by Stephen.
> 
> Changes in v3:
> - Introduce new patch to honour optionality of fixed regulator enable
> ? GPIO.
> 
> Changes in v2: None
> 
> ?drivers/power/regulator/fixed.c | 22 ++++++++++++++++------
> ?1 file changed, 16 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/power/regulator/fixed.c
> b/drivers/power/regulator/fixed.c
> index 37b8400..6ffb25d 100644
> --- a/drivers/power/regulator/fixed.c
> +++ b/drivers/power/regulator/fixed.c
> @@ -6,6 +6,8 @@
> ? * SPDX-License-Identifier:	GPL-2.0+
> ? */
> ?
> +#define DEBUG
> +

Sorry, I just noticed I left DEBUG enabled here, Bummer. I will remove
that in a final version.

> ?#include <common.h>
> ?#include <fdtdec.h>
> ?#include <errno.h>
> @@ -37,11 +39,14 @@ static int
> fixed_regulator_ofdata_to_platdata(struct udevice *dev)
> ?	/* Set type to fixed */
> ?	uc_pdata->type = REGULATOR_TYPE_FIXED;
> ?
> -	/* Get fixed regulator gpio desc */
> +	/* Get fixed regulator optional enable GPIO desc */
> ?	gpio = &dev_pdata->gpio;
> ?	ret = gpio_request_by_name(dev, "gpio", 0, gpio,
> GPIOD_IS_OUT);
> -	if (ret)
> -		debug("Fixed regulator gpio - not found! Error: %d",
> ret);
> +	if (ret) {
> +		debug("Fixed regulator optional enable GPIO: %d\n",
> ret);
> +		if (ret != -ENOENT)
> +			return ret;
> +	}
> ?
> ?	/* Get optional ramp up delay */
> ?	dev_pdata->startup_delay_us = fdtdec_get_uint(gd->fdt_blob,
> @@ -87,8 +92,9 @@ static bool fixed_regulator_get_enable(struct
> udevice *dev)
> ?{
> ?	struct fixed_regulator_platdata *dev_pdata =
> dev_get_platdata(dev);
> ?
> +	/* Enable GPIO is optional */
> ?	if (!dev_pdata->gpio.dev)
> -		return false;
> +		return true;
> ?
> ?	return dm_gpio_get_value(&dev_pdata->gpio);
> ?}
> @@ -98,8 +104,12 @@ static int fixed_regulator_set_enable(struct
> udevice *dev, bool enable)
> ?	struct fixed_regulator_platdata *dev_pdata =
> dev_get_platdata(dev);
> ?	int ret;
> ?
> -	if (!dev_pdata->gpio.dev)
> -		return -ENOSYS;
> +	/* Enable GPIO is optional */
> +	if (!dev_pdata->gpio.dev) {
> +		if (!enable)
> +			return -ENOSYS;
> +		return 0;
> +	}
> ?
> ?	ret = dm_gpio_set_value(&dev_pdata->gpio, enable);
> ?	if (ret) {

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH v4 3/5] regulator: fixed: honour optionality of enable gpio
  2016-09-16  7:33 ` [U-Boot] [PATCH v4 3/5] regulator: fixed: honour optionality of enable gpio Marcel Ziswiler
  2016-09-16  7:47   ` Marcel Ziswiler
@ 2016-09-16 17:04   ` Stephen Warren
  1 sibling, 0 replies; 8+ messages in thread
From: Stephen Warren @ 2016-09-16 17:04 UTC (permalink / raw)
  To: u-boot

On 09/16/2016 01:33 AM, Marcel Ziswiler wrote:
> According to the binding documentation the fixed regulator enable GPIO
> is optional. However so far registration thereof failed if no enable
> GPIO was specified. Fix this by making it entirely optional whether an
> enable GPIO is used.

> diff --git a/drivers/power/regulator/fixed.c b/drivers/power/regulator/fixed.c

> @@ -37,11 +39,14 @@ static int fixed_regulator_ofdata_to_platdata(struct udevice *dev)
>  	/* Set type to fixed */
>  	uc_pdata->type = REGULATOR_TYPE_FIXED;
>
> -	/* Get fixed regulator gpio desc */
> +	/* Get fixed regulator optional enable GPIO desc */
>  	gpio = &dev_pdata->gpio;
>  	ret = gpio_request_by_name(dev, "gpio", 0, gpio, GPIOD_IS_OUT);
> -	if (ret)
> -		debug("Fixed regulator gpio - not found! Error: %d", ret);
> +	if (ret) {
> +		debug("Fixed regulator optional enable GPIO: %d\n", ret);
> +		if (ret != -ENOENT)
> +			return ret;

That message doesn't exactly make it obvious that it's describing a "not 
found" condition. Still, it is a debug() statement, so presumably anyone 
seeing the issue can just look at the code to see what's going on and 
work it out easily enough. So, aside from the DEBUG setting you already 
meantioned,

Acked-by: Stephen Warren <swarren@nvidia.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-09-16 17:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-16  7:33 [U-Boot] [PATCH v4 0/5] various fixes mainly for colibri_t20 Marcel Ziswiler
2016-09-16  7:33 ` [U-Boot] [PATCH v4 1/5] tegra: usb gadget: fix ci udc operation if not hostpc capable Marcel Ziswiler
2016-09-16  7:33 ` [U-Boot] [PATCH v4 2/5] simple panel: fix spelling of debug message Marcel Ziswiler
2016-09-16  7:33 ` [U-Boot] [PATCH v4 3/5] regulator: fixed: honour optionality of enable gpio Marcel Ziswiler
2016-09-16  7:47   ` Marcel Ziswiler
2016-09-16 17:04   ` Stephen Warren
2016-09-16  7:33 ` [U-Boot] [PATCH v4 4/5] colibri_t20: fix display configuration Marcel Ziswiler
2016-09-16  7:33 ` [U-Boot] [PATCH v4 5/5] colibri_t20: fix usb operation and controller order Marcel Ziswiler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.