All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [RESEND PATCH 0/2] Add clock support for designware net driver
@ 2017-11-29  8:06 patrice.chotard at st.com
  2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 1/2] dm: core: add missing dev_count_phandle_with_args() patrice.chotard at st.com
  2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support patrice.chotard at st.com
  0 siblings, 2 replies; 14+ messages in thread
From: patrice.chotard at st.com @ 2017-11-29  8:06 UTC (permalink / raw)
  To: u-boot

From: Patrice Chotard <patrice.chotard@st.com>

Resend with Simon Glass as reviewer

_ Patch 1 adds dev_count_phandle_with_args() in read.c to avoid compilation
  errors for Rockchip puma-rk3399 and lion-rk3368 platforms with patch 2.

_ Patch 2 adds clock support to designware net driver.

Patrice Chotard (2):
  dm: core: add missing dev_count_phandle_with_args()
  net: designware: add clock support

 drivers/core/read.c      |  7 +++++++
 drivers/net/designware.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 drivers/net/designware.h |  4 ++++
 3 files changed, 54 insertions(+)

-- 
1.9.1

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

* [U-Boot] [RESEND PATCH 1/2] dm: core: add missing dev_count_phandle_with_args()
  2017-11-29  8:06 [U-Boot] [RESEND PATCH 0/2] Add clock support for designware net driver patrice.chotard at st.com
@ 2017-11-29  8:06 ` patrice.chotard at st.com
  2017-12-02  3:28   ` Simon Glass
  2018-01-22 16:49   ` [U-Boot] " Joe Hershberger
  2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support patrice.chotard at st.com
  1 sibling, 2 replies; 14+ messages in thread
From: patrice.chotard at st.com @ 2017-11-29  8:06 UTC (permalink / raw)
  To: u-boot

From: Patrice Chotard <patrice.chotard@st.com>

Add missing dev_count_phandle_with_args() to avoid
compilation issue.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
---
 drivers/core/read.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/core/read.c b/drivers/core/read.c
index 5d440ce..f346cc1 100644
--- a/drivers/core/read.c
+++ b/drivers/core/read.c
@@ -103,6 +103,13 @@ int dev_read_phandle_with_args(struct udevice *dev, const char *list_name,
 					      out_args);
 }
 
+int dev_count_phandle_with_args(struct udevice *dev, const char *list_name,
+				const char *cells_name)
+{
+	return ofnode_count_phandle_with_args(dev_ofnode(dev), list_name,
+					      cells_name);
+}
+
 int dev_read_addr_cells(struct udevice *dev)
 {
 	return ofnode_read_addr_cells(dev_ofnode(dev));
-- 
1.9.1

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

* [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support
  2017-11-29  8:06 [U-Boot] [RESEND PATCH 0/2] Add clock support for designware net driver patrice.chotard at st.com
  2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 1/2] dm: core: add missing dev_count_phandle_with_args() patrice.chotard at st.com
@ 2017-11-29  8:06 ` patrice.chotard at st.com
  2017-12-02  3:29   ` Simon Glass
                     ` (3 more replies)
  1 sibling, 4 replies; 14+ messages in thread
From: patrice.chotard at st.com @ 2017-11-29  8:06 UTC (permalink / raw)
  To: u-boot

From: Patrice Chotard <patrice.chotard@st.com>

This implementation manages several clocks, disable and
free all of them in case of error during probe and in remove
callback.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
---
 drivers/net/designware.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 drivers/net/designware.h |  4 ++++
 2 files changed, 47 insertions(+)

diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 036d231..9207324 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -10,6 +10,7 @@
  */
 
 #include <common.h>
+#include <clk.h>
 #include <dm.h>
 #include <errno.h>
 #include <miiphy.h>
@@ -661,6 +662,35 @@ int designware_eth_probe(struct udevice *dev)
 	u32 iobase = pdata->iobase;
 	ulong ioaddr;
 	int ret;
+#ifdef CONFIG_CLK
+	int i, err, clock_nb;
+
+	priv->clock_count = 0;
+	clock_nb = dev_count_phandle_with_args(dev, "clocks", "#clock-cells");
+	if (clock_nb > 0) {
+		priv->clocks = devm_kcalloc(dev, clock_nb, sizeof(struct clk),
+					    GFP_KERNEL);
+		if (!priv->clocks)
+			return -ENOMEM;
+
+		for (i = 0; i < clock_nb; i++) {
+			err = clk_get_by_index(dev, i, &priv->clocks[i]);
+			if (err < 0)
+				break;
+
+			err = clk_enable(&priv->clocks[i]);
+			if (err) {
+				pr_err("failed to enable clock %d\n", i);
+				clk_free(&priv->clocks[i]);
+				goto clk_err;
+			}
+			priv->clock_count++;
+		}
+	} else if (clock_nb != -ENOENT) {
+		pr_err("failed to get clock phandle(%d)\n", clock_nb);
+		return clock_nb;
+	}
+#endif
 
 #if defined(CONFIG_DM_REGULATOR)
 	struct udevice *phy_supply;
@@ -707,6 +737,15 @@ int designware_eth_probe(struct udevice *dev)
 	debug("%s, ret=%d\n", __func__, ret);
 
 	return ret;
+
+#ifdef CONFIG_CLK
+clk_err:
+	ret = clk_release_all(priv->clocks, priv->clock_count);
+	if (ret)
+		pr_err("failed to disable all clocks\n");
+
+	return err;
+#endif
 }
 
 static int designware_eth_remove(struct udevice *dev)
@@ -717,7 +756,11 @@ static int designware_eth_remove(struct udevice *dev)
 	mdio_unregister(priv->bus);
 	mdio_free(priv->bus);
 
+#ifdef CONFIG_CLK
+	return clk_release_all(priv->clocks, priv->clock_count);
+#else
 	return 0;
+#endif
 }
 
 const struct eth_ops designware_eth_ops = {
diff --git a/drivers/net/designware.h b/drivers/net/designware.h
index 7992d0e..252cd24 100644
--- a/drivers/net/designware.h
+++ b/drivers/net/designware.h
@@ -239,6 +239,10 @@ struct dw_eth_dev {
 #ifdef CONFIG_DM_GPIO
 	struct gpio_desc reset_gpio;
 #endif
+#ifdef CONFIG_CLK
+	struct clk *clocks;	/* clock list */
+	int clock_count;	/* number of clock in clock list */
+#endif
 
 	struct phy_device *phydev;
 	struct mii_dev *bus;
-- 
1.9.1

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

* [U-Boot] [RESEND PATCH 1/2] dm: core: add missing dev_count_phandle_with_args()
  2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 1/2] dm: core: add missing dev_count_phandle_with_args() patrice.chotard at st.com
@ 2017-12-02  3:28   ` Simon Glass
  2017-12-04  8:05     ` Patrice CHOTARD
  2018-01-22 16:49   ` [U-Boot] " Joe Hershberger
  1 sibling, 1 reply; 14+ messages in thread
From: Simon Glass @ 2017-12-02  3:28 UTC (permalink / raw)
  To: u-boot

Hi Patrice,

On 29 November 2017 at 01:06,  <patrice.chotard@st.com> wrote:
> From: Patrice Chotard <patrice.chotard@st.com>
>
> Add missing dev_count_phandle_with_args() to avoid
> compilation issue.
>
> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
> ---
>  drivers/core/read.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/drivers/core/read.c b/drivers/core/read.c
> index 5d440ce..f346cc1 100644
> --- a/drivers/core/read.c
> +++ b/drivers/core/read.c
> @@ -103,6 +103,13 @@ int dev_read_phandle_with_args(struct udevice *dev, const char *list_name,
>                                               out_args);
>  }
>
> +int dev_count_phandle_with_args(struct udevice *dev, const char *list_name,
> +                               const char *cells_name)

Is there a declaration of this in the header file?

> +{
> +       return ofnode_count_phandle_with_args(dev_ofnode(dev), list_name,
> +                                             cells_name);
> +}
> +
>  int dev_read_addr_cells(struct udevice *dev)
>  {
>         return ofnode_read_addr_cells(dev_ofnode(dev));
> --
> 1.9.1
>

Regards,
Simon

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

* [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support
  2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support patrice.chotard at st.com
@ 2017-12-02  3:29   ` Simon Glass
  2017-12-05 20:38   ` Joe Hershberger
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 14+ messages in thread
From: Simon Glass @ 2017-12-02  3:29 UTC (permalink / raw)
  To: u-boot

On 29 November 2017 at 01:06,  <patrice.chotard@st.com> wrote:
> From: Patrice Chotard <patrice.chotard@st.com>
>
> This implementation manages several clocks, disable and
> free all of them in case of error during probe and in remove
> callback.
>
> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
> ---
>  drivers/net/designware.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>  drivers/net/designware.h |  4 ++++
>  2 files changed, 47 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>

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

* [U-Boot] [RESEND PATCH 1/2] dm: core: add missing dev_count_phandle_with_args()
  2017-12-02  3:28   ` Simon Glass
@ 2017-12-04  8:05     ` Patrice CHOTARD
  2017-12-09 19:28       ` Joe Hershberger
  0 siblings, 1 reply; 14+ messages in thread
From: Patrice CHOTARD @ 2017-12-04  8:05 UTC (permalink / raw)
  To: u-boot

Hi Simon

On 12/02/2017 04:28 AM, Simon Glass wrote:
> Hi Patrice,
> 
> On 29 November 2017 at 01:06,  <patrice.chotard@st.com> wrote:
>> From: Patrice Chotard <patrice.chotard@st.com>
>>
>> Add missing dev_count_phandle_with_args() to avoid
>> compilation issue.
>>
>> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
>> ---
>>   drivers/core/read.c | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/core/read.c b/drivers/core/read.c
>> index 5d440ce..f346cc1 100644
>> --- a/drivers/core/read.c
>> +++ b/drivers/core/read.c
>> @@ -103,6 +103,13 @@ int dev_read_phandle_with_args(struct udevice *dev, const char *list_name,
>>                                                out_args);
>>   }
>>
>> +int dev_count_phandle_with_args(struct udevice *dev, const char *list_name,
>> +                               const char *cells_name)
> 
> Is there a declaration of this in the header file?

yes

Patrice

