[U-Boot] [RESEND PATCH 0/2] Add clock support for designware net driver

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(+)

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));

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

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

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@lists.denx.de https://lists.denx.de/listinfo/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@lists.denx.de https://lists.denx.de/listinfo/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

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;

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

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

Hi Patrice,
https://patchwork.ozlabs.org/patch/842491/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git
Thanks! -Joe

On Wed, Nov 29, 2017 at 09:06:11AM +0100, 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(+)
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@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@ff0c0000 blk [ + ] mmc_blk | `-- dwmmc@ff0c0000.blk adc [ + ] rockchip_s |-- saradc@ff100000 i2c [ ] i2c_rockch |-- i2c@ff170000 serial [ ] ns16550_se |-- serial@ff180000 serial [ ] ns16550_se |-- serial@ff190000 serial [ + ] ns16550_se |-- serial@ff690000 serial [ ] ns16550_se |-- serial@ff1b0000 serial [ ] ns16550_se |-- serial@ff1c0000 eth [ ] gmac_rockc |-- ethernet@ff290000 usb [ ] dwc2_usb |-- usb@ff540000 usb [ ] dwc2_usb |-- usb@ff580000 ram [ ] rockchip_r |-- dmc@ff610000 i2c [ + ] i2c_rockch |-- i2c@ff650000 pmic [ + ] rk8xx pmic | `-- pmic@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@ff660000 i2c_eeprom [ + ] i2c_eeprom | `-- m24c08@50 pwm [ ] rk_pwm |-- pwm@ff680000 pwm [ ] rk_pwm |-- pwm@ff680010 syscon [ + ] rk3288_sys |-- power-management@ff730000 syscon [ ] rk3288_sys |-- syscon@ff740000 clk [ + ] rockchip_r |-- clock-controller@ff760000 sysreset [ ] rockchip_s | `-- sysreset syscon [ + ] rk3288_sys |-- syscon@ff770000 syscon [ ] rk3288_sys |-- syscon@ffac0000 pinctrl [ + ] rockchip_r |-- pinctrl gpio [ ] gpio_rockc | |-- gpio0@ff750000 gpio [ ] gpio_rockc | |-- gpio1@ff780000 gpio [ ] gpio_rockc | |-- gpio2@ff790000 gpio [ ] gpio_rockc | |-- gpio3@ff7a0000 gpio [ + ] gpio_rockc | |-- gpio4@ff7b0000 gpio [ ] gpio_rockc | |-- gpio5@ff7c0000 gpio [ ] gpio_rockc | |-- gpio6@ff7d0000 gpio [ + ] gpio_rockc | |-- gpio7@ff7e0000 gpio [ ] gpio_rockc | |-- gpio8@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@ff0c0000: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Model: Tinker-RK3288 Net: eth0: ethernet@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@ff0c0000 blk [ + ] mmc_blk | `-- dwmmc@ff0c0000.blk adc [ + ] rockchip_s |-- saradc@ff100000 i2c [ ] i2c_rockch |-- i2c@ff170000 serial [ ] ns16550_se |-- serial@ff180000 serial [ ] ns16550_se |-- serial@ff190000 serial [ + ] ns16550_se |-- serial@ff690000 serial [ ] ns16550_se |-- serial@ff1b0000 serial [ ] ns16550_se |-- serial@ff1c0000 eth [ + ] gmac_rockc |-- ethernet@ff290000 usb [ ] dwc2_usb |-- usb@ff540000 usb [ ] dwc2_usb |-- usb@ff580000 ram [ ] rockchip_r |-- dmc@ff610000 i2c [ + ] i2c_rockch |-- i2c@ff650000 pmic [ + ] rk8xx pmic | `-- pmic@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@ff660000 i2c_eeprom [ + ] i2c_eeprom | `-- m24c08@50 pwm [ ] rk_pwm |-- pwm@ff680000 pwm [ ] rk_pwm |-- pwm@ff680010 syscon [ + ] rk3288_sys |-- power-management@ff730000 syscon [ ] rk3288_sys |-- syscon@ff740000 clk [ + ] rockchip_r |-- clock-controller@ff760000 sysreset [ ] rockchip_s | `-- sysreset syscon [ + ] rk3288_sys |-- syscon@ff770000 syscon [ ] rk3288_sys |-- syscon@ffac0000 pinctrl [ + ] rockchip_r |-- pinctrl gpio [ ] gpio_rockc | |-- gpio0@ff750000 gpio [ ] gpio_rockc | |-- gpio1@ff780000 gpio [ ] gpio_rockc | |-- gpio2@ff790000 gpio [ ] gpio_rockc | |-- gpio3@ff7a0000 gpio [ + ] gpio_rockc | |-- gpio4@ff7b0000 gpio [ ] gpio_rockc | |-- gpio5@ff7c0000 gpio [ ] gpio_rockc | |-- gpio6@ff7d0000 gpio [ + ] gpio_rockc | |-- gpio7@ff7e0000 gpio [ ] gpio_rockc | |-- gpio8@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@ff690000 serial [ ] ns16550_se |-- serial@ff1b0000 serial [ ] ns16550_se |-- serial@ff1c0000 - eth [ + ] gmac_rockc |-- ethernet@ff290000 + eth [ ] gmac_rockc |-- ethernet@ff290000 usb [ ] dwc2_usb |-- usb@ff540000 usb [ ] dwc2_usb |-- usb@ff580000 ram [ ] rockchip_r |-- dmc@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@ff660000 i2c_eeprom [ + ] i2c_eeprom | `-- m24c08@50 pwm [ ] rk_pwm |-- pwm@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

Hi Jonathan
Have you tried to apply the fix available here ?
http://u-boot.10912.n7.nabble.com/PATCH-NET-designware-fix-clock-enable-td32...
Regards
Patrice
On 02/16/2018 08:17 AM, Jonathan Gray wrote:
On Wed, Nov 29, 2017 at 09:06:11AM +0100, 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(+)
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@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@ff0c0000 blk [ + ] mmc_blk | `-- dwmmc@ff0c0000.blk adc [ + ] rockchip_s |-- saradc@ff100000 i2c [ ] i2c_rockch |-- i2c@ff170000 serial [ ] ns16550_se |-- serial@ff180000 serial [ ] ns16550_se |-- serial@ff190000 serial [ + ] ns16550_se |-- serial@ff690000 serial [ ] ns16550_se |-- serial@ff1b0000 serial [ ] ns16550_se |-- serial@ff1c0000 eth [ ] gmac_rockc |-- ethernet@ff290000 usb [ ] dwc2_usb |-- usb@ff540000 usb [ ] dwc2_usb |-- usb@ff580000 ram [ ] rockchip_r |-- dmc@ff610000 i2c [ + ] i2c_rockch |-- i2c@ff650000 pmic [ + ] rk8xx pmic | `-- pmic@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@ff660000 i2c_eeprom [ + ] i2c_eeprom | `-- m24c08@50 pwm [ ] rk_pwm |-- pwm@ff680000 pwm [ ] rk_pwm |-- pwm@ff680010 syscon [ + ] rk3288_sys |-- power-management@ff730000 syscon [ ] rk3288_sys |-- syscon@ff740000 clk [ + ] rockchip_r |-- clock-controller@ff760000 sysreset [ ] rockchip_s | `-- sysreset syscon [ + ] rk3288_sys |-- syscon@ff770000 syscon [ ] rk3288_sys |-- syscon@ffac0000 pinctrl [ + ] rockchip_r |-- pinctrl gpio [ ] gpio_rockc | |-- gpio0@ff750000 gpio [ ] gpio_rockc | |-- gpio1@ff780000 gpio [ ] gpio_rockc | |-- gpio2@ff790000 gpio [ ] gpio_rockc | |-- gpio3@ff7a0000 gpio [ + ] gpio_rockc | |-- gpio4@ff7b0000 gpio [ ] gpio_rockc | |-- gpio5@ff7c0000 gpio [ ] gpio_rockc | |-- gpio6@ff7d0000 gpio [ + ] gpio_rockc | |-- gpio7@ff7e0000 gpio [ ] gpio_rockc | |-- gpio8@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@ff0c0000: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Model: Tinker-RK3288 Net: eth0: ethernet@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@ff0c0000 blk [ + ] mmc_blk | `-- dwmmc@ff0c0000.blk adc [ + ] rockchip_s |-- saradc@ff100000 i2c [ ] i2c_rockch |-- i2c@ff170000 serial [ ] ns16550_se |-- serial@ff180000 serial [ ] ns16550_se |-- serial@ff190000 serial [ + ] ns16550_se |-- serial@ff690000 serial [ ] ns16550_se |-- serial@ff1b0000 serial [ ] ns16550_se |-- serial@ff1c0000 eth [ + ] gmac_rockc |-- ethernet@ff290000 usb [ ] dwc2_usb |-- usb@ff540000 usb [ ] dwc2_usb |-- usb@ff580000 ram [ ] rockchip_r |-- dmc@ff610000 i2c [ + ] i2c_rockch |-- i2c@ff650000 pmic [ + ] rk8xx pmic | `-- pmic@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@ff660000 i2c_eeprom [ + ] i2c_eeprom | `-- m24c08@50 pwm [ ] rk_pwm |-- pwm@ff680000 pwm [ ] rk_pwm |-- pwm@ff680010 syscon [ + ] rk3288_sys |-- power-management@ff730000 syscon [ ] rk3288_sys |-- syscon@ff740000 clk [ + ] rockchip_r |-- clock-controller@ff760000 sysreset [ ] rockchip_s | `-- sysreset syscon [ + ] rk3288_sys |-- syscon@ff770000 syscon [ ] rk3288_sys |-- syscon@ffac0000 pinctrl [ + ] rockchip_r |-- pinctrl gpio [ ] gpio_rockc | |-- gpio0@ff750000 gpio [ ] gpio_rockc | |-- gpio1@ff780000 gpio [ ] gpio_rockc | |-- gpio2@ff790000 gpio [ ] gpio_rockc | |-- gpio3@ff7a0000 gpio [ + ] gpio_rockc | |-- gpio4@ff7b0000 gpio [ ] gpio_rockc | |-- gpio5@ff7c0000 gpio [ ] gpio_rockc | |-- gpio6@ff7d0000 gpio [ + ] gpio_rockc | |-- gpio7@ff7e0000 gpio [ ] gpio_rockc | |-- gpio8@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@ff690000 serial [ ] ns16550_se |-- serial@ff1b0000 serial [ ] ns16550_se |-- serial@ff1c0000
- eth [ + ] gmac_rockc |-- ethernet@ff290000
- eth [ ] gmac_rockc |-- ethernet@ff290000 usb [ ] dwc2_usb |-- usb@ff540000 usb [ ] dwc2_usb |-- usb@ff580000 ram [ ] rockchip_r |-- dmc@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@ff660000 i2c_eeprom [ + ] i2c_eeprom | `-- m24c08@50 pwm [ ] rk_pwm |-- pwm@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

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-td32...
Regards
Patrice
On 02/16/2018 08:17 AM, Jonathan Gray wrote:
On Wed, Nov 29, 2017 at 09:06:11AM +0100, 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(+)
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@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@ff0c0000 blk [ + ] mmc_blk | `-- dwmmc@ff0c0000.blk adc [ + ] rockchip_s |-- saradc@ff100000 i2c [ ] i2c_rockch |-- i2c@ff170000 serial [ ] ns16550_se |-- serial@ff180000 serial [ ] ns16550_se |-- serial@ff190000 serial [ + ] ns16550_se |-- serial@ff690000 serial [ ] ns16550_se |-- serial@ff1b0000 serial [ ] ns16550_se |-- serial@ff1c0000 eth [ ] gmac_rockc |-- ethernet@ff290000 usb [ ] dwc2_usb |-- usb@ff540000 usb [ ] dwc2_usb |-- usb@ff580000 ram [ ] rockchip_r |-- dmc@ff610000 i2c [ + ] i2c_rockch |-- i2c@ff650000 pmic [ + ] rk8xx pmic | `-- pmic@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@ff660000 i2c_eeprom [ + ] i2c_eeprom | `-- m24c08@50 pwm [ ] rk_pwm |-- pwm@ff680000 pwm [ ] rk_pwm |-- pwm@ff680010 syscon [ + ] rk3288_sys |-- power-management@ff730000 syscon [ ] rk3288_sys |-- syscon@ff740000 clk [ + ] rockchip_r |-- clock-controller@ff760000 sysreset [ ] rockchip_s | `-- sysreset syscon [ + ] rk3288_sys |-- syscon@ff770000 syscon [ ] rk3288_sys |-- syscon@ffac0000 pinctrl [ + ] rockchip_r |-- pinctrl gpio [ ] gpio_rockc | |-- gpio0@ff750000 gpio [ ] gpio_rockc | |-- gpio1@ff780000 gpio [ ] gpio_rockc | |-- gpio2@ff790000 gpio [ ] gpio_rockc | |-- gpio3@ff7a0000 gpio [ + ] gpio_rockc | |-- gpio4@ff7b0000 gpio [ ] gpio_rockc | |-- gpio5@ff7c0000 gpio [ ] gpio_rockc | |-- gpio6@ff7d0000 gpio [ + ] gpio_rockc | |-- gpio7@ff7e0000 gpio [ ] gpio_rockc | |-- gpio8@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@ff0c0000: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Model: Tinker-RK3288 Net: eth0: ethernet@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@ff0c0000 blk [ + ] mmc_blk | `-- dwmmc@ff0c0000.blk adc [ + ] rockchip_s |-- saradc@ff100000 i2c [ ] i2c_rockch |-- i2c@ff170000 serial [ ] ns16550_se |-- serial@ff180000 serial [ ] ns16550_se |-- serial@ff190000 serial [ + ] ns16550_se |-- serial@ff690000 serial [ ] ns16550_se |-- serial@ff1b0000 serial [ ] ns16550_se |-- serial@ff1c0000 eth [ + ] gmac_rockc |-- ethernet@ff290000 usb [ ] dwc2_usb |-- usb@ff540000 usb [ ] dwc2_usb |-- usb@ff580000 ram [ ] rockchip_r |-- dmc@ff610000 i2c [ + ] i2c_rockch |-- i2c@ff650000 pmic [ + ] rk8xx pmic | `-- pmic@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@ff660000 i2c_eeprom [ + ] i2c_eeprom | `-- m24c08@50 pwm [ ] rk_pwm |-- pwm@ff680000 pwm [ ] rk_pwm |-- pwm@ff680010 syscon [ + ] rk3288_sys |-- power-management@ff730000 syscon [ ] rk3288_sys |-- syscon@ff740000 clk [ + ] rockchip_r |-- clock-controller@ff760000 sysreset [ ] rockchip_s | `-- sysreset syscon [ + ] rk3288_sys |-- syscon@ff770000 syscon [ ] rk3288_sys |-- syscon@ffac0000 pinctrl [ + ] rockchip_r |-- pinctrl gpio [ ] gpio_rockc | |-- gpio0@ff750000 gpio [ ] gpio_rockc | |-- gpio1@ff780000 gpio [ ] gpio_rockc | |-- gpio2@ff790000 gpio [ ] gpio_rockc | |-- gpio3@ff7a0000 gpio [ + ] gpio_rockc | |-- gpio4@ff7b0000 gpio [ ] gpio_rockc | |-- gpio5@ff7c0000 gpio [ ] gpio_rockc | |-- gpio6@ff7d0000 gpio [ + ] gpio_rockc | |-- gpio7@ff7e0000 gpio [ ] gpio_rockc | |-- gpio8@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@ff690000 serial [ ] ns16550_se |-- serial@ff1b0000 serial [ ] ns16550_se |-- serial@ff1c0000
- eth [ + ] gmac_rockc |-- ethernet@ff290000
- eth [ ] gmac_rockc |-- ethernet@ff290000 usb [ ] dwc2_usb |-- usb@ff540000 usb [ ] dwc2_usb |-- usb@ff580000 ram [ ] rockchip_r |-- dmc@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@ff660000 i2c_eeprom [ + ] i2c_eeprom | `-- m24c08@50 pwm [ ] rk_pwm |-- pwm@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@lists.denx.de https://lists.denx.de/listinfo/u-boot
participants (5)
-
Joe Hershberger
-
Jonathan Gray
-
Patrice CHOTARD
-
patrice.chotard@st.com
-
Simon Glass