> 
>> +{
>> +       return ofnode_count_phandle_with_args(dev_ofnode(dev), list_name,
>> +                                             cells_name);
>> +}
>> +
>>   int dev_read_addr_cells(struct udevice *dev)
>>   {
>>          return ofnode_read_addr_cells(dev_ofnode(dev));
>> --
>> 1.9.1
>>
> 
> Regards,
> Simon
> 

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

* [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support
  2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support patrice.chotard at st.com
  2017-12-02  3:29   ` Simon Glass
@ 2017-12-05 20:38   ` Joe Hershberger
  2018-01-22 16:49   ` [U-Boot] " Joe Hershberger
  2018-02-16  7:17   ` [U-Boot] [RESEND PATCH 2/2] " Jonathan Gray
  3 siblings, 0 replies; 14+ messages in thread
From: Joe Hershberger @ 2017-12-05 20:38 UTC (permalink / raw)
  To: u-boot

On Wed, Nov 29, 2017 at 2:06 AM,  <patrice.chotard@st.com> wrote:
> From: Patrice Chotard <patrice.chotard@st.com>
>
> This implementation manages several clocks, disable and
> free all of them in case of error during probe and in remove
> callback.
>
> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>

Acked-by: Joe Hershberger <joe.hershberger@ni.com>

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

* [U-Boot] [RESEND PATCH 1/2] dm: core: add missing dev_count_phandle_with_args()
  2017-12-04  8:05     ` Patrice CHOTARD
@ 2017-12-09 19:28       ` Joe Hershberger
  2017-12-11  9:08         ` Patrice CHOTARD
  0 siblings, 1 reply; 14+ messages in thread
From: Joe Hershberger @ 2017-12-09 19:28 UTC (permalink / raw)
  To: u-boot

On Mon, Dec 4, 2017 at 2:05 AM, Patrice CHOTARD <patrice.chotard@st.com> wrote:
> Hi Simon
>
> On 12/02/2017 04:28 AM, Simon Glass wrote:
>> Hi Patrice,
>>
>> On 29 November 2017 at 01:06,  <patrice.chotard@st.com> wrote:
>>> From: Patrice Chotard <patrice.chotard@st.com>
>>>
>>> Add missing dev_count_phandle_with_args() to avoid
>>> compilation issue.
>>>
>>> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
>>> ---
>>>   drivers/core/read.c | 7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>> diff --git a/drivers/core/read.c b/drivers/core/read.c
>>> index 5d440ce..f346cc1 100644
>>> --- a/drivers/core/read.c
>>> +++ b/drivers/core/read.c
>>> @@ -103,6 +103,13 @@ int dev_read_phandle_with_args(struct udevice *dev, const char *list_name,
>>>                                                out_args);
>>>   }
>>>
>>> +int dev_count_phandle_with_args(struct udevice *dev, const char *list_name,
>>> +                               const char *cells_name)
>>
>> Is there a declaration of this in the header file?
>
> yes
>

It seems that the function is only defined if
CONFIG_DM_DEV_READ_INLINE is defined. Otherwise, there is just a
prototype, but no implementation in include/dm/read.h.

Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>

>
>>
>>> +{
>>> +       return ofnode_count_phandle_with_args(dev_ofnode(dev), list_name,
>>> +                                             cells_name);
>>> +}
>>> +
>>>   int dev_read_addr_cells(struct udevice *dev)
>>>   {
>>>          return ofnode_read_addr_cells(dev_ofnode(dev));
>>> --
>>> 1.9.1
>>>
>>
>> Regards,
>> Simon
>>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot

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

* [U-Boot] [RESEND PATCH 1/2] dm: core: add missing dev_count_phandle_with_args()
  2017-12-09 19:28       ` Joe Hershberger
@ 2017-12-11  9:08         ` Patrice CHOTARD
  0 siblings, 0 replies; 14+ messages in thread
From: Patrice CHOTARD @ 2017-12-11  9:08 UTC (permalink / raw)
  To: u-boot

Hi Joe

On 12/09/2017 08:28 PM, Joe Hershberger wrote:
> On Mon, Dec 4, 2017 at 2:05 AM, Patrice CHOTARD <patrice.chotard@st.com> wrote:
>> Hi Simon
>>
>> On 12/02/2017 04:28 AM, Simon Glass wrote:
>>> Hi Patrice,
>>>
>>> On 29 November 2017 at 01:06,  <patrice.chotard@st.com> wrote:
>>>> From: Patrice Chotard <patrice.chotard@st.com>
>>>>
>>>> Add missing dev_count_phandle_with_args() to avoid
>>>> compilation issue.
>>>>
>>>> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
>>>> ---
>>>>    drivers/core/read.c | 7 +++++++
>>>>    1 file changed, 7 insertions(+)
>>>>
>>>> diff --git a/drivers/core/read.c b/drivers/core/read.c
>>>> index 5d440ce..f346cc1 100644
>>>> --- a/drivers/core/read.c
>>>> +++ b/drivers/core/read.c
>>>> @@ -103,6 +103,13 @@ int dev_read_phandle_with_args(struct udevice *dev, const char *list_name,
>>>>                                                 out_args);
>>>>    }
>>>>
>>>> +int dev_count_phandle_with_args(struct udevice *dev, const char *list_name,
>>>> +                               const char *cells_name)
>>>
>>> Is there a declaration of this in the header file?
>>
>> yes
>>
> 
> It seems that the function is only defined if
> CONFIG_DM_DEV_READ_INLINE is defined. Otherwise, there is just a
> prototype, but no implementation in include/dm/read.h.

The implementation is located in include/dm/read.h line 499.

For information, it's needed to not break compilation for a few aarch64 
platforms (puma-rk3399 and lion-rk3368).

Patrice

> 
> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
> 
>>
>>>
>>>> +{
>>>> +       return ofnode_count_phandle_with_args(dev_ofnode(dev), list_name,
>>>> +                                             cells_name);
>>>> +}
>>>> +
>>>>    int dev_read_addr_cells(struct udevice *dev)
>>>>    {
>>>>           return ofnode_read_addr_cells(dev_ofnode(dev));
>>>> --
>>>> 1.9.1
>>>>
>>>
>>> Regards,
>>> Simon
>>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> https://lists.denx.de/listinfo/u-boot

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

* [U-Boot] dm: core: add missing dev_count_phandle_with_args()
  2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 1/2] dm: core: add missing dev_count_phandle_with_args() patrice.chotard at st.com
  2017-12-02  3:28   ` Simon Glass
@ 2018-01-22 16:49   ` Joe Hershberger
  1 sibling, 0 replies; 14+ messages in thread
From: Joe Hershberger @ 2018-01-22 16:49 UTC (permalink / raw)
  To: u-boot

Hi Patrice,

https://patchwork.ozlabs.org/patch/842490/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git

Thanks!
-Joe

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

* [U-Boot] net: designware: add clock support
  2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support patrice.chotard at st.com
  2017-12-02  3:29   ` Simon Glass
  2017-12-05 20:38   ` Joe Hershberger
@ 2018-01-22 16:49   ` Joe Hershberger
  2018-02-16  7:17   ` [U-Boot] [RESEND PATCH 2/2] " Jonathan Gray
  3 siblings, 0 replies; 14+ messages in thread
From: Joe Hershberger @ 2018-01-22 16:49 UTC (permalink / raw)
  To: u-boot

Hi Patrice,

https://patchwork.ozlabs.org/patch/842491/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git

Thanks!
-Joe

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

* [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support
  2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support patrice.chotard at st.com
                     ` (2 preceding siblings ...)
  2018-01-22 16:49   ` [U-Boot] " Joe Hershberger
@ 2018-02-16  7:17   ` Jonathan Gray
  2018-02-16  8:02     ` Patrice CHOTARD
  3 siblings, 1 reply; 14+ messages in thread
From: Jonathan Gray @ 2018-02-16  7:17 UTC (permalink / raw)
  To: u-boot

On Wed, Nov 29, 2017 at 09:06:11AM +0100, patrice.chotard at st.com wrote:
> From: Patrice Chotard <patrice.chotard@st.com>
> 
> This implementation manages several clocks, disable and
> free all of them in case of error during probe and in remove
> callback.
> 
> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
> ---
>  drivers/net/designware.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>  drivers/net/designware.h |  4 ++++
>  2 files changed, 47 insertions(+)

RK3288 Ethernet on the ASUS Tinker Board fails to probe with master
(32fe36574ea5e6ea55313e16547b98a984af7767) but worked with 2018.01.

ba1f966725223c605ed504b09446c52a3f201c2b is the first bad commit
commit ba1f966725223c605ed504b09446c52a3f201c2b
Author: Patrice Chotard <patrice.chotard@st.com>
Date:   Wed Nov 29 09:06:11 2017 +0100

    net: designware: add clock support
    
    This implementation manages several clocks, disable and
    free all of them in case of error during probe and in remove
    callback.
    
    Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
    Reviewed-by: Simon Glass <sjg@chromium.org>
    Acked-by: Joe Hershberger <joe.hershberger@ni.com>

:040000 040000 6f1002af4c0f3ed7ab6f2418d4f2de00bbe454a7 e18d2a6c24cbfd055c89fa250946bf85199fff90 M      drivers

U-Boot 2018.03-rc2-00047-gc1531533c5 (Feb 16 2018 - 15:38:39 +1100)

Model: Tinker-RK3288
DRAM:  2 GiB
MMC:   dwmmc at ff0c0000: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Failed (-5)
In:    serial
Out:   serial
Err:   serial
Model: Tinker-RK3288
Net:   failed to enable clock 0
No ethernet found.
Hit any key to stop autoboot:  0
=> dm tree
 Class	    Probed  Driver	Name
----------------------------------------
 root	    [ + ]   root_drive	root_driver
 clk	    [	]   fixed_rate	|-- oscillator
 mmc	    [ + ]   rockchip_r	|-- dwmmc at ff0c0000
 blk	    [ + ]   mmc_blk	|   `-- dwmmc at ff0c0000.blk
 adc	    [ + ]   rockchip_s	|-- saradc at ff100000
 i2c	    [	]   i2c_rockch	|-- i2c at ff170000
 serial	    [	]   ns16550_se	|-- serial at ff180000
 serial	    [	]   ns16550_se	|-- serial at ff190000
 serial	    [ + ]   ns16550_se	|-- serial at ff690000
 serial	    [	]   ns16550_se	|-- serial at ff1b0000
 serial	    [	]   ns16550_se	|-- serial at ff1c0000
 eth	    [	]   gmac_rockc	|-- ethernet at ff290000
 usb	    [	]   dwc2_usb	|-- usb at ff540000
 usb	    [	]   dwc2_usb	|-- usb at ff580000
 ram	    [	]   rockchip_r	|-- dmc at ff610000
 i2c	    [ + ]   i2c_rockch	|-- i2c at ff650000
 pmic	    [ + ]   rk8xx pmic	|   `-- pmic at 1b
 regulator  [	]   rk8xx_buck	|	|-- DCDC_REG1
 regulator  [	]   rk8xx_buck	|	|-- DCDC_REG2
 regulator  [	]   rk8xx_buck	|	|-- DCDC_REG3
 regulator  [	]   rk8xx_buck	|	|-- DCDC_REG4
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG1
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG2
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG3
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG4
 regulator  [ + ]   rk8xx_ldo	|	|-- LDO_REG5
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG6
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG7
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG8
 regulator  [	]   rk8xx_swit	|	|-- SWITCH_REG1
 regulator  [	]   rk8xx_swit	|	`-- SWITCH_REG2
 i2c	    [ + ]   i2c_rockch	|-- i2c at ff660000
 i2c_eeprom [ + ]   i2c_eeprom	|   `-- m24c08 at 50
 pwm	    [	]   rk_pwm	|-- pwm at ff680000
 pwm	    [	]   rk_pwm	|-- pwm at ff680010
 syscon	    [ + ]   rk3288_sys	|-- power-management at ff730000
 syscon	    [	]   rk3288_sys	|-- syscon at ff740000
 clk	    [ + ]   rockchip_r	|-- clock-controller at ff760000
 sysreset   [	]   rockchip_s	|   `-- sysreset
 syscon	    [ + ]   rk3288_sys	|-- syscon at ff770000
 syscon	    [	]   rk3288_sys	|-- syscon at ffac0000
 pinctrl    [ + ]   rockchip_r	|-- pinctrl
 gpio	    [	]   gpio_rockc	|   |-- gpio0 at ff750000
 gpio	    [	]   gpio_rockc	|   |-- gpio1 at ff780000
 gpio	    [	]   gpio_rockc	|   |-- gpio2 at ff790000
 gpio	    [	]   gpio_rockc	|   |-- gpio3 at ff7a0000
 gpio	    [ + ]   gpio_rockc	|   |-- gpio4 at ff7b0000
 gpio	    [	]   gpio_rockc	|   |-- gpio5 at ff7c0000
 gpio	    [	]   gpio_rockc	|   |-- gpio6 at ff7d0000
 gpio	    [ + ]   gpio_rockc	|   |-- gpio7 at ff7e0000
 gpio	    [	]   gpio_rockc	|   |-- gpio8 at ff7f0000
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-down
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-12ma
 pinconfig  [ + ]   pinconfig	|   |-- sleep
 pinconfig  [ + ]   pinconfig	|   |	|-- global-pwroff
 pinconfig  [	]   pinconfig	|   |	|-- ddrio-pwroff
 pinconfig  [	]   pinconfig	|   |	|-- ddr0-retention
 pinconfig  [	]   pinconfig	|   |	`-- ddr1-retention
 pinconfig  [ + ]   pinconfig	|   |-- i2c0
 pinconfig  [ + ]   pinconfig	|   |	`-- i2c0-xfer
 pinconfig  [	]   pinconfig	|   |-- i2c1
 pinconfig  [	]   pinconfig	|   |	`-- i2c1-xfer
 pinconfig  [ + ]   pinconfig	|   |-- i2c2
 pinconfig  [ + ]   pinconfig	|   |	`-- i2c2-xfer
 pinconfig  [	]   pinconfig	|   |-- i2c3
 pinconfig  [	]   pinconfig	|   |	`-- i2c3-xfer
 pinconfig  [	]   pinconfig	|   |-- i2c4
 pinconfig  [	]   pinconfig	|   |	`-- i2c4-xfer
 pinconfig  [	]   pinconfig	|   |-- i2c5
 pinconfig  [	]   pinconfig	|   |	`-- i2c5-xfer
 pinconfig  [	]   pinconfig	|   |-- i2s0
 pinconfig  [	]   pinconfig	|   |	`-- i2s0-bus
 pinconfig  [	]   pinconfig	|   |-- lcdc0
 pinconfig  [	]   pinconfig	|   |	`-- lcdc0-ctl
 pinconfig  [ + ]   pinconfig	|   |-- sdmmc
 pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-clk
 pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-cmd
 pinconfig  [ + ]   pinconfig	|   |	|-- sdmcc-cd
 pinconfig  [	]   pinconfig	|   |	|-- sdmmc-bus1
 pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-bus4
 pinconfig  [ + ]   pinconfig	|   |	`-- sdmmc-pwr
 pinconfig  [	]   pinconfig	|   |-- sdio0
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus1
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus4
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-cmd
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-clk
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-cd
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-wp
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-pwr
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-bkpwr
 pinconfig  [	]   pinconfig	|   |	`-- sdio0-int
 pinconfig  [	]   pinconfig	|   |-- sdio1
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus1
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus4
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-cd
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-wp
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-bkpwr
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-int
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-cmd
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-clk
 pinconfig  [	]   pinconfig	|   |	`-- sdio1-pwr
 pinconfig  [	]   pinconfig	|   |-- emmc
 pinconfig  [	]   pinconfig	|   |	|-- emmc-clk
 pinconfig  [	]   pinconfig	|   |	|-- emmc-cmd
 pinconfig  [	]   pinconfig	|   |	|-- emmc-pwr
 pinconfig  [	]   pinconfig	|   |	|-- emmc-bus1
 pinconfig  [	]   pinconfig	|   |	|-- emmc-bus4
 pinconfig  [	]   pinconfig	|   |	`-- emmc-bus8
 pinconfig  [	]   pinconfig	|   |-- spi0
 pinconfig  [	]   pinconfig	|   |	|-- spi0-clk
 pinconfig  [	]   pinconfig	|   |	|-- spi0-cs0
 pinconfig  [	]   pinconfig	|   |	|-- spi0-tx
 pinconfig  [	]   pinconfig	|   |	|-- spi0-rx
 pinconfig  [	]   pinconfig	|   |	`-- spi0-cs1
 pinconfig  [	]   pinconfig	|   |-- spi1
 pinconfig  [	]   pinconfig	|   |	|-- spi1-clk
 pinconfig  [	]   pinconfig	|   |	|-- spi1-cs0
 pinconfig  [	]   pinconfig	|   |	|-- spi1-rx
 pinconfig  [	]   pinconfig	|   |	`-- spi1-tx
 pinconfig  [	]   pinconfig	|   |-- spi2
 pinconfig  [	]   pinconfig	|   |	|-- spi2-cs1
 pinconfig  [	]   pinconfig	|   |	|-- spi2-clk
 pinconfig  [	]   pinconfig	|   |	|-- spi2-cs0
 pinconfig  [	]   pinconfig	|   |	|-- spi2-rx
 pinconfig  [	]   pinconfig	|   |	`-- spi2-tx
 pinconfig  [	]   pinconfig	|   |-- uart0
 pinconfig  [	]   pinconfig	|   |	|-- uart0-xfer
 pinconfig  [	]   pinconfig	|   |	|-- uart0-cts
 pinconfig  [	]   pinconfig	|   |	`-- uart0-rts
 pinconfig  [	]   pinconfig	|   |-- uart1
 pinconfig  [	]   pinconfig	|   |	|-- uart1-xfer
 pinconfig  [	]   pinconfig	|   |	|-- uart1-cts
 pinconfig  [	]   pinconfig	|   |	`-- uart1-rts
 pinconfig  [ + ]   pinconfig	|   |-- uart2
 pinconfig  [ + ]   pinconfig	|   |	`-- uart2-xfer
 pinconfig  [	]   pinconfig	|   |-- uart3
 pinconfig  [	]   pinconfig	|   |	|-- uart3-xfer
 pinconfig  [	]   pinconfig	|   |	|-- uart3-cts
 pinconfig  [	]   pinconfig	|   |	`-- uart3-rts
 pinconfig  [	]   pinconfig	|   |-- uart4
 pinconfig  [	]   pinconfig	|   |	|-- uart4-xfer
 pinconfig  [	]   pinconfig	|   |	|-- uart4-cts
 pinconfig  [	]   pinconfig	|   |	`-- uart4-rts
 pinconfig  [	]   pinconfig	|   |-- tsadc
 pinconfig  [	]   pinconfig	|   |	`-- otp-out
 pinconfig  [	]   pinconfig	|   |-- pwm0
 pinconfig  [	]   pinconfig	|   |	`-- pwm0-pin
 pinconfig  [	]   pinconfig	|   |-- pwm1
 pinconfig  [	]   pinconfig	|   |	`-- pwm1-pin
 pinconfig  [	]   pinconfig	|   |-- pwm2
 pinconfig  [	]   pinconfig	|   |	`-- pwm2-pin
 pinconfig  [	]   pinconfig	|   |-- pwm3
 pinconfig  [	]   pinconfig	|   |	`-- pwm3-pin
 pinconfig  [ + ]   pinconfig	|   |-- gmac
 pinconfig  [ + ]   pinconfig	|   |	|-- rgmii-pins
 pinconfig  [	]   pinconfig	|   |	`-- rmii-pins
 pinconfig  [	]   pinconfig	|   |-- spdif
 pinconfig  [	]   pinconfig	|   |	`-- spdif-tx
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-drv-8ma
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up-drv-8ma
 pinconfig  [	]   pinconfig	|   |-- backlight
 pinconfig  [	]   pinconfig	|   |	`-- bl-en
 pinconfig  [	]   pinconfig	|   |-- buttons
 pinconfig  [	]   pinconfig	|   |	`-- pwrbtn
 pinconfig  [	]   pinconfig	|   |-- eth_phy
 pinconfig  [	]   pinconfig	|   |	`-- eth-phy-pwr
 pinconfig  [ + ]   pinconfig	|   |-- pmic
 pinconfig  [ + ]   pinconfig	|   |	`-- pmic-int
 pinconfig  [	]   pinconfig	|   `-- usb
 pinconfig  [	]   pinconfig	|	|-- host-vbus-drv
 pinconfig  [	]   pinconfig	|	`-- pwr-3g
 clk	    [ + ]   fixed_rate	|-- external-gmac-clock
 regulator  [	]   fixed regu	|-- vsys-regulator
 regulator  [ + ]   fixed regu	|-- sdmmc-regulator
 regulator  [	]   fixed regu	`-- usb-host-regulator
=>

U-Boot 2018.01 (Feb 06 2018 - 23:24:11 -0700)

Model: Tinker-RK3288
DRAM:  2 GiB
MMC:   dwmmc at ff0c0000: 1
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Model: Tinker-RK3288
Net:   eth0: ethernet at ff290000
Hit any key to stop autoboot:  0
=> dm tree
 Class	    Probed  Driver	Name
----------------------------------------
 root	    [ + ]   root_drive	root_driver
 clk	    [	]   fixed_rate	|-- oscillator
 mmc	    [ + ]   rockchip_r	|-- dwmmc at ff0c0000
 blk	    [ + ]   mmc_blk	|   `-- dwmmc at ff0c0000.blk
 adc	    [ + ]   rockchip_s	|-- saradc at ff100000
 i2c	    [	]   i2c_rockch	|-- i2c at ff170000
 serial	    [	]   ns16550_se	|-- serial at ff180000
 serial	    [	]   ns16550_se	|-- serial at ff190000
 serial	    [ + ]   ns16550_se	|-- serial at ff690000
 serial	    [	]   ns16550_se	|-- serial at ff1b0000
 serial	    [	]   ns16550_se	|-- serial at ff1c0000
 eth	    [ + ]   gmac_rockc	|-- ethernet at ff290000
 usb	    [	]   dwc2_usb	|-- usb at ff540000
 usb	    [	]   dwc2_usb	|-- usb at ff580000
 ram	    [	]   rockchip_r	|-- dmc at ff610000
 i2c	    [ + ]   i2c_rockch	|-- i2c at ff650000
 pmic	    [ + ]   rk8xx pmic	|   `-- pmic at 1b
 regulator  [	]   rk8xx_buck	|	|-- DCDC_REG1
 regulator  [	]   rk8xx_buck	|	|-- DCDC_REG2
 regulator  [	]   rk8xx_buck	|	|-- DCDC_REG3
 regulator  [	]   rk8xx_buck	|	|-- DCDC_REG4
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG1
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG2
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG3
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG4
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG5
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG6
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG7
 regulator  [	]   rk8xx_ldo	|	|-- LDO_REG8
 regulator  [	]   rk8xx_swit	|	|-- SWITCH_REG1
 regulator  [ + ]   rk8xx_swit	|	`-- SWITCH_REG2
 i2c	    [ + ]   i2c_rockch	|-- i2c at ff660000
 i2c_eeprom [ + ]   i2c_eeprom	|   `-- m24c08 at 50
 pwm	    [	]   rk_pwm	|-- pwm at ff680000
 pwm	    [	]   rk_pwm	|-- pwm at ff680010
 syscon	    [ + ]   rk3288_sys	|-- power-management at ff730000
 syscon	    [	]   rk3288_sys	|-- syscon at ff740000
 clk	    [ + ]   rockchip_r	|-- clock-controller at ff760000
 sysreset   [	]   rockchip_s	|   `-- sysreset
 syscon	    [ + ]   rk3288_sys	|-- syscon at ff770000
 syscon	    [	]   rk3288_sys	|-- syscon at ffac0000
 pinctrl    [ + ]   rockchip_r	|-- pinctrl
 gpio	    [	]   gpio_rockc	|   |-- gpio0 at ff750000
 gpio	    [	]   gpio_rockc	|   |-- gpio1 at ff780000
 gpio	    [	]   gpio_rockc	|   |-- gpio2 at ff790000
 gpio	    [	]   gpio_rockc	|   |-- gpio3 at ff7a0000
 gpio	    [ + ]   gpio_rockc	|   |-- gpio4 at ff7b0000
 gpio	    [	]   gpio_rockc	|   |-- gpio5 at ff7c0000
 gpio	    [	]   gpio_rockc	|   |-- gpio6 at ff7d0000
 gpio	    [ + ]   gpio_rockc	|   |-- gpio7 at ff7e0000
 gpio	    [	]   gpio_rockc	|   |-- gpio8 at ff7f0000
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-down
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-12ma
 pinconfig  [ + ]   pinconfig	|   |-- sleep
 pinconfig  [ + ]   pinconfig	|   |	|-- global-pwroff
 pinconfig  [	]   pinconfig	|   |	|-- ddrio-pwroff
 pinconfig  [	]   pinconfig	|   |	|-- ddr0-retention
 pinconfig  [	]   pinconfig	|   |	`-- ddr1-retention
 pinconfig  [ + ]   pinconfig	|   |-- i2c0
 pinconfig  [ + ]   pinconfig	|   |	`-- i2c0-xfer
 pinconfig  [	]   pinconfig	|   |-- i2c1
 pinconfig  [	]   pinconfig	|   |	`-- i2c1-xfer
 pinconfig  [ + ]   pinconfig	|   |-- i2c2
 pinconfig  [ + ]   pinconfig	|   |	`-- i2c2-xfer
 pinconfig  [	]   pinconfig	|   |-- i2c3
 pinconfig  [	]   pinconfig	|   |	`-- i2c3-xfer
 pinconfig  [	]   pinconfig	|   |-- i2c4
 pinconfig  [	]   pinconfig	|   |	`-- i2c4-xfer
 pinconfig  [	]   pinconfig	|   |-- i2c5
 pinconfig  [	]   pinconfig	|   |	`-- i2c5-xfer
 pinconfig  [	]   pinconfig	|   |-- i2s0
 pinconfig  [	]   pinconfig	|   |	`-- i2s0-bus
 pinconfig  [	]   pinconfig	|   |-- lcdc0
 pinconfig  [	]   pinconfig	|   |	`-- lcdc0-ctl
 pinconfig  [ + ]   pinconfig	|   |-- sdmmc
 pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-clk
 pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-cmd
 pinconfig  [ + ]   pinconfig	|   |	|-- sdmcc-cd
 pinconfig  [	]   pinconfig	|   |	|-- sdmmc-bus1
 pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-bus4
 pinconfig  [ + ]   pinconfig	|   |	`-- sdmmc-pwr
 pinconfig  [	]   pinconfig	|   |-- sdio0
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus1
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus4
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-cmd
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-clk
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-cd
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-wp
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-pwr
 pinconfig  [	]   pinconfig	|   |	|-- sdio0-bkpwr
 pinconfig  [	]   pinconfig	|   |	`-- sdio0-int
 pinconfig  [	]   pinconfig	|   |-- sdio1
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus1
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus4
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-cd
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-wp
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-bkpwr
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-int
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-cmd
 pinconfig  [	]   pinconfig	|   |	|-- sdio1-clk
 pinconfig  [	]   pinconfig	|   |	`-- sdio1-pwr
 pinconfig  [	]   pinconfig	|   |-- emmc
 pinconfig  [	]   pinconfig	|   |	|-- emmc-clk
 pinconfig  [	]   pinconfig	|   |	|-- emmc-cmd
 pinconfig  [	]   pinconfig	|   |	|-- emmc-pwr
 pinconfig  [	]   pinconfig	|   |	|-- emmc-bus1
 pinconfig  [	]   pinconfig	|   |	|-- emmc-bus4
 pinconfig  [	]   pinconfig	|   |	`-- emmc-bus8
 pinconfig  [	]   pinconfig	|   |-- spi0
 pinconfig  [	]   pinconfig	|   |	|-- spi0-clk
 pinconfig  [	]   pinconfig	|   |	|-- spi0-cs0
 pinconfig  [	]   pinconfig	|   |	|-- spi0-tx
 pinconfig  [	]   pinconfig	|   |	|-- spi0-rx
 pinconfig  [	]   pinconfig	|   |	`-- spi0-cs1
 pinconfig  [	]   pinconfig	|   |-- spi1
 pinconfig  [	]   pinconfig	|   |	|-- spi1-clk
 pinconfig  [	]   pinconfig	|   |	|-- spi1-cs0
 pinconfig  [	]   pinconfig	|   |	|-- spi1-rx
 pinconfig  [	]   pinconfig	|   |	`-- spi1-tx
 pinconfig  [	]   pinconfig	|   |-- spi2
 pinconfig  [	]   pinconfig	|   |	|-- spi2-cs1
 pinconfig  [	]   pinconfig	|   |	|-- spi2-clk
 pinconfig  [	]   pinconfig	|   |	|-- spi2-cs0
 pinconfig  [	]   pinconfig	|   |	|-- spi2-rx
 pinconfig  [	]   pinconfig	|   |	`-- spi2-tx
 pinconfig  [	]   pinconfig	|   |-- uart0
 pinconfig  [	]   pinconfig	|   |	|-- uart0-xfer
 pinconfig  [	]   pinconfig	|   |	|-- uart0-cts
 pinconfig  [	]   pinconfig	|   |	`-- uart0-rts
 pinconfig  [	]   pinconfig	|   |-- uart1
 pinconfig  [	]   pinconfig	|   |	|-- uart1-xfer
 pinconfig  [	]   pinconfig	|   |	|-- uart1-cts
 pinconfig  [	]   pinconfig	|   |	`-- uart1-rts
 pinconfig  [ + ]   pinconfig	|   |-- uart2
 pinconfig  [ + ]   pinconfig	|   |	`-- uart2-xfer
 pinconfig  [	]   pinconfig	|   |-- uart3
 pinconfig  [	]   pinconfig	|   |	|-- uart3-xfer
 pinconfig  [	]   pinconfig	|   |	|-- uart3-cts
 pinconfig  [	]   pinconfig	|   |	`-- uart3-rts
 pinconfig  [	]   pinconfig	|   |-- uart4
 pinconfig  [	]   pinconfig	|   |	|-- uart4-xfer
 pinconfig  [	]   pinconfig	|   |	|-- uart4-cts
 pinconfig  [	]   pinconfig	|   |	`-- uart4-rts
 pinconfig  [	]   pinconfig	|   |-- tsadc
 pinconfig  [	]   pinconfig	|   |	`-- otp-out
 pinconfig  [	]   pinconfig	|   |-- pwm0
 pinconfig  [	]   pinconfig	|   |	`-- pwm0-pin
 pinconfig  [	]   pinconfig	|   |-- pwm1
 pinconfig  [	]   pinconfig	|   |	`-- pwm1-pin
 pinconfig  [	]   pinconfig	|   |-- pwm2
 pinconfig  [	]   pinconfig	|   |	`-- pwm2-pin
 pinconfig  [	]   pinconfig	|   |-- pwm3
 pinconfig  [	]   pinconfig	|   |	`-- pwm3-pin
 pinconfig  [ + ]   pinconfig	|   |-- gmac
 pinconfig  [ + ]   pinconfig	|   |	|-- rgmii-pins
 pinconfig  [	]   pinconfig	|   |	`-- rmii-pins
 pinconfig  [	]   pinconfig	|   |-- spdif
 pinconfig  [	]   pinconfig	|   |	`-- spdif-tx
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-drv-8ma
 pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up-drv-8ma
 pinconfig  [	]   pinconfig	|   |-- backlight
 pinconfig  [	]   pinconfig	|   |	`-- bl-en
 pinconfig  [	]   pinconfig	|   |-- buttons
 pinconfig  [	]   pinconfig	|   |	`-- pwrbtn
 pinconfig  [	]   pinconfig	|   |-- eth_phy
 pinconfig  [	]   pinconfig	|   |	`-- eth-phy-pwr
 pinconfig  [ + ]   pinconfig	|   |-- pmic
 pinconfig  [ + ]   pinconfig	|   |	`-- pmic-int
 pinconfig  [	]   pinconfig	|   `-- usb
 pinconfig  [	]   pinconfig	|	|-- host-vbus-drv
 pinconfig  [	]   pinconfig	|	`-- pwr-3g
 clk	    [	]   fixed_rate	|-- external-gmac-clock
 regulator  [	]   fixed regu	|-- vsys-regulator
 regulator  [ + ]   fixed regu	|-- sdmmc-regulator
 regulator  [	]   fixed regu	`-- usb-host-regulator
=>

@@ -73,7 +27,7 @@ Hit any key to stop autoboot:  0
  serial	    [ + ]   ns16550_se	|-- serial at ff690000
  serial	    [	]   ns16550_se	|-- serial at ff1b0000
  serial	    [	]   ns16550_se	|-- serial at ff1c0000
- eth	    [ + ]   gmac_rockc	|-- ethernet at ff290000
+ eth	    [	]   gmac_rockc	|-- ethernet at ff290000
  usb	    [	]   dwc2_usb	|-- usb at ff540000
  usb	    [	]   dwc2_usb	|-- usb at ff580000
  ram	    [	]   rockchip_r	|-- dmc at ff610000
@@ -87,12 +41,12 @@ Hit any key to stop autoboot:  0
  regulator  [	]   rk8xx_ldo	|	|-- LDO_REG2
  regulator  [	]   rk8xx_ldo	|	|-- LDO_REG3
  regulator  [	]   rk8xx_ldo	|	|-- LDO_REG4
- regulator  [	]   rk8xx_ldo	|	|-- LDO_REG5
+ regulator  [ + ]   rk8xx_ldo	|	|-- LDO_REG5
  regulator  [	]   rk8xx_ldo	|	|-- LDO_REG6
  regulator  [	]   rk8xx_ldo	|	|-- LDO_REG7
  regulator  [	]   rk8xx_ldo	|	|-- LDO_REG8
  regulator  [	]   rk8xx_swit	|	|-- SWITCH_REG1
- regulator  [ + ]   rk8xx_swit	|	`-- SWITCH_REG2
+ regulator  [	]   rk8xx_swit	|	`-- SWITCH_REG2
  i2c	    [ + ]   i2c_rockch	|-- i2c at ff660000
  i2c_eeprom [ + ]   i2c_eeprom	|   `-- m24c08 at 50
  pwm	    [	]   rk_pwm	|-- pwm at ff680000
@@ -235,7 +189,7 @@ Hit any key to stop autoboot:  0
  pinconfig  [	]   pinconfig	|   `-- usb
  pinconfig  [	]   pinconfig	|	|-- host-vbus-drv
  pinconfig  [	]   pinconfig	|	`-- pwr-3g
- clk	    [	]   fixed_rate	|-- external-gmac-clock
+ clk	    [ + ]   fixed_rate	|-- external-gmac-clock
  regulator  [	]   fixed regu	|-- vsys-regulator
  regulator  [ + ]   fixed regu	|-- sdmmc-regulator
  regulator  [	]   fixed regu	`-- usb-host-regulator

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

* [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support
  2018-02-16  7:17   ` [U-Boot] [RESEND PATCH 2/2] " Jonathan Gray
@ 2018-02-16  8:02     ` Patrice CHOTARD
  2018-02-16  9:05       ` Jonathan Gray
  0 siblings, 1 reply; 14+ messages in thread
From: Patrice CHOTARD @ 2018-02-16  8:02 UTC (permalink / raw)
  To: u-boot

Hi Jonathan

Have you tried to apply the fix available here ?

http://u-boot.10912.n7.nabble.com/PATCH-NET-designware-fix-clock-enable-td320043.html

Regards

Patrice


On 02/16/2018 08:17 AM, Jonathan Gray wrote:
> On Wed, Nov 29, 2017 at 09:06:11AM +0100, patrice.chotard at st.com wrote:
>> From: Patrice Chotard <patrice.chotard@st.com>
>>
>> This implementation manages several clocks, disable and
>> free all of them in case of error during probe and in remove
>> callback.
>>
>> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
>> ---
>>   drivers/net/designware.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>>   drivers/net/designware.h |  4 ++++
>>   2 files changed, 47 insertions(+)
> 
> RK3288 Ethernet on the ASUS Tinker Board fails to probe with master
> (32fe36574ea5e6ea55313e16547b98a984af7767) but worked with 2018.01.
> 
> ba1f966725223c605ed504b09446c52a3f201c2b is the first bad commit
> commit ba1f966725223c605ed504b09446c52a3f201c2b
> Author: Patrice Chotard <patrice.chotard@st.com>
> Date:   Wed Nov 29 09:06:11 2017 +0100
> 
>      net: designware: add clock support
>      
>      This implementation manages several clocks, disable and
>      free all of them in case of error during probe and in remove
>      callback.
>      
>      Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
>      Reviewed-by: Simon Glass <sjg@chromium.org>
>      Acked-by: Joe Hershberger <joe.hershberger@ni.com>
> 
> :040000 040000 6f1002af4c0f3ed7ab6f2418d4f2de00bbe454a7 e18d2a6c24cbfd055c89fa250946bf85199fff90 M      drivers
> 
> U-Boot 2018.03-rc2-00047-gc1531533c5 (Feb 16 2018 - 15:38:39 +1100)
> 
> Model: Tinker-RK3288
> DRAM:  2 GiB
> MMC:   dwmmc at ff0c0000: 1
> Loading Environment from MMC... *** Warning - bad CRC, using default environment
> 
> Failed (-5)
> In:    serial
> Out:   serial
> Err:   serial
> Model: Tinker-RK3288
> Net:   failed to enable clock 0
> No ethernet found.
> Hit any key to stop autoboot:  0
> => dm tree
>   Class	    Probed  Driver	Name
> ----------------------------------------
>   root	    [ + ]   root_drive	root_driver
>   clk	    [	]   fixed_rate	|-- oscillator
>   mmc	    [ + ]   rockchip_r	|-- dwmmc at ff0c0000
>   blk	    [ + ]   mmc_blk	|   `-- dwmmc at ff0c0000.blk
>   adc	    [ + ]   rockchip_s	|-- saradc at ff100000
>   i2c	    [	]   i2c_rockch	|-- i2c at ff170000
>   serial	    [	]   ns16550_se	|-- serial at ff180000
>   serial	    [	]   ns16550_se	|-- serial at ff190000
>   serial	    [ + ]   ns16550_se	|-- serial at ff690000
>   serial	    [	]   ns16550_se	|-- serial at ff1b0000
>   serial	    [	]   ns16550_se	|-- serial at ff1c0000
>   eth	    [	]   gmac_rockc	|-- ethernet at ff290000
>   usb	    [	]   dwc2_usb	|-- usb at ff540000
>   usb	    [	]   dwc2_usb	|-- usb at ff580000
>   ram	    [	]   rockchip_r	|-- dmc at ff610000
>   i2c	    [ + ]   i2c_rockch	|-- i2c at ff650000
>   pmic	    [ + ]   rk8xx pmic	|   `-- pmic at 1b
>   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG1
>   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG2
>   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG3
>   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG4
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG1
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG2
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG3
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG4
>   regulator  [ + ]   rk8xx_ldo	|	|-- LDO_REG5
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG6
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG7
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG8
>   regulator  [	]   rk8xx_swit	|	|-- SWITCH_REG1
>   regulator  [	]   rk8xx_swit	|	`-- SWITCH_REG2
>   i2c	    [ + ]   i2c_rockch	|-- i2c at ff660000
>   i2c_eeprom [ + ]   i2c_eeprom	|   `-- m24c08 at 50
>   pwm	    [	]   rk_pwm	|-- pwm at ff680000
>   pwm	    [	]   rk_pwm	|-- pwm at ff680010
>   syscon	    [ + ]   rk3288_sys	|-- power-management at ff730000
>   syscon	    [	]   rk3288_sys	|-- syscon at ff740000
>   clk	    [ + ]   rockchip_r	|-- clock-controller at ff760000
>   sysreset   [	]   rockchip_s	|   `-- sysreset
>   syscon	    [ + ]   rk3288_sys	|-- syscon at ff770000
>   syscon	    [	]   rk3288_sys	|-- syscon at ffac0000
>   pinctrl    [ + ]   rockchip_r	|-- pinctrl
>   gpio	    [	]   gpio_rockc	|   |-- gpio0 at ff750000
>   gpio	    [	]   gpio_rockc	|   |-- gpio1 at ff780000
>   gpio	    [	]   gpio_rockc	|   |-- gpio2 at ff790000
>   gpio	    [	]   gpio_rockc	|   |-- gpio3 at ff7a0000
>   gpio	    [ + ]   gpio_rockc	|   |-- gpio4 at ff7b0000
>   gpio	    [	]   gpio_rockc	|   |-- gpio5 at ff7c0000
>   gpio	    [	]   gpio_rockc	|   |-- gpio6 at ff7d0000
>   gpio	    [ + ]   gpio_rockc	|   |-- gpio7 at ff7e0000
>   gpio	    [	]   gpio_rockc	|   |-- gpio8 at ff7f0000
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-down
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-12ma
>   pinconfig  [ + ]   pinconfig	|   |-- sleep
>   pinconfig  [ + ]   pinconfig	|   |	|-- global-pwroff
>   pinconfig  [	]   pinconfig	|   |	|-- ddrio-pwroff
>   pinconfig  [	]   pinconfig	|   |	|-- ddr0-retention
>   pinconfig  [	]   pinconfig	|   |	`-- ddr1-retention
>   pinconfig  [ + ]   pinconfig	|   |-- i2c0
>   pinconfig  [ + ]   pinconfig	|   |	`-- i2c0-xfer
>   pinconfig  [	]   pinconfig	|   |-- i2c1
>   pinconfig  [	]   pinconfig	|   |	`-- i2c1-xfer
>   pinconfig  [ + ]   pinconfig	|   |-- i2c2
>   pinconfig  [ + ]   pinconfig	|   |	`-- i2c2-xfer
>   pinconfig  [	]   pinconfig	|   |-- i2c3
>   pinconfig  [	]   pinconfig	|   |	`-- i2c3-xfer
>   pinconfig  [	]   pinconfig	|   |-- i2c4
>   pinconfig  [	]   pinconfig	|   |	`-- i2c4-xfer
>   pinconfig  [	]   pinconfig	|   |-- i2c5
>   pinconfig  [	]   pinconfig	|   |	`-- i2c5-xfer
>   pinconfig  [	]   pinconfig	|   |-- i2s0
>   pinconfig  [	]   pinconfig	|   |	`-- i2s0-bus
>   pinconfig  [	]   pinconfig	|   |-- lcdc0
>   pinconfig  [	]   pinconfig	|   |	`-- lcdc0-ctl
>   pinconfig  [ + ]   pinconfig	|   |-- sdmmc
>   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-clk
>   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-cmd
>   pinconfig  [ + ]   pinconfig	|   |	|-- sdmcc-cd
>   pinconfig  [	]   pinconfig	|   |	|-- sdmmc-bus1
>   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-bus4
>   pinconfig  [ + ]   pinconfig	|   |	`-- sdmmc-pwr
>   pinconfig  [	]   pinconfig	|   |-- sdio0
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus1
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus4
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-cmd
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-clk
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-cd
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-wp
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-pwr
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bkpwr
>   pinconfig  [	]   pinconfig	|   |	`-- sdio0-int
>   pinconfig  [	]   pinconfig	|   |-- sdio1
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus1
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus4
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-cd
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-wp
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bkpwr
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-int
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-cmd
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-clk
>   pinconfig  [	]   pinconfig	|   |	`-- sdio1-pwr
>   pinconfig  [	]   pinconfig	|   |-- emmc
>   pinconfig  [	]   pinconfig	|   |	|-- emmc-clk
>   pinconfig  [	]   pinconfig	|   |	|-- emmc-cmd
>   pinconfig  [	]   pinconfig	|   |	|-- emmc-pwr
>   pinconfig  [	]   pinconfig	|   |	|-- emmc-bus1
>   pinconfig  [	]   pinconfig	|   |	|-- emmc-bus4
>   pinconfig  [	]   pinconfig	|   |	`-- emmc-bus8
>   pinconfig  [	]   pinconfig	|   |-- spi0
>   pinconfig  [	]   pinconfig	|   |	|-- spi0-clk
>   pinconfig  [	]   pinconfig	|   |	|-- spi0-cs0
>   pinconfig  [	]   pinconfig	|   |	|-- spi0-tx
>   pinconfig  [	]   pinconfig	|   |	|-- spi0-rx
>   pinconfig  [	]   pinconfig	|   |	`-- spi0-cs1
>   pinconfig  [	]   pinconfig	|   |-- spi1
>   pinconfig  [	]   pinconfig	|   |	|-- spi1-clk
>   pinconfig  [	]   pinconfig	|   |	|-- spi1-cs0
>   pinconfig  [	]   pinconfig	|   |	|-- spi1-rx
>   pinconfig  [	]   pinconfig	|   |	`-- spi1-tx
>   pinconfig  [	]   pinconfig	|   |-- spi2
>   pinconfig  [	]   pinconfig	|   |	|-- spi2-cs1
>   pinconfig  [	]   pinconfig	|   |	|-- spi2-clk
>   pinconfig  [	]   pinconfig	|   |	|-- spi2-cs0
>   pinconfig  [	]   pinconfig	|   |	|-- spi2-rx
>   pinconfig  [	]   pinconfig	|   |	`-- spi2-tx
>   pinconfig  [	]   pinconfig	|   |-- uart0
>   pinconfig  [	]   pinconfig	|   |	|-- uart0-xfer
>   pinconfig  [	]   pinconfig	|   |	|-- uart0-cts
>   pinconfig  [	]   pinconfig	|   |	`-- uart0-rts
>   pinconfig  [	]   pinconfig	|   |-- uart1
>   pinconfig  [	]   pinconfig	|   |	|-- uart1-xfer
>   pinconfig  [	]   pinconfig	|   |	|-- uart1-cts
>   pinconfig  [	]   pinconfig	|   |	`-- uart1-rts
>   pinconfig  [ + ]   pinconfig	|   |-- uart2
>   pinconfig  [ + ]   pinconfig	|   |	`-- uart2-xfer
>   pinconfig  [	]   pinconfig	|   |-- uart3
>   pinconfig  [	]   pinconfig	|   |	|-- uart3-xfer
>   pinconfig  [	]   pinconfig	|   |	|-- uart3-cts
>   pinconfig  [	]   pinconfig	|   |	`-- uart3-rts
>   pinconfig  [	]   pinconfig	|   |-- uart4
>   pinconfig  [	]   pinconfig	|   |	|-- uart4-xfer
>   pinconfig  [	]   pinconfig	|   |	|-- uart4-cts
>   pinconfig  [	]   pinconfig	|   |	`-- uart4-rts
>   pinconfig  [	]   pinconfig	|   |-- tsadc
>   pinconfig  [	]   pinconfig	|   |	`-- otp-out
>   pinconfig  [	]   pinconfig	|   |-- pwm0
>   pinconfig  [	]   pinconfig	|   |	`-- pwm0-pin
>   pinconfig  [	]   pinconfig	|   |-- pwm1
>   pinconfig  [	]   pinconfig	|   |	`-- pwm1-pin
>   pinconfig  [	]   pinconfig	|   |-- pwm2
>   pinconfig  [	]   pinconfig	|   |	`-- pwm2-pin
>   pinconfig  [	]   pinconfig	|   |-- pwm3
>   pinconfig  [	]   pinconfig	|   |	`-- pwm3-pin
>   pinconfig  [ + ]   pinconfig	|   |-- gmac
>   pinconfig  [ + ]   pinconfig	|   |	|-- rgmii-pins
>   pinconfig  [	]   pinconfig	|   |	`-- rmii-pins
>   pinconfig  [	]   pinconfig	|   |-- spdif
>   pinconfig  [	]   pinconfig	|   |	`-- spdif-tx
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-drv-8ma
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up-drv-8ma
>   pinconfig  [	]   pinconfig	|   |-- backlight
>   pinconfig  [	]   pinconfig	|   |	`-- bl-en
>   pinconfig  [	]   pinconfig	|   |-- buttons
>   pinconfig  [	]   pinconfig	|   |	`-- pwrbtn
>   pinconfig  [	]   pinconfig	|   |-- eth_phy
>   pinconfig  [	]   pinconfig	|   |	`-- eth-phy-pwr
>   pinconfig  [ + ]   pinconfig	|   |-- pmic
>   pinconfig  [ + ]   pinconfig	|   |	`-- pmic-int
>   pinconfig  [	]   pinconfig	|   `-- usb
>   pinconfig  [	]   pinconfig	|	|-- host-vbus-drv
>   pinconfig  [	]   pinconfig	|	`-- pwr-3g
>   clk	    [ + ]   fixed_rate	|-- external-gmac-clock
>   regulator  [	]   fixed regu	|-- vsys-regulator
>   regulator  [ + ]   fixed regu	|-- sdmmc-regulator
>   regulator  [	]   fixed regu	`-- usb-host-regulator
> =>
> 
> U-Boot 2018.01 (Feb 06 2018 - 23:24:11 -0700)
> 
> Model: Tinker-RK3288
> DRAM:  2 GiB
> MMC:   dwmmc at ff0c0000: 1
> *** Warning - bad CRC, using default environment
> 
> In:    serial
> Out:   serial
> Err:   serial
> Model: Tinker-RK3288
> Net:   eth0: ethernet at ff290000
> Hit any key to stop autoboot:  0
> => dm tree
>   Class	    Probed  Driver	Name
> ----------------------------------------
>   root	    [ + ]   root_drive	root_driver
>   clk	    [	]   fixed_rate	|-- oscillator
>   mmc	    [ + ]   rockchip_r	|-- dwmmc at ff0c0000
>   blk	    [ + ]   mmc_blk	|   `-- dwmmc at ff0c0000.blk
>   adc	    [ + ]   rockchip_s	|-- saradc at ff100000
>   i2c	    [	]   i2c_rockch	|-- i2c at ff170000
>   serial	    [	]   ns16550_se	|-- serial at ff180000
>   serial	    [	]   ns16550_se	|-- serial at ff190000
>   serial	    [ + ]   ns16550_se	|-- serial at ff690000
>   serial	    [	]   ns16550_se	|-- serial at ff1b0000
>   serial	    [	]   ns16550_se	|-- serial at ff1c0000
>   eth	    [ + ]   gmac_rockc	|-- ethernet at ff290000
>   usb	    [	]   dwc2_usb	|-- usb at ff540000
>   usb	    [	]   dwc2_usb	|-- usb at ff580000
>   ram	    [	]   rockchip_r	|-- dmc at ff610000
>   i2c	    [ + ]   i2c_rockch	|-- i2c at ff650000
>   pmic	    [ + ]   rk8xx pmic	|   `-- pmic at 1b
>   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG1
>   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG2
>   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG3
>   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG4
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG1
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG2
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG3
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG4
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG5
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG6
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG7
>   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG8
>   regulator  [	]   rk8xx_swit	|	|-- SWITCH_REG1
>   regulator  [ + ]   rk8xx_swit	|	`-- SWITCH_REG2
>   i2c	    [ + ]   i2c_rockch	|-- i2c at ff660000
>   i2c_eeprom [ + ]   i2c_eeprom	|   `-- m24c08 at 50
>   pwm	    [	]   rk_pwm	|-- pwm at ff680000
>   pwm	    [	]   rk_pwm	|-- pwm at ff680010
>   syscon	    [ + ]   rk3288_sys	|-- power-management at ff730000
>   syscon	    [	]   rk3288_sys	|-- syscon at ff740000
>   clk	    [ + ]   rockchip_r	|-- clock-controller at ff760000
>   sysreset   [	]   rockchip_s	|   `-- sysreset
>   syscon	    [ + ]   rk3288_sys	|-- syscon at ff770000
>   syscon	    [	]   rk3288_sys	|-- syscon at ffac0000
>   pinctrl    [ + ]   rockchip_r	|-- pinctrl
>   gpio	    [	]   gpio_rockc	|   |-- gpio0 at ff750000
>   gpio	    [	]   gpio_rockc	|   |-- gpio1 at ff780000
>   gpio	    [	]   gpio_rockc	|   |-- gpio2 at ff790000
>   gpio	    [	]   gpio_rockc	|   |-- gpio3 at ff7a0000
>   gpio	    [ + ]   gpio_rockc	|   |-- gpio4 at ff7b0000
>   gpio	    [	]   gpio_rockc	|   |-- gpio5 at ff7c0000
>   gpio	    [	]   gpio_rockc	|   |-- gpio6 at ff7d0000
>   gpio	    [ + ]   gpio_rockc	|   |-- gpio7 at ff7e0000
>   gpio	    [	]   gpio_rockc	|   |-- gpio8 at ff7f0000
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-down
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-12ma
>   pinconfig  [ + ]   pinconfig	|   |-- sleep
>   pinconfig  [ + ]   pinconfig	|   |	|-- global-pwroff
>   pinconfig  [	]   pinconfig	|   |	|-- ddrio-pwroff
>   pinconfig  [	]   pinconfig	|   |	|-- ddr0-retention
>   pinconfig  [	]   pinconfig	|   |	`-- ddr1-retention
>   pinconfig  [ + ]   pinconfig	|   |-- i2c0
>   pinconfig  [ + ]   pinconfig	|   |	`-- i2c0-xfer
>   pinconfig  [	]   pinconfig	|   |-- i2c1
>   pinconfig  [	]   pinconfig	|   |	`-- i2c1-xfer
>   pinconfig  [ + ]   pinconfig	|   |-- i2c2
>   pinconfig  [ + ]   pinconfig	|   |	`-- i2c2-xfer
>   pinconfig  [	]   pinconfig	|   |-- i2c3
>   pinconfig  [	]   pinconfig	|   |	`-- i2c3-xfer
>   pinconfig  [	]   pinconfig	|   |-- i2c4
>   pinconfig  [	]   pinconfig	|   |	`-- i2c4-xfer
>   pinconfig  [	]   pinconfig	|   |-- i2c5
>   pinconfig  [	]   pinconfig	|   |	`-- i2c5-xfer
>   pinconfig  [	]   pinconfig	|   |-- i2s0
>   pinconfig  [	]   pinconfig	|   |	`-- i2s0-bus
>   pinconfig  [	]   pinconfig	|   |-- lcdc0
>   pinconfig  [	]   pinconfig	|   |	`-- lcdc0-ctl
>   pinconfig  [ + ]   pinconfig	|   |-- sdmmc
>   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-clk
>   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-cmd
>   pinconfig  [ + ]   pinconfig	|   |	|-- sdmcc-cd
>   pinconfig  [	]   pinconfig	|   |	|-- sdmmc-bus1
>   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-bus4
>   pinconfig  [ + ]   pinconfig	|   |	`-- sdmmc-pwr
>   pinconfig  [	]   pinconfig	|   |-- sdio0
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus1
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus4
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-cmd
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-clk
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-cd
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-wp
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-pwr
>   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bkpwr
>   pinconfig  [	]   pinconfig	|   |	`-- sdio0-int
>   pinconfig  [	]   pinconfig	|   |-- sdio1
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus1
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus4
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-cd
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-wp
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bkpwr
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-int
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-cmd
>   pinconfig  [	]   pinconfig	|   |	|-- sdio1-clk
>   pinconfig  [	]   pinconfig	|   |	`-- sdio1-pwr
>   pinconfig  [	]   pinconfig	|   |-- emmc
>   pinconfig  [	]   pinconfig	|   |	|-- emmc-clk
>   pinconfig  [	]   pinconfig	|   |	|-- emmc-cmd
>   pinconfig  [	]   pinconfig	|   |	|-- emmc-pwr
>   pinconfig  [	]   pinconfig	|   |	|-- emmc-bus1
>   pinconfig  [	]   pinconfig	|   |	|-- emmc-bus4
>   pinconfig  [	]   pinconfig	|   |	`-- emmc-bus8
>   pinconfig  [	]   pinconfig	|   |-- spi0
>   pinconfig  [	]   pinconfig	|   |	|-- spi0-clk
>   pinconfig  [	]   pinconfig	|   |	|-- spi0-cs0
>   pinconfig  [	]   pinconfig	|   |	|-- spi0-tx
>   pinconfig  [	]   pinconfig	|   |	|-- spi0-rx
>   pinconfig  [	]   pinconfig	|   |	`-- spi0-cs1
>   pinconfig  [	]   pinconfig	|   |-- spi1
>   pinconfig  [	]   pinconfig	|   |	|-- spi1-clk
>   pinconfig  [	]   pinconfig	|   |	|-- spi1-cs0
>   pinconfig  [	]   pinconfig	|   |	|-- spi1-rx
>   pinconfig  [	]   pinconfig	|   |	`-- spi1-tx
>   pinconfig  [	]   pinconfig	|   |-- spi2
>   pinconfig  [	]   pinconfig	|   |	|-- spi2-cs1
>   pinconfig  [	]   pinconfig	|   |	|-- spi2-clk
>   pinconfig  [	]   pinconfig	|   |	|-- spi2-cs0
>   pinconfig  [	]   pinconfig	|   |	|-- spi2-rx
>   pinconfig  [	]   pinconfig	|   |	`-- spi2-tx
>   pinconfig  [	]   pinconfig	|   |-- uart0
>   pinconfig  [	]   pinconfig	|   |	|-- uart0-xfer
>   pinconfig  [	]   pinconfig	|   |	|-- uart0-cts
>   pinconfig  [	]   pinconfig	|   |	`-- uart0-rts
>   pinconfig  [	]   pinconfig	|   |-- uart1
>   pinconfig  [	]   pinconfig	|   |	|-- uart1-xfer
>   pinconfig  [	]   pinconfig	|   |	|-- uart1-cts
>   pinconfig  [	]   pinconfig	|   |	`-- uart1-rts
>   pinconfig  [ + ]   pinconfig	|   |-- uart2
>   pinconfig  [ + ]   pinconfig	|   |	`-- uart2-xfer
>   pinconfig  [	]   pinconfig	|   |-- uart3
>   pinconfig  [	]   pinconfig	|   |	|-- uart3-xfer
>   pinconfig  [	]   pinconfig	|   |	|-- uart3-cts
>   pinconfig  [	]   pinconfig	|   |	`-- uart3-rts
>   pinconfig  [	]   pinconfig	|   |-- uart4
>   pinconfig  [	]   pinconfig	|   |	|-- uart4-xfer
>   pinconfig  [	]   pinconfig	|   |	|-- uart4-cts
>   pinconfig  [	]   pinconfig	|   |	`-- uart4-rts
>   pinconfig  [	]   pinconfig	|   |-- tsadc
>   pinconfig  [	]   pinconfig	|   |	`-- otp-out
>   pinconfig  [	]   pinconfig	|   |-- pwm0
>   pinconfig  [	]   pinconfig	|   |	`-- pwm0-pin
>   pinconfig  [	]   pinconfig	|   |-- pwm1
>   pinconfig  [	]   pinconfig	|   |	`-- pwm1-pin
>   pinconfig  [	]   pinconfig	|   |-- pwm2
>   pinconfig  [	]   pinconfig	|   |	`-- pwm2-pin
>   pinconfig  [	]   pinconfig	|   |-- pwm3
>   pinconfig  [	]   pinconfig	|   |	`-- pwm3-pin
>   pinconfig  [ + ]   pinconfig	|   |-- gmac
>   pinconfig  [ + ]   pinconfig	|   |	|-- rgmii-pins
>   pinconfig  [	]   pinconfig	|   |	`-- rmii-pins
>   pinconfig  [	]   pinconfig	|   |-- spdif
>   pinconfig  [	]   pinconfig	|   |	`-- spdif-tx
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-drv-8ma
>   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up-drv-8ma
>   pinconfig  [	]   pinconfig	|   |-- backlight
>   pinconfig  [	]   pinconfig	|   |	`-- bl-en
>   pinconfig  [	]   pinconfig	|   |-- buttons
>   pinconfig  [	]   pinconfig	|   |	`-- pwrbtn
>   pinconfig  [	]   pinconfig	|   |-- eth_phy
>   pinconfig  [	]   pinconfig	|   |	`-- eth-phy-pwr
>   pinconfig  [ + ]   pinconfig	|   |-- pmic
>   pinconfig  [ + ]   pinconfig	|   |	`-- pmic-int
>   pinconfig  [	]   pinconfig	|   `-- usb
>   pinconfig  [	]   pinconfig	|	|-- host-vbus-drv
>   pinconfig  [	]   pinconfig	|	`-- pwr-3g
>   clk	    [	]   fixed_rate	|-- external-gmac-clock
>   regulator  [	]   fixed regu	|-- vsys-regulator
>   regulator  [ + ]   fixed regu	|-- sdmmc-regulator
>   regulator  [	]   fixed regu	`-- usb-host-regulator
> =>
> 
> @@ -73,7 +27,7 @@ Hit any key to stop autoboot:  0
>    serial	    [ + ]   ns16550_se	|-- serial at ff690000
>    serial	    [	]   ns16550_se	|-- serial at ff1b0000
>    serial	    [	]   ns16550_se	|-- serial at ff1c0000
> - eth	    [ + ]   gmac_rockc	|-- ethernet at ff290000
> + eth	    [	]   gmac_rockc	|-- ethernet at ff290000
>    usb	    [	]   dwc2_usb	|-- usb at ff540000
>    usb	    [	]   dwc2_usb	|-- usb at ff580000
>    ram	    [	]   rockchip_r	|-- dmc at ff610000
> @@ -87,12 +41,12 @@ Hit any key to stop autoboot:  0
>    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG2
>    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG3
>    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG4
> - regulator  [	]   rk8xx_ldo	|	|-- LDO_REG5
> + regulator  [ + ]   rk8xx_ldo	|	|-- LDO_REG5
>    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG6
>    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG7
>    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG8
>    regulator  [	]   rk8xx_swit	|	|-- SWITCH_REG1
> - regulator  [ + ]   rk8xx_swit	|	`-- SWITCH_REG2
> + regulator  [	]   rk8xx_swit	|	`-- SWITCH_REG2
>    i2c	    [ + ]   i2c_rockch	|-- i2c at ff660000
>    i2c_eeprom [ + ]   i2c_eeprom	|   `-- m24c08 at 50
>    pwm	    [	]   rk_pwm	|-- pwm at ff680000
> @@ -235,7 +189,7 @@ Hit any key to stop autoboot:  0
>    pinconfig  [	]   pinconfig	|   `-- usb
>    pinconfig  [	]   pinconfig	|	|-- host-vbus-drv
>    pinconfig  [	]   pinconfig	|	`-- pwr-3g
> - clk	    [	]   fixed_rate	|-- external-gmac-clock
> + clk	    [ + ]   fixed_rate	|-- external-gmac-clock
>    regulator  [	]   fixed regu	|-- vsys-regulator
>    regulator  [ + ]   fixed regu	|-- sdmmc-regulator
>    regulator  [	]   fixed regu	`-- usb-host-regulator
> 

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

* [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support
  2018-02-16  8:02     ` Patrice CHOTARD
@ 2018-02-16  9:05       ` Jonathan Gray
  0 siblings, 0 replies; 14+ messages in thread
From: Jonathan Gray @ 2018-02-16  9:05 UTC (permalink / raw)
  To: u-boot

Thanks, that fixes it.  Hopefully it makes 2018.03.

On Fri, Feb 16, 2018 at 08:02:17AM +0000, Patrice CHOTARD wrote:
> Hi Jonathan
> 
> Have you tried to apply the fix available here ?
> 
> http://u-boot.10912.n7.nabble.com/PATCH-NET-designware-fix-clock-enable-td320043.html
> 
> Regards
> 
> Patrice
> 
> 
> On 02/16/2018 08:17 AM, Jonathan Gray wrote:
> > On Wed, Nov 29, 2017 at 09:06:11AM +0100, patrice.chotard at st.com wrote:
> >> From: Patrice Chotard <patrice.chotard@st.com>
> >>
> >> This implementation manages several clocks, disable and
> >> free all of them in case of error during probe and in remove
> >> callback.
> >>
> >> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
> >> ---
> >>   drivers/net/designware.c | 43 +++++++++++++++++++++++++++++++++++++++++++
> >>   drivers/net/designware.h |  4 ++++
> >>   2 files changed, 47 insertions(+)
> > 
> > RK3288 Ethernet on the ASUS Tinker Board fails to probe with master
> > (32fe36574ea5e6ea55313e16547b98a984af7767) but worked with 2018.01.
> > 
> > ba1f966725223c605ed504b09446c52a3f201c2b is the first bad commit
> > commit ba1f966725223c605ed504b09446c52a3f201c2b
> > Author: Patrice Chotard <patrice.chotard@st.com>
> > Date:   Wed Nov 29 09:06:11 2017 +0100
> > 
> >      net: designware: add clock support
> >      
> >      This implementation manages several clocks, disable and
> >      free all of them in case of error during probe and in remove
> >      callback.
> >      
> >      Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
> >      Reviewed-by: Simon Glass <sjg@chromium.org>
> >      Acked-by: Joe Hershberger <joe.hershberger@ni.com>
> > 
> > :040000 040000 6f1002af4c0f3ed7ab6f2418d4f2de00bbe454a7 e18d2a6c24cbfd055c89fa250946bf85199fff90 M      drivers
> > 
> > U-Boot 2018.03-rc2-00047-gc1531533c5 (Feb 16 2018 - 15:38:39 +1100)
> > 
> > Model: Tinker-RK3288
> > DRAM:  2 GiB
> > MMC:   dwmmc at ff0c0000: 1
> > Loading Environment from MMC... *** Warning - bad CRC, using default environment
> > 
> > Failed (-5)
> > In:    serial
> > Out:   serial
> > Err:   serial
> > Model: Tinker-RK3288
> > Net:   failed to enable clock 0
> > No ethernet found.
> > Hit any key to stop autoboot:  0
> > => dm tree
> >   Class	    Probed  Driver	Name
> > ----------------------------------------
> >   root	    [ + ]   root_drive	root_driver
> >   clk	    [	]   fixed_rate	|-- oscillator
> >   mmc	    [ + ]   rockchip_r	|-- dwmmc at ff0c0000
> >   blk	    [ + ]   mmc_blk	|   `-- dwmmc at ff0c0000.blk
> >   adc	    [ + ]   rockchip_s	|-- saradc at ff100000
> >   i2c	    [	]   i2c_rockch	|-- i2c at ff170000
> >   serial	    [	]   ns16550_se	|-- serial at ff180000
> >   serial	    [	]   ns16550_se	|-- serial at ff190000
> >   serial	    [ + ]   ns16550_se	|-- serial at ff690000
> >   serial	    [	]   ns16550_se	|-- serial at ff1b0000
> >   serial	    [	]   ns16550_se	|-- serial at ff1c0000
> >   eth	    [	]   gmac_rockc	|-- ethernet at ff290000
> >   usb	    [	]   dwc2_usb	|-- usb at ff540000
> >   usb	    [	]   dwc2_usb	|-- usb at ff580000
> >   ram	    [	]   rockchip_r	|-- dmc at ff610000
> >   i2c	    [ + ]   i2c_rockch	|-- i2c at ff650000
> >   pmic	    [ + ]   rk8xx pmic	|   `-- pmic at 1b
> >   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG1
> >   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG2
> >   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG3
> >   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG4
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG1
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG2
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG3
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG4
> >   regulator  [ + ]   rk8xx_ldo	|	|-- LDO_REG5
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG6
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG7
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG8
> >   regulator  [	]   rk8xx_swit	|	|-- SWITCH_REG1
> >   regulator  [	]   rk8xx_swit	|	`-- SWITCH_REG2
> >   i2c	    [ + ]   i2c_rockch	|-- i2c at ff660000
> >   i2c_eeprom [ + ]   i2c_eeprom	|   `-- m24c08 at 50
> >   pwm	    [	]   rk_pwm	|-- pwm at ff680000
> >   pwm	    [	]   rk_pwm	|-- pwm at ff680010
> >   syscon	    [ + ]   rk3288_sys	|-- power-management at ff730000
> >   syscon	    [	]   rk3288_sys	|-- syscon at ff740000
> >   clk	    [ + ]   rockchip_r	|-- clock-controller at ff760000
> >   sysreset   [	]   rockchip_s	|   `-- sysreset
> >   syscon	    [ + ]   rk3288_sys	|-- syscon at ff770000
> >   syscon	    [	]   rk3288_sys	|-- syscon at ffac0000
> >   pinctrl    [ + ]   rockchip_r	|-- pinctrl
> >   gpio	    [	]   gpio_rockc	|   |-- gpio0 at ff750000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio1 at ff780000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio2 at ff790000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio3 at ff7a0000
> >   gpio	    [ + ]   gpio_rockc	|   |-- gpio4 at ff7b0000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio5 at ff7c0000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio6 at ff7d0000
> >   gpio	    [ + ]   gpio_rockc	|   |-- gpio7 at ff7e0000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio8 at ff7f0000
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-down
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-12ma
> >   pinconfig  [ + ]   pinconfig	|   |-- sleep
> >   pinconfig  [ + ]   pinconfig	|   |	|-- global-pwroff
> >   pinconfig  [	]   pinconfig	|   |	|-- ddrio-pwroff
> >   pinconfig  [	]   pinconfig	|   |	|-- ddr0-retention
> >   pinconfig  [	]   pinconfig	|   |	`-- ddr1-retention
> >   pinconfig  [ + ]   pinconfig	|   |-- i2c0
> >   pinconfig  [ + ]   pinconfig	|   |	`-- i2c0-xfer
> >   pinconfig  [	]   pinconfig	|   |-- i2c1
> >   pinconfig  [	]   pinconfig	|   |	`-- i2c1-xfer
> >   pinconfig  [ + ]   pinconfig	|   |-- i2c2
> >   pinconfig  [ + ]   pinconfig	|   |	`-- i2c2-xfer
> >   pinconfig  [	]   pinconfig	|   |-- i2c3
> >   pinconfig  [	]   pinconfig	|   |	`-- i2c3-xfer
> >   pinconfig  [	]   pinconfig	|   |-- i2c4
> >   pinconfig  [	]   pinconfig	|   |	`-- i2c4-xfer
> >   pinconfig  [	]   pinconfig	|   |-- i2c5
> >   pinconfig  [	]   pinconfig	|   |	`-- i2c5-xfer
> >   pinconfig  [	]   pinconfig	|   |-- i2s0
> >   pinconfig  [	]   pinconfig	|   |	`-- i2s0-bus
> >   pinconfig  [	]   pinconfig	|   |-- lcdc0
> >   pinconfig  [	]   pinconfig	|   |	`-- lcdc0-ctl
> >   pinconfig  [ + ]   pinconfig	|   |-- sdmmc
> >   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-clk
> >   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-cmd
> >   pinconfig  [ + ]   pinconfig	|   |	|-- sdmcc-cd
> >   pinconfig  [	]   pinconfig	|   |	|-- sdmmc-bus1
> >   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-bus4
> >   pinconfig  [ + ]   pinconfig	|   |	`-- sdmmc-pwr
> >   pinconfig  [	]   pinconfig	|   |-- sdio0
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus1
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus4
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-cmd
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-clk
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-cd
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-wp
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-pwr
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bkpwr
> >   pinconfig  [	]   pinconfig	|   |	`-- sdio0-int
> >   pinconfig  [	]   pinconfig	|   |-- sdio1
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus1
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus4
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-cd
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-wp
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bkpwr
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-int
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-cmd
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-clk
> >   pinconfig  [	]   pinconfig	|   |	`-- sdio1-pwr
> >   pinconfig  [	]   pinconfig	|   |-- emmc
> >   pinconfig  [	]   pinconfig	|   |	|-- emmc-clk
> >   pinconfig  [	]   pinconfig	|   |	|-- emmc-cmd
> >   pinconfig  [	]   pinconfig	|   |	|-- emmc-pwr
> >   pinconfig  [	]   pinconfig	|   |	|-- emmc-bus1
> >   pinconfig  [	]   pinconfig	|   |	|-- emmc-bus4
> >   pinconfig  [	]   pinconfig	|   |	`-- emmc-bus8
> >   pinconfig  [	]   pinconfig	|   |-- spi0
> >   pinconfig  [	]   pinconfig	|   |	|-- spi0-clk
> >   pinconfig  [	]   pinconfig	|   |	|-- spi0-cs0
> >   pinconfig  [	]   pinconfig	|   |	|-- spi0-tx
> >   pinconfig  [	]   pinconfig	|   |	|-- spi0-rx
> >   pinconfig  [	]   pinconfig	|   |	`-- spi0-cs1
> >   pinconfig  [	]   pinconfig	|   |-- spi1
> >   pinconfig  [	]   pinconfig	|   |	|-- spi1-clk
> >   pinconfig  [	]   pinconfig	|   |	|-- spi1-cs0
> >   pinconfig  [	]   pinconfig	|   |	|-- spi1-rx
> >   pinconfig  [	]   pinconfig	|   |	`-- spi1-tx
> >   pinconfig  [	]   pinconfig	|   |-- spi2
> >   pinconfig  [	]   pinconfig	|   |	|-- spi2-cs1
> >   pinconfig  [	]   pinconfig	|   |	|-- spi2-clk
> >   pinconfig  [	]   pinconfig	|   |	|-- spi2-cs0
> >   pinconfig  [	]   pinconfig	|   |	|-- spi2-rx
> >   pinconfig  [	]   pinconfig	|   |	`-- spi2-tx
> >   pinconfig  [	]   pinconfig	|   |-- uart0
> >   pinconfig  [	]   pinconfig	|   |	|-- uart0-xfer
> >   pinconfig  [	]   pinconfig	|   |	|-- uart0-cts
> >   pinconfig  [	]   pinconfig	|   |	`-- uart0-rts
> >   pinconfig  [	]   pinconfig	|   |-- uart1
> >   pinconfig  [	]   pinconfig	|   |	|-- uart1-xfer
> >   pinconfig  [	]   pinconfig	|   |	|-- uart1-cts
> >   pinconfig  [	]   pinconfig	|   |	`-- uart1-rts
> >   pinconfig  [ + ]   pinconfig	|   |-- uart2
> >   pinconfig  [ + ]   pinconfig	|   |	`-- uart2-xfer
> >   pinconfig  [	]   pinconfig	|   |-- uart3
> >   pinconfig  [	]   pinconfig	|   |	|-- uart3-xfer
> >   pinconfig  [	]   pinconfig	|   |	|-- uart3-cts
> >   pinconfig  [	]   pinconfig	|   |	`-- uart3-rts
> >   pinconfig  [	]   pinconfig	|   |-- uart4
> >   pinconfig  [	]   pinconfig	|   |	|-- uart4-xfer
> >   pinconfig  [	]   pinconfig	|   |	|-- uart4-cts
> >   pinconfig  [	]   pinconfig	|   |	`-- uart4-rts
> >   pinconfig  [	]   pinconfig	|   |-- tsadc
> >   pinconfig  [	]   pinconfig	|   |	`-- otp-out
> >   pinconfig  [	]   pinconfig	|   |-- pwm0
> >   pinconfig  [	]   pinconfig	|   |	`-- pwm0-pin
> >   pinconfig  [	]   pinconfig	|   |-- pwm1
> >   pinconfig  [	]   pinconfig	|   |	`-- pwm1-pin
> >   pinconfig  [	]   pinconfig	|   |-- pwm2
> >   pinconfig  [	]   pinconfig	|   |	`-- pwm2-pin
> >   pinconfig  [	]   pinconfig	|   |-- pwm3
> >   pinconfig  [	]   pinconfig	|   |	`-- pwm3-pin
> >   pinconfig  [ + ]   pinconfig	|   |-- gmac
> >   pinconfig  [ + ]   pinconfig	|   |	|-- rgmii-pins
> >   pinconfig  [	]   pinconfig	|   |	`-- rmii-pins
> >   pinconfig  [	]   pinconfig	|   |-- spdif
> >   pinconfig  [	]   pinconfig	|   |	`-- spdif-tx
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-drv-8ma
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up-drv-8ma
> >   pinconfig  [	]   pinconfig	|   |-- backlight
> >   pinconfig  [	]   pinconfig	|   |	`-- bl-en
> >   pinconfig  [	]   pinconfig	|   |-- buttons
> >   pinconfig  [	]   pinconfig	|   |	`-- pwrbtn
> >   pinconfig  [	]   pinconfig	|   |-- eth_phy
> >   pinconfig  [	]   pinconfig	|   |	`-- eth-phy-pwr
> >   pinconfig  [ + ]   pinconfig	|   |-- pmic
> >   pinconfig  [ + ]   pinconfig	|   |	`-- pmic-int
> >   pinconfig  [	]   pinconfig	|   `-- usb
> >   pinconfig  [	]   pinconfig	|	|-- host-vbus-drv
> >   pinconfig  [	]   pinconfig	|	`-- pwr-3g
> >   clk	    [ + ]   fixed_rate	|-- external-gmac-clock
> >   regulator  [	]   fixed regu	|-- vsys-regulator
> >   regulator  [ + ]   fixed regu	|-- sdmmc-regulator
> >   regulator  [	]   fixed regu	`-- usb-host-regulator
> > =>
> > 
> > U-Boot 2018.01 (Feb 06 2018 - 23:24:11 -0700)
> > 
> > Model: Tinker-RK3288
> > DRAM:  2 GiB
> > MMC:   dwmmc at ff0c0000: 1
> > *** Warning - bad CRC, using default environment
> > 
> > In:    serial
> > Out:   serial
> > Err:   serial
> > Model: Tinker-RK3288
> > Net:   eth0: ethernet at ff290000
> > Hit any key to stop autoboot:  0
> > => dm tree
> >   Class	    Probed  Driver	Name
> > ----------------------------------------
> >   root	    [ + ]   root_drive	root_driver
> >   clk	    [	]   fixed_rate	|-- oscillator
> >   mmc	    [ + ]   rockchip_r	|-- dwmmc at ff0c0000
> >   blk	    [ + ]   mmc_blk	|   `-- dwmmc at ff0c0000.blk
> >   adc	    [ + ]   rockchip_s	|-- saradc at ff100000
> >   i2c	    [	]   i2c_rockch	|-- i2c at ff170000
> >   serial	    [	]   ns16550_se	|-- serial at ff180000
> >   serial	    [	]   ns16550_se	|-- serial at ff190000
> >   serial	    [ + ]   ns16550_se	|-- serial at ff690000
> >   serial	    [	]   ns16550_se	|-- serial at ff1b0000
> >   serial	    [	]   ns16550_se	|-- serial at ff1c0000
> >   eth	    [ + ]   gmac_rockc	|-- ethernet at ff290000
> >   usb	    [	]   dwc2_usb	|-- usb at ff540000
> >   usb	    [	]   dwc2_usb	|-- usb at ff580000
> >   ram	    [	]   rockchip_r	|-- dmc at ff610000
> >   i2c	    [ + ]   i2c_rockch	|-- i2c at ff650000
> >   pmic	    [ + ]   rk8xx pmic	|   `-- pmic at 1b
> >   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG1
> >   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG2
> >   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG3
> >   regulator  [	]   rk8xx_buck	|	|-- DCDC_REG4
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG1
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG2
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG3
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG4
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG5
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG6
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG7
> >   regulator  [	]   rk8xx_ldo	|	|-- LDO_REG8
> >   regulator  [	]   rk8xx_swit	|	|-- SWITCH_REG1
> >   regulator  [ + ]   rk8xx_swit	|	`-- SWITCH_REG2
> >   i2c	    [ + ]   i2c_rockch	|-- i2c at ff660000
> >   i2c_eeprom [ + ]   i2c_eeprom	|   `-- m24c08 at 50
> >   pwm	    [	]   rk_pwm	|-- pwm at ff680000
> >   pwm	    [	]   rk_pwm	|-- pwm at ff680010
> >   syscon	    [ + ]   rk3288_sys	|-- power-management at ff730000
> >   syscon	    [	]   rk3288_sys	|-- syscon at ff740000
> >   clk	    [ + ]   rockchip_r	|-- clock-controller at ff760000
> >   sysreset   [	]   rockchip_s	|   `-- sysreset
> >   syscon	    [ + ]   rk3288_sys	|-- syscon at ff770000
> >   syscon	    [	]   rk3288_sys	|-- syscon at ffac0000
> >   pinctrl    [ + ]   rockchip_r	|-- pinctrl
> >   gpio	    [	]   gpio_rockc	|   |-- gpio0 at ff750000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio1 at ff780000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio2 at ff790000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio3 at ff7a0000
> >   gpio	    [ + ]   gpio_rockc	|   |-- gpio4 at ff7b0000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio5 at ff7c0000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio6 at ff7d0000
> >   gpio	    [ + ]   gpio_rockc	|   |-- gpio7 at ff7e0000
> >   gpio	    [	]   gpio_rockc	|   |-- gpio8 at ff7f0000
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-down
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-12ma
> >   pinconfig  [ + ]   pinconfig	|   |-- sleep
> >   pinconfig  [ + ]   pinconfig	|   |	|-- global-pwroff
> >   pinconfig  [	]   pinconfig	|   |	|-- ddrio-pwroff
> >   pinconfig  [	]   pinconfig	|   |	|-- ddr0-retention
> >   pinconfig  [	]   pinconfig	|   |	`-- ddr1-retention
> >   pinconfig  [ + ]   pinconfig	|   |-- i2c0
> >   pinconfig  [ + ]   pinconfig	|   |	`-- i2c0-xfer
> >   pinconfig  [	]   pinconfig	|   |-- i2c1
> >   pinconfig  [	]   pinconfig	|   |	`-- i2c1-xfer
> >   pinconfig  [ + ]   pinconfig	|   |-- i2c2
> >   pinconfig  [ + ]   pinconfig	|   |	`-- i2c2-xfer
> >   pinconfig  [	]   pinconfig	|   |-- i2c3
> >   pinconfig  [	]   pinconfig	|   |	`-- i2c3-xfer
> >   pinconfig  [	]   pinconfig	|   |-- i2c4
> >   pinconfig  [	]   pinconfig	|   |	`-- i2c4-xfer
> >   pinconfig  [	]   pinconfig	|   |-- i2c5
> >   pinconfig  [	]   pinconfig	|   |	`-- i2c5-xfer
> >   pinconfig  [	]   pinconfig	|   |-- i2s0
> >   pinconfig  [	]   pinconfig	|   |	`-- i2s0-bus
> >   pinconfig  [	]   pinconfig	|   |-- lcdc0
> >   pinconfig  [	]   pinconfig	|   |	`-- lcdc0-ctl
> >   pinconfig  [ + ]   pinconfig	|   |-- sdmmc
> >   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-clk
> >   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-cmd
> >   pinconfig  [ + ]   pinconfig	|   |	|-- sdmcc-cd
> >   pinconfig  [	]   pinconfig	|   |	|-- sdmmc-bus1
> >   pinconfig  [ + ]   pinconfig	|   |	|-- sdmmc-bus4
> >   pinconfig  [ + ]   pinconfig	|   |	`-- sdmmc-pwr
> >   pinconfig  [	]   pinconfig	|   |-- sdio0
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus1
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bus4
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-cmd
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-clk
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-cd
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-wp
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-pwr
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio0-bkpwr
> >   pinconfig  [	]   pinconfig	|   |	`-- sdio0-int
> >   pinconfig  [	]   pinconfig	|   |-- sdio1
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus1
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bus4
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-cd
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-wp
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-bkpwr
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-int
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-cmd
> >   pinconfig  [	]   pinconfig	|   |	|-- sdio1-clk
> >   pinconfig  [	]   pinconfig	|   |	`-- sdio1-pwr
> >   pinconfig  [	]   pinconfig	|   |-- emmc
> >   pinconfig  [	]   pinconfig	|   |	|-- emmc-clk
> >   pinconfig  [	]   pinconfig	|   |	|-- emmc-cmd
> >   pinconfig  [	]   pinconfig	|   |	|-- emmc-pwr
> >   pinconfig  [	]   pinconfig	|   |	|-- emmc-bus1
> >   pinconfig  [	]   pinconfig	|   |	|-- emmc-bus4
> >   pinconfig  [	]   pinconfig	|   |	`-- emmc-bus8
> >   pinconfig  [	]   pinconfig	|   |-- spi0
> >   pinconfig  [	]   pinconfig	|   |	|-- spi0-clk
> >   pinconfig  [	]   pinconfig	|   |	|-- spi0-cs0
> >   pinconfig  [	]   pinconfig	|   |	|-- spi0-tx
> >   pinconfig  [	]   pinconfig	|   |	|-- spi0-rx
> >   pinconfig  [	]   pinconfig	|   |	`-- spi0-cs1
> >   pinconfig  [	]   pinconfig	|   |-- spi1
> >   pinconfig  [	]   pinconfig	|   |	|-- spi1-clk
> >   pinconfig  [	]   pinconfig	|   |	|-- spi1-cs0
> >   pinconfig  [	]   pinconfig	|   |	|-- spi1-rx
> >   pinconfig  [	]   pinconfig	|   |	`-- spi1-tx
> >   pinconfig  [	]   pinconfig	|   |-- spi2
> >   pinconfig  [	]   pinconfig	|   |	|-- spi2-cs1
> >   pinconfig  [	]   pinconfig	|   |	|-- spi2-clk
> >   pinconfig  [	]   pinconfig	|   |	|-- spi2-cs0
> >   pinconfig  [	]   pinconfig	|   |	|-- spi2-rx
> >   pinconfig  [	]   pinconfig	|   |	`-- spi2-tx
> >   pinconfig  [	]   pinconfig	|   |-- uart0
> >   pinconfig  [	]   pinconfig	|   |	|-- uart0-xfer
> >   pinconfig  [	]   pinconfig	|   |	|-- uart0-cts
> >   pinconfig  [	]   pinconfig	|   |	`-- uart0-rts
> >   pinconfig  [	]   pinconfig	|   |-- uart1
> >   pinconfig  [	]   pinconfig	|   |	|-- uart1-xfer
> >   pinconfig  [	]   pinconfig	|   |	|-- uart1-cts
> >   pinconfig  [	]   pinconfig	|   |	`-- uart1-rts
> >   pinconfig  [ + ]   pinconfig	|   |-- uart2
> >   pinconfig  [ + ]   pinconfig	|   |	`-- uart2-xfer
> >   pinconfig  [	]   pinconfig	|   |-- uart3
> >   pinconfig  [	]   pinconfig	|   |	|-- uart3-xfer
> >   pinconfig  [	]   pinconfig	|   |	|-- uart3-cts
> >   pinconfig  [	]   pinconfig	|   |	`-- uart3-rts
> >   pinconfig  [	]   pinconfig	|   |-- uart4
> >   pinconfig  [	]   pinconfig	|   |	|-- uart4-xfer
> >   pinconfig  [	]   pinconfig	|   |	|-- uart4-cts
> >   pinconfig  [	]   pinconfig	|   |	`-- uart4-rts
> >   pinconfig  [	]   pinconfig	|   |-- tsadc
> >   pinconfig  [	]   pinconfig	|   |	`-- otp-out
> >   pinconfig  [	]   pinconfig	|   |-- pwm0
> >   pinconfig  [	]   pinconfig	|   |	`-- pwm0-pin
> >   pinconfig  [	]   pinconfig	|   |-- pwm1
> >   pinconfig  [	]   pinconfig	|   |	`-- pwm1-pin
> >   pinconfig  [	]   pinconfig	|   |-- pwm2
> >   pinconfig  [	]   pinconfig	|   |	`-- pwm2-pin
> >   pinconfig  [	]   pinconfig	|   |-- pwm3
> >   pinconfig  [	]   pinconfig	|   |	`-- pwm3-pin
> >   pinconfig  [ + ]   pinconfig	|   |-- gmac
> >   pinconfig  [ + ]   pinconfig	|   |	|-- rgmii-pins
> >   pinconfig  [	]   pinconfig	|   |	`-- rmii-pins
> >   pinconfig  [	]   pinconfig	|   |-- spdif
> >   pinconfig  [	]   pinconfig	|   |	`-- spdif-tx
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-none-drv-8ma
> >   pinconfig  [	]   pinconfig	|   |-- pcfg-pull-up-drv-8ma
> >   pinconfig  [	]   pinconfig	|   |-- backlight
> >   pinconfig  [	]   pinconfig	|   |	`-- bl-en
> >   pinconfig  [	]   pinconfig	|   |-- buttons
> >   pinconfig  [	]   pinconfig	|   |	`-- pwrbtn
> >   pinconfig  [	]   pinconfig	|   |-- eth_phy
> >   pinconfig  [	]   pinconfig	|   |	`-- eth-phy-pwr
> >   pinconfig  [ + ]   pinconfig	|   |-- pmic
> >   pinconfig  [ + ]   pinconfig	|   |	`-- pmic-int
> >   pinconfig  [	]   pinconfig	|   `-- usb
> >   pinconfig  [	]   pinconfig	|	|-- host-vbus-drv
> >   pinconfig  [	]   pinconfig	|	`-- pwr-3g
> >   clk	    [	]   fixed_rate	|-- external-gmac-clock
> >   regulator  [	]   fixed regu	|-- vsys-regulator
> >   regulator  [ + ]   fixed regu	|-- sdmmc-regulator
> >   regulator  [	]   fixed regu	`-- usb-host-regulator
> > =>
> > 
> > @@ -73,7 +27,7 @@ Hit any key to stop autoboot:  0
> >    serial	    [ + ]   ns16550_se	|-- serial at ff690000
> >    serial	    [	]   ns16550_se	|-- serial at ff1b0000
> >    serial	    [	]   ns16550_se	|-- serial at ff1c0000
> > - eth	    [ + ]   gmac_rockc	|-- ethernet at ff290000
> > + eth	    [	]   gmac_rockc	|-- ethernet at ff290000
> >    usb	    [	]   dwc2_usb	|-- usb at ff540000
> >    usb	    [	]   dwc2_usb	|-- usb at ff580000
> >    ram	    [	]   rockchip_r	|-- dmc at ff610000
> > @@ -87,12 +41,12 @@ Hit any key to stop autoboot:  0
> >    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG2
> >    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG3
> >    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG4
> > - regulator  [	]   rk8xx_ldo	|	|-- LDO_REG5
> > + regulator  [ + ]   rk8xx_ldo	|	|-- LDO_REG5
> >    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG6
> >    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG7
> >    regulator  [	]   rk8xx_ldo	|	|-- LDO_REG8
> >    regulator  [	]   rk8xx_swit	|	|-- SWITCH_REG1
> > - regulator  [ + ]   rk8xx_swit	|	`-- SWITCH_REG2
> > + regulator  [	]   rk8xx_swit	|	`-- SWITCH_REG2
> >    i2c	    [ + ]   i2c_rockch	|-- i2c at ff660000
> >    i2c_eeprom [ + ]   i2c_eeprom	|   `-- m24c08 at 50
> >    pwm	    [	]   rk_pwm	|-- pwm at ff680000
> > @@ -235,7 +189,7 @@ Hit any key to stop autoboot:  0
> >    pinconfig  [	]   pinconfig	|   `-- usb
> >    pinconfig  [	]   pinconfig	|	|-- host-vbus-drv
> >    pinconfig  [	]   pinconfig	|	`-- pwr-3g
> > - clk	    [	]   fixed_rate	|-- external-gmac-clock
> > + clk	    [ + ]   fixed_rate	|-- external-gmac-clock
> >    regulator  [	]   fixed regu	|-- vsys-regulator
> >    regulator  [ + ]   fixed regu	|-- sdmmc-regulator
> >    regulator  [	]   fixed regu	`-- usb-host-regulator
> > 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot

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

end of thread, other threads:[~2018-02-16  9:05 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-29  8:06 [U-Boot] [RESEND PATCH 0/2] Add clock support for designware net driver patrice.chotard at st.com
2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 1/2] dm: core: add missing dev_count_phandle_with_args() patrice.chotard at st.com
2017-12-02  3:28   ` Simon Glass
2017-12-04  8:05     ` Patrice CHOTARD
2017-12-09 19:28       ` Joe Hershberger
2017-12-11  9:08         ` Patrice CHOTARD
2018-01-22 16:49   ` [U-Boot] " Joe Hershberger
2017-11-29  8:06 ` [U-Boot] [RESEND PATCH 2/2] net: designware: add clock support patrice.chotard at st.com
2017-12-02  3:29   ` Simon Glass
2017-12-05 20:38   ` Joe Hershberger
2018-01-22 16:49   ` [U-Boot] " Joe Hershberger
2018-02-16  7:17   ` [U-Boot] [RESEND PATCH 2/2] " Jonathan Gray
2018-02-16  8:02     ` Patrice CHOTARD
2018-02-16  9:05       ` Jonathan Gray

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.