All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/3] sunxi: Update selects in arch/arm/Kconfig for DM
@ 2015-07-05 18:56 Hans de Goede
  2015-07-05 18:56 ` [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found Hans de Goede
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Hans de Goede @ 2015-07-05 18:56 UTC (permalink / raw)
  To: u-boot

Hi All,

Here is a patch-set to cleanup the CONFIG_foo=y options which are present
in practically all sunxi defconfigs since Joe's latest patches.

Simon, the first patch in this patchset is necessary to be able to
use DM_SERIAL=y on all sunxi boards, without this things do not work
as some sunxi tablet motherboards do not have an uart (not even through
test pads), as all uart pins are used for other functions. Without this
these board will fail to boot due to a panic called from the dm serial
code. Can you please add this to u-boot-dm/next ? I'm assuming that you
prefer taking this upstream this way rather then through the sunxi tree.

The second patch is a slightly modified version of Tom's patch to cleanup
the sunxi defconfigs, and the 3th one is a patch I already had queued up
rebased on top of this, and with its commit message altered to reflect
the current state of things.

Regards,

Hans

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

* [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found
  2015-07-05 18:56 [U-Boot] [PATCH 0/3] sunxi: Update selects in arch/arm/Kconfig for DM Hans de Goede
@ 2015-07-05 18:56 ` Hans de Goede
  2015-07-06 16:39   ` Simon Glass
  2015-07-05 18:56 ` [U-Boot] [PATCH 2/3] sunxi: Update selects in arch/arm/Kconfig for DM conversions Hans de Goede
  2015-07-05 18:56 ` [U-Boot] [PATCH 3/3] sunxi: Enable CMD_USB and USB_STORAGE by default on sunxi Hans de Goede
  2 siblings, 1 reply; 13+ messages in thread
From: Hans de Goede @ 2015-07-05 18:56 UTC (permalink / raw)
  To: u-boot

Some boards simply do not have any serial ports. Also no one will see the
panic message as there is no where to print it if no serial port is found
(and other stdout options are not yet set up at this point).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/serial/serial-uclass.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index 815fec3..f036499 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -27,7 +27,7 @@ static const unsigned long baudrate_table[] = CONFIG_SYS_BAUDRATE_TABLE;
 #error "Serial is required before relocation - define CONFIG_SYS_MALLOC_F_LEN to make this work"
 #endif
 
-static void serial_find_console_or_panic(void)
+static void serial_find_console(void)
 {
 	struct udevice *dev;
 	int node;
@@ -77,14 +77,12 @@ static void serial_find_console_or_panic(void)
 		}
 #undef INDEX
 	}
-
-	panic_str("No serial driver found");
 }
 
 /* Called prior to relocation */
 int serial_init(void)
 {
-	serial_find_console_or_panic();
+	serial_find_console();
 	gd->flags |= GD_FLG_SERIAL_READY;
 
 	return 0;
@@ -93,7 +91,7 @@ int serial_init(void)
 /* Called after relocation */
 void serial_initialize(void)
 {
-	serial_find_console_or_panic();
+	serial_find_console();
 }
 
 static void _serial_putc(struct udevice *dev, char ch)
-- 
2.4.3

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

* [U-Boot] [PATCH 2/3] sunxi: Update selects in arch/arm/Kconfig for DM conversions
  2015-07-05 18:56 [U-Boot] [PATCH 0/3] sunxi: Update selects in arch/arm/Kconfig for DM Hans de Goede
  2015-07-05 18:56 ` [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found Hans de Goede
@ 2015-07-05 18:56 ` Hans de Goede
  2015-07-06 16:39   ` Simon Glass
  2015-07-07  7:27   ` Ian Campbell
  2015-07-05 18:56 ` [U-Boot] [PATCH 3/3] sunxi: Enable CMD_USB and USB_STORAGE by default on sunxi Hans de Goede
  2 siblings, 2 replies; 13+ messages in thread
From: Hans de Goede @ 2015-07-05 18:56 UTC (permalink / raw)
  To: u-boot

From: Tom Rini <trini@konsulko.com>

With certain features being convert to DM now we want sunxi to default
to having DM enabled for ETH/SERIAL and USB in some cases.

Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Tom Rini <trini@konsulko.com>
[hdegoede at redhat.com: Also select CONFIG_USB for all sunxi builds]
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 arch/arm/Kconfig                             | 4 ++++
 configs/A10-OLinuXino-Lime_defconfig         | 7 ++-----
 configs/A10s-OLinuXino-M_defconfig           | 7 ++-----
 configs/A13-OLinuXinoM_defconfig             | 7 ++-----
 configs/A13-OLinuXino_defconfig              | 7 ++-----
 configs/A20-OLinuXino-Lime2_defconfig        | 7 ++-----
 configs/A20-OLinuXino-Lime_defconfig         | 7 ++-----
 configs/A20-OLinuXino_MICRO_defconfig        | 7 ++-----
 configs/Ainol_AW1_defconfig                  | 2 --
 configs/Ampe_A76_defconfig                   | 2 --
 configs/Auxtek-T004_defconfig                | 7 ++-----
 configs/Bananapi_defconfig                   | 7 ++-----
 configs/Bananapro_defconfig                  | 7 ++-----
 configs/CSQ_CS908_defconfig                  | 7 ++-----
 configs/Chuwi_V7_CW0825_defconfig            | 2 --
 configs/Colombus_defconfig                   | 7 ++-----
 configs/Cubieboard2_defconfig                | 7 ++-----
 configs/Cubieboard_defconfig                 | 7 ++-----
 configs/Cubietruck_defconfig                 | 7 ++-----
 configs/Et_q8_v1_6_defconfig                 | 2 --
 configs/Hummingbird_A31_defconfig            | 7 ++-----
 configs/Hyundai_A7HD_defconfig               | 2 --
 configs/Ippo_q8h_v1_2_a33_1024x600_defconfig | 2 --
 configs/Ippo_q8h_v1_2_defconfig              | 2 --
 configs/Ippo_q8h_v5_defconfig                | 2 --
 configs/Linksprite_pcDuino3_Nano_defconfig   | 7 ++-----
 configs/Linksprite_pcDuino3_defconfig        | 7 ++-----
 configs/Linksprite_pcDuino_defconfig         | 7 ++-----
 configs/MK808C_defconfig                     | 7 ++-----
 configs/MSI_Primo73_defconfig                | 4 ----
 configs/MSI_Primo81_defconfig                | 3 ---
 configs/Marsboard_A10_defconfig              | 7 ++-----
 configs/Mele_A1000G_quad_defconfig           | 7 ++-----
 configs/Mele_A1000_defconfig                 | 7 ++-----
 configs/Mele_I7_defconfig                    | 7 ++-----
 configs/Mele_M3_defconfig                    | 7 ++-----
 configs/Mele_M5_defconfig                    | 7 ++-----
 configs/Mele_M9_defconfig                    | 7 ++-----
 configs/Merrii_A80_Optimus_defconfig         | 4 ----
 configs/Mini-X_defconfig                     | 7 ++-----
 configs/Orangepi_defconfig                   | 7 ++-----
 configs/Orangepi_mini_defconfig              | 7 ++-----
 configs/Sinlinx_SinA33_defconfig             | 4 ----
 configs/TZX-Q8-713B7_defconfig               | 2 --
 configs/UTOO_P66_defconfig                   | 1 -
 configs/Wexler_TAB7200_defconfig             | 7 ++-----
 configs/Wits_Pro_A20_DKT_defconfig           | 7 ++-----
 configs/Yones_Toptech_BD1078_defconfig       | 2 --
 configs/ba10_tv_box_defconfig                | 7 ++-----
 configs/forfun_q88db_defconfig               | 2 --
 configs/ga10h_v1_1_defconfig                 | 2 --
 configs/i12-tvbox_defconfig                  | 7 ++-----
 configs/iNet_3F_defconfig                    | 2 --
 configs/iNet_3W_defconfig                    | 2 --
 configs/iNet_86VS_defconfig                  | 2 --
 configs/jesurun_q5_defconfig                 | 7 ++-----
 configs/mixtile_loftq_defconfig              | 7 ++-----
 configs/mk802_a10s_defconfig                 | 7 ++-----
 configs/mk802_defconfig                      | 5 +----
 configs/mk802ii_defconfig                    | 7 ++-----
 configs/r7-tv-dongle_defconfig               | 7 ++-----
 configs/sunxi_Gemei_G9_defconfig             | 7 ++-----
 62 files changed, 85 insertions(+), 250 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 192d9cf..c6202ee 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -646,9 +646,13 @@ config ARCH_SUNXI
 	bool "Support sunxi (Allwinner) SoCs"
 	select DM
 	select DM_GPIO
+	select DM_ETH
+	select DM_SERIAL
+	select DM_USB if !USB_MUSB_SUNXI
 	select OF_CONTROL
 	select OF_SEPARATE
 	select SPL_DISABLE_OF_CONTROL
+	select USB
 
 config TARGET_SNOWBALL
 	bool "Support snowball"
diff --git a/configs/A10-OLinuXino-Lime_defconfig b/configs/A10-OLinuXino-Lime_defconfig
index 87ade90..0245bfc 100644
--- a/configs/A10-OLinuXino-Lime_defconfig
+++ b/configs/A10-OLinuXino-Lime_defconfig
@@ -7,11 +7,8 @@ CONFIG_SYS_CLK_FREQ=912000000
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A10s-OLinuXino-M_defconfig b/configs/A10s-OLinuXino-M_defconfig
index 5a450af..7783c7d 100644
--- a/configs/A10s-OLinuXino-M_defconfig
+++ b/configs/A10s-OLinuXino-M_defconfig
@@ -9,11 +9,8 @@ CONFIG_USB1_VBUS_PIN="PB10"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,SUNXI_EMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A13-OLinuXinoM_defconfig b/configs/A13-OLinuXinoM_defconfig
index 213ece6..dcaaff9 100644
--- a/configs/A13-OLinuXinoM_defconfig
+++ b/configs/A13-OLinuXinoM_defconfig
@@ -13,11 +13,8 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A13-OLinuXino_defconfig b/configs/A13-OLinuXino_defconfig
index d71c11c..4b43372 100644
--- a/configs/A13-OLinuXino_defconfig
+++ b/configs/A13-OLinuXino_defconfig
@@ -14,11 +14,8 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig
index 6445b25..c9d0f47 100644
--- a/configs/A20-OLinuXino-Lime2_defconfig
+++ b/configs/A20-OLinuXino-Lime2_defconfig
@@ -8,12 +8,9 @@ CONFIG_USB0_VBUS_DET="PH5"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A20-OLinuXino-Lime_defconfig b/configs/A20-OLinuXino-Lime_defconfig
index 650670f..fb1f240 100644
--- a/configs/A20-OLinuXino-Lime_defconfig
+++ b/configs/A20-OLinuXino-Lime_defconfig
@@ -5,12 +5,9 @@ CONFIG_DRAM_CLK=480
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A20-OLinuXino_MICRO_defconfig b/configs/A20-OLinuXino_MICRO_defconfig
index 3f92504..a7f1395 100644
--- a/configs/A20-OLinuXino_MICRO_defconfig
+++ b/configs/A20-OLinuXino_MICRO_defconfig
@@ -9,12 +9,9 @@ CONFIG_VIDEO_VGA=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Ainol_AW1_defconfig b/configs/Ainol_AW1_defconfig
index f94cd5a..e1262e6 100644
--- a/configs/Ainol_AW1_defconfig
+++ b/configs/Ainol_AW1_defconfig
@@ -19,5 +19,3 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
diff --git a/configs/Ampe_A76_defconfig b/configs/Ampe_A76_defconfig
index 99aa141..2ee0307 100644
--- a/configs/Ampe_A76_defconfig
+++ b/configs/Ampe_A76_defconfig
@@ -18,5 +18,3 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
diff --git a/configs/Auxtek-T004_defconfig b/configs/Auxtek-T004_defconfig
index 016ccd9..c019176 100644
--- a/configs/Auxtek-T004_defconfig
+++ b/configs/Auxtek-T004_defconfig
@@ -6,11 +6,8 @@ CONFIG_USB1_VBUS_PIN="PG13"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-auxtek-t004"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Bananapi_defconfig b/configs/Bananapi_defconfig
index 3e186f6..4b9ef35 100644
--- a/configs/Bananapi_defconfig
+++ b/configs/Bananapi_defconfig
@@ -6,12 +6,9 @@ CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapi"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Bananapro_defconfig b/configs/Bananapro_defconfig
index 5bd2fd6..5506ab3 100644
--- a/configs/Bananapro_defconfig
+++ b/configs/Bananapro_defconfig
@@ -8,12 +8,9 @@ CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/CSQ_CS908_defconfig b/configs/CSQ_CS908_defconfig
index 54f4846..b92b6a3 100644
--- a/configs/CSQ_CS908_defconfig
+++ b/configs/CSQ_CS908_defconfig
@@ -7,14 +7,11 @@ CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-cs908"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3300
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Chuwi_V7_CW0825_defconfig b/configs/Chuwi_V7_CW0825_defconfig
index 3a2a219..cb659c9 100644
--- a/configs/Chuwi_V7_CW0825_defconfig
+++ b/configs/Chuwi_V7_CW0825_defconfig
@@ -18,8 +18,6 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
 CONFIG_VIDEO_LCD_SPI_CS="PA0"
 CONFIG_VIDEO_LCD_SPI_SCLK="PA1"
 CONFIG_VIDEO_LCD_SPI_MOSI="PA2"
diff --git a/configs/Colombus_defconfig b/configs/Colombus_defconfig
index 9d84901..1ae8c16 100644
--- a/configs/Colombus_defconfig
+++ b/configs/Colombus_defconfig
@@ -7,13 +7,10 @@ CONFIG_USB1_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-colombus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_ALDO1_VOLT=3300
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Cubieboard2_defconfig b/configs/Cubieboard2_defconfig
index 0fbaa23..9bcaed1 100644
--- a/configs/Cubieboard2_defconfig
+++ b/configs/Cubieboard2_defconfig
@@ -6,12 +6,9 @@ CONFIG_MMC0_CD_PIN="PH1"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubieboard2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Cubieboard_defconfig b/configs/Cubieboard_defconfig
index 0d0051e..fa60ddf 100644
--- a/configs/Cubieboard_defconfig
+++ b/configs/Cubieboard_defconfig
@@ -5,11 +5,8 @@ CONFIG_DRAM_CLK=480
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-cubieboard"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Cubietruck_defconfig b/configs/Cubietruck_defconfig
index 57a3847..b8809c8 100644
--- a/configs/Cubietruck_defconfig
+++ b/configs/Cubietruck_defconfig
@@ -7,12 +7,9 @@ CONFIG_GMAC_TX_DELAY=1
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubietruck"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Et_q8_v1_6_defconfig b/configs/Et_q8_v1_6_defconfig
index e36895c..2783347 100644
--- a/configs/Et_q8_v1_6_defconfig
+++ b/configs/Et_q8_v1_6_defconfig
@@ -19,7 +19,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3000
diff --git a/configs/Hummingbird_A31_defconfig b/configs/Hummingbird_A31_defconfig
index 02c657a..35c746c 100644
--- a/configs/Hummingbird_A31_defconfig
+++ b/configs/Hummingbird_A31_defconfig
@@ -9,13 +9,10 @@ CONFIG_VIDEO_VGA_EXTERNAL_DAC_EN="PH25"
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-hummingbird"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_ALDO1_VOLT=3300
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Hyundai_A7HD_defconfig b/configs/Hyundai_A7HD_defconfig
index 7800fa2..06fdd2a 100644
--- a/configs/Hyundai_A7HD_defconfig
+++ b/configs/Hyundai_A7HD_defconfig
@@ -20,5 +20,3 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
diff --git a/configs/Ippo_q8h_v1_2_a33_1024x600_defconfig b/configs/Ippo_q8h_v1_2_a33_1024x600_defconfig
index 63910c2..95ebbfc 100644
--- a/configs/Ippo_q8h_v1_2_a33_1024x600_defconfig
+++ b/configs/Ippo_q8h_v1_2_a33_1024x600_defconfig
@@ -19,7 +19,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3000
diff --git a/configs/Ippo_q8h_v1_2_defconfig b/configs/Ippo_q8h_v1_2_defconfig
index ab62210..783467b 100644
--- a/configs/Ippo_q8h_v1_2_defconfig
+++ b/configs/Ippo_q8h_v1_2_defconfig
@@ -19,7 +19,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3000
diff --git a/configs/Ippo_q8h_v5_defconfig b/configs/Ippo_q8h_v5_defconfig
index 312a38c..29e3c89 100644
--- a/configs/Ippo_q8h_v5_defconfig
+++ b/configs/Ippo_q8h_v5_defconfig
@@ -19,7 +19,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3000
diff --git a/configs/Linksprite_pcDuino3_Nano_defconfig b/configs/Linksprite_pcDuino3_Nano_defconfig
index 04ec7ab..0b64b60 100644
--- a/configs/Linksprite_pcDuino3_Nano_defconfig
+++ b/configs/Linksprite_pcDuino3_Nano_defconfig
@@ -8,12 +8,9 @@ CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3-nano"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Linksprite_pcDuino3_defconfig b/configs/Linksprite_pcDuino3_defconfig
index 6d7690d..cced032 100644
--- a/configs/Linksprite_pcDuino3_defconfig
+++ b/configs/Linksprite_pcDuino3_defconfig
@@ -6,12 +6,9 @@ CONFIG_DRAM_ZQ=122
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Linksprite_pcDuino_defconfig b/configs/Linksprite_pcDuino_defconfig
index ddd162f..de44890 100644
--- a/configs/Linksprite_pcDuino_defconfig
+++ b/configs/Linksprite_pcDuino_defconfig
@@ -5,11 +5,8 @@ CONFIG_DRAM_CLK=408
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-pcduino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/MK808C_defconfig b/configs/MK808C_defconfig
index a6db139..5e37485 100644
--- a/configs/MK808C_defconfig
+++ b/configs/MK808C_defconfig
@@ -5,11 +5,8 @@ CONFIG_DRAM_CLK=384
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-mk808c"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/MSI_Primo73_defconfig b/configs/MSI_Primo73_defconfig
index 6e0d246..7e83536 100644
--- a/configs/MSI_Primo73_defconfig
+++ b/configs/MSI_Primo73_defconfig
@@ -15,7 +15,3 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
diff --git a/configs/MSI_Primo81_defconfig b/configs/MSI_Primo81_defconfig
index 9787e34..b3b21cb 100644
--- a/configs/MSI_Primo81_defconfig
+++ b/configs/MSI_Primo81_defconfig
@@ -18,8 +18,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_VIDEO_LCD_SSD2828_TX_CLK=27
 CONFIG_VIDEO_LCD_SSD2828_RESET="PA26"
@@ -27,4 +25,3 @@ CONFIG_VIDEO_LCD_SPI_CS="PH9"
 CONFIG_VIDEO_LCD_SPI_SCLK="PH10"
 CONFIG_VIDEO_LCD_SPI_MOSI="PH11"
 CONFIG_VIDEO_LCD_SPI_MISO="PH12"
-CONFIG_USB=y
diff --git a/configs/Marsboard_A10_defconfig b/configs/Marsboard_A10_defconfig
index ed41af6..4933659 100644
--- a/configs/Marsboard_A10_defconfig
+++ b/configs/Marsboard_A10_defconfig
@@ -4,11 +4,8 @@ CONFIG_MACH_SUN4I=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-marsboard"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_A1000G_quad_defconfig b/configs/Mele_A1000G_quad_defconfig
index 6e0a493..f32a9675 100644
--- a/configs/Mele_A1000G_quad_defconfig
+++ b/configs/Mele_A1000G_quad_defconfig
@@ -7,16 +7,13 @@ CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mele-a1000g-quad"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_DCDC1_VOLT=3300
 CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_AXP221_DLDO4_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3300
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_A1000_defconfig b/configs/Mele_A1000_defconfig
index 983ffdc..5e66d43 100644
--- a/configs/Mele_A1000_defconfig
+++ b/configs/Mele_A1000_defconfig
@@ -5,11 +5,8 @@ CONFIG_VIDEO_VGA=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-a1000"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_I7_defconfig b/configs/Mele_I7_defconfig
index 7f083a7..774a92f 100644
--- a/configs/Mele_I7_defconfig
+++ b/configs/Mele_I7_defconfig
@@ -7,16 +7,13 @@ CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-i7"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_DCDC1_VOLT=3300
 CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_AXP221_DLDO4_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3300
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_M3_defconfig b/configs/Mele_M3_defconfig
index 73d87c3..d498269 100644
--- a/configs/Mele_M3_defconfig
+++ b/configs/Mele_M3_defconfig
@@ -8,12 +8,9 @@ CONFIG_VIDEO_VGA=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m3"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_M5_defconfig b/configs/Mele_M5_defconfig
index 79c5901..40f5daa 100644
--- a/configs/Mele_M5_defconfig
+++ b/configs/Mele_M5_defconfig
@@ -7,12 +7,9 @@ CONFIG_MMC0_CD_PIN="PH1"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m5"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,USB_EHCI,STATUSLED=234"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,STATUSLED=234"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_M9_defconfig b/configs/Mele_M9_defconfig
index e017ad7..b52e3c2 100644
--- a/configs/Mele_M9_defconfig
+++ b/configs/Mele_M9_defconfig
@@ -7,16 +7,13 @@ CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-m9"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_DCDC1_VOLT=3300
 CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_AXP221_DLDO4_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3300
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Merrii_A80_Optimus_defconfig b/configs/Merrii_A80_Optimus_defconfig
index b02b1a3..8587bc8 100644
--- a/configs/Merrii_A80_Optimus_defconfig
+++ b/configs/Merrii_A80_Optimus_defconfig
@@ -12,7 +12,3 @@ CONFIG_DEFAULT_DEVICE_TREE="sun9i-a80-optimus"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
diff --git a/configs/Mini-X_defconfig b/configs/Mini-X_defconfig
index da57711..d7d74a9 100644
--- a/configs/Mini-X_defconfig
+++ b/configs/Mini-X_defconfig
@@ -4,11 +4,8 @@ CONFIG_MACH_SUN4I=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mini-xplus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Orangepi_defconfig b/configs/Orangepi_defconfig
index ba89a25..f9408b1 100644
--- a/configs/Orangepi_defconfig
+++ b/configs/Orangepi_defconfig
@@ -9,12 +9,9 @@ CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Orangepi_mini_defconfig b/configs/Orangepi_mini_defconfig
index 8f03815..1dc0e76 100644
--- a/configs/Orangepi_mini_defconfig
+++ b/configs/Orangepi_mini_defconfig
@@ -11,12 +11,9 @@ CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi-mini"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Sinlinx_SinA33_defconfig b/configs/Sinlinx_SinA33_defconfig
index e9e62da..720f3dc 100644
--- a/configs/Sinlinx_SinA33_defconfig
+++ b/configs/Sinlinx_SinA33_defconfig
@@ -9,8 +9,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_ALDO1_VOLT=3000
-CONFIG_USB=y
-CONFIG_DM_USB=y
diff --git a/configs/TZX-Q8-713B7_defconfig b/configs/TZX-Q8-713B7_defconfig
index 68961fc..6a716bd 100644
--- a/configs/TZX-Q8-713B7_defconfig
+++ b/configs/TZX-Q8-713B7_defconfig
@@ -18,5 +18,3 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
diff --git a/configs/UTOO_P66_defconfig b/configs/UTOO_P66_defconfig
index c3b13b7..59d5e4e 100644
--- a/configs/UTOO_P66_defconfig
+++ b/configs/UTOO_P66_defconfig
@@ -23,4 +23,3 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
diff --git a/configs/Wexler_TAB7200_defconfig b/configs/Wexler_TAB7200_defconfig
index d9180c7..eadceb2 100644
--- a/configs/Wexler_TAB7200_defconfig
+++ b/configs/Wexler_TAB7200_defconfig
@@ -9,11 +9,8 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wexler-tab7200"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Wits_Pro_A20_DKT_defconfig b/configs/Wits_Pro_A20_DKT_defconfig
index bb8dd29..66b51bc 100644
--- a/configs/Wits_Pro_A20_DKT_defconfig
+++ b/configs/Wits_Pro_A20_DKT_defconfig
@@ -11,12 +11,9 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wits-pro-a20-dkt"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Yones_Toptech_BD1078_defconfig b/configs/Yones_Toptech_BD1078_defconfig
index aab580e..22b51a2 100644
--- a/configs/Yones_Toptech_BD1078_defconfig
+++ b/configs/Yones_Toptech_BD1078_defconfig
@@ -24,5 +24,3 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
diff --git a/configs/ba10_tv_box_defconfig b/configs/ba10_tv_box_defconfig
index c84e82e..d944ae9 100644
--- a/configs/ba10_tv_box_defconfig
+++ b/configs/ba10_tv_box_defconfig
@@ -7,11 +7,8 @@ CONFIG_USB2_VBUS_PIN="PH12"
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-ba10-tvbox"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/forfun_q88db_defconfig b/configs/forfun_q88db_defconfig
index 85c807a..8f10c25 100644
--- a/configs/forfun_q88db_defconfig
+++ b/configs/forfun_q88db_defconfig
@@ -17,5 +17,3 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
diff --git a/configs/ga10h_v1_1_defconfig b/configs/ga10h_v1_1_defconfig
index 315627d..3d75ecd 100644
--- a/configs/ga10h_v1_1_defconfig
+++ b/configs/ga10h_v1_1_defconfig
@@ -21,7 +21,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3000
diff --git a/configs/i12-tvbox_defconfig b/configs/i12-tvbox_defconfig
index 3a69422..99e78ba 100644
--- a/configs/i12-tvbox_defconfig
+++ b/configs/i12-tvbox_defconfig
@@ -5,12 +5,9 @@ CONFIG_DRAM_CLK=384
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-i12-tvbox"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/iNet_3F_defconfig b/configs/iNet_3F_defconfig
index 54de300..c4611cf 100644
--- a/configs/iNet_3F_defconfig
+++ b/configs/iNet_3F_defconfig
@@ -19,5 +19,3 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
diff --git a/configs/iNet_3W_defconfig b/configs/iNet_3W_defconfig
index e1beac8..d75eb21 100644
--- a/configs/iNet_3W_defconfig
+++ b/configs/iNet_3W_defconfig
@@ -19,5 +19,3 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
diff --git a/configs/iNet_86VS_defconfig b/configs/iNet_86VS_defconfig
index 627e211..b9f2066 100644
--- a/configs/iNet_86VS_defconfig
+++ b/configs/iNet_86VS_defconfig
@@ -17,5 +17,3 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
diff --git a/configs/jesurun_q5_defconfig b/configs/jesurun_q5_defconfig
index 4b09a33..a2115b6 100644
--- a/configs/jesurun_q5_defconfig
+++ b/configs/jesurun_q5_defconfig
@@ -5,11 +5,8 @@ CONFIG_DRAM_CLK=312
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-jesurun-q5"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI,MACPWR=SUNXI_GPH(19)"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(19)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mixtile_loftq_defconfig b/configs/mixtile_loftq_defconfig
index a8c497c..26fc4ce 100644
--- a/configs/mixtile_loftq_defconfig
+++ b/configs/mixtile_loftq_defconfig
@@ -8,13 +8,10 @@ CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mixtile-loftq"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_SERIAL=y
 CONFIG_AXP221_ALDO1_VOLT=3300
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mk802_a10s_defconfig b/configs/mk802_a10s_defconfig
index dc78fa4..db437f0 100644
--- a/configs/mk802_a10s_defconfig
+++ b/configs/mk802_a10s_defconfig
@@ -7,11 +7,8 @@ CONFIG_USB1_VBUS_PIN="PB10"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-mk802"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mk802_defconfig b/configs/mk802_defconfig
index 31bde00..68b2c5e 100644
--- a/configs/mk802_defconfig
+++ b/configs/mk802_defconfig
@@ -9,7 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mk802ii_defconfig b/configs/mk802ii_defconfig
index ffa7891..d3cb664 100644
--- a/configs/mk802ii_defconfig
+++ b/configs/mk802ii_defconfig
@@ -4,11 +4,8 @@ CONFIG_MACH_SUN4I=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mk802ii"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/r7-tv-dongle_defconfig b/configs/r7-tv-dongle_defconfig
index ac7928d..62c58fc 100644
--- a/configs/r7-tv-dongle_defconfig
+++ b/configs/r7-tv-dongle_defconfig
@@ -6,11 +6,8 @@ CONFIG_USB1_VBUS_PIN="PG13"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-r7-tv-dongle"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/sunxi_Gemei_G9_defconfig b/configs/sunxi_Gemei_G9_defconfig
index e95cbe4..d0f987c 100644
--- a/configs/sunxi_Gemei_G9_defconfig
+++ b/configs/sunxi_Gemei_G9_defconfig
@@ -11,11 +11,8 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-gemei-g9"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_DM_ETH=y
-CONFIG_DM_SERIAL=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
-- 
2.4.3

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

* [U-Boot] [PATCH 3/3] sunxi: Enable CMD_USB and USB_STORAGE by default on sunxi
  2015-07-05 18:56 [U-Boot] [PATCH 0/3] sunxi: Update selects in arch/arm/Kconfig for DM Hans de Goede
  2015-07-05 18:56 ` [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found Hans de Goede
  2015-07-05 18:56 ` [U-Boot] [PATCH 2/3] sunxi: Update selects in arch/arm/Kconfig for DM conversions Hans de Goede
@ 2015-07-05 18:56 ` Hans de Goede
  2015-07-06 16:39   ` Simon Glass
  2 siblings, 1 reply; 13+ messages in thread
From: Hans de Goede @ 2015-07-05 18:56 UTC (permalink / raw)
  To: u-boot

Start using the new Kconfig options which are available for these now,
and simply always enable them by selecting them as sunxi builds always
include USB support.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
---
 arch/arm/Kconfig               | 2 ++
 include/configs/sunxi-common.h | 5 -----
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index c6202ee..54c5088 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -644,6 +644,7 @@ config ARCH_SOCFPGA
 
 config ARCH_SUNXI
 	bool "Support sunxi (Allwinner) SoCs"
+	select CMD_USB
 	select DM
 	select DM_GPIO
 	select DM_ETH
@@ -653,6 +654,7 @@ config ARCH_SUNXI
 	select OF_SEPARATE
 	select SPL_DISABLE_OF_CONTROL
 	select USB
+	select USB_STORAGE
 
 config TARGET_SNOWBALL
 	bool "Support snowball"
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index 9576bc1..5adcc39 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -330,11 +330,6 @@ extern int soft_i2c_gpio_scl;
 #define CONFIG_MUSB_PIO_ONLY
 #endif
 
-#if defined CONFIG_USB_EHCI || defined CONFIG_USB_MUSB_SUNXI
-#define CONFIG_CMD_USB
-#define CONFIG_USB_STORAGE
-#endif
-
 #ifdef CONFIG_USB_KEYBOARD
 #define CONFIG_CONSOLE_MUX
 #define CONFIG_PREBOOT
-- 
2.4.3

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

* [U-Boot] [PATCH 2/3] sunxi: Update selects in arch/arm/Kconfig for DM conversions
  2015-07-05 18:56 ` [U-Boot] [PATCH 2/3] sunxi: Update selects in arch/arm/Kconfig for DM conversions Hans de Goede
@ 2015-07-06 16:39   ` Simon Glass
  2015-07-07  7:27   ` Ian Campbell
  1 sibling, 0 replies; 13+ messages in thread
From: Simon Glass @ 2015-07-06 16:39 UTC (permalink / raw)
  To: u-boot

On 5 July 2015 at 12:56, Hans de Goede <hdegoede@redhat.com> wrote:
> From: Tom Rini <trini@konsulko.com>
>
> With certain features being convert to DM now we want sunxi to default
> to having DM enabled for ETH/SERIAL and USB in some cases.
>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Ian Campbell <ijc@hellion.org.uk>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> [hdegoede at redhat.com: Also select CONFIG_USB for all sunxi builds]
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

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

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

* [U-Boot] [PATCH 3/3] sunxi: Enable CMD_USB and USB_STORAGE by default on sunxi
  2015-07-05 18:56 ` [U-Boot] [PATCH 3/3] sunxi: Enable CMD_USB and USB_STORAGE by default on sunxi Hans de Goede
@ 2015-07-06 16:39   ` Simon Glass
  0 siblings, 0 replies; 13+ messages in thread
From: Simon Glass @ 2015-07-06 16:39 UTC (permalink / raw)
  To: u-boot

On 5 July 2015 at 12:56, Hans de Goede <hdegoede@redhat.com> wrote:
> Start using the new Kconfig options which are available for these now,
> and simply always enable them by selecting them as sunxi builds always
> include USB support.
>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> Acked-by: Ian Campbell <ijc@hellion.org.uk>
> ---
>  arch/arm/Kconfig               | 2 ++
>  include/configs/sunxi-common.h | 5 -----
>  2 files changed, 2 insertions(+), 5 deletions(-)

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

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

* [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found
  2015-07-05 18:56 ` [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found Hans de Goede
@ 2015-07-06 16:39   ` Simon Glass
  2015-07-07  7:00     ` Hans de Goede
  0 siblings, 1 reply; 13+ messages in thread
From: Simon Glass @ 2015-07-06 16:39 UTC (permalink / raw)
  To: u-boot

Hi Hans,

On 5 July 2015 at 12:56, Hans de Goede <hdegoede@redhat.com> wrote:
> Some boards simply do not have any serial ports. Also no one will see the
> panic message as there is no where to print it if no serial port is found
> (and other stdout options are not yet set up at this point).
>

It is visible (or will be when some patches land) if you have a debug
UART set up.

> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  drivers/serial/serial-uclass.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
> index 815fec3..f036499 100644
> --- a/drivers/serial/serial-uclass.c
> +++ b/drivers/serial/serial-uclass.c
> @@ -27,7 +27,7 @@ static const unsigned long baudrate_table[] = CONFIG_SYS_BAUDRATE_TABLE;
>  #error "Serial is required before relocation - define CONFIG_SYS_MALLOC_F_LEN to make this work"
>  #endif
>
> -static void serial_find_console_or_panic(void)
> +static void serial_find_console(void)
>  {
>         struct udevice *dev;
>         int node;
> @@ -77,14 +77,12 @@ static void serial_find_console_or_panic(void)
>                 }
>  #undef INDEX
>         }
> -
> -       panic_str("No serial driver found");
>  }
>
>  /* Called prior to relocation */
>  int serial_init(void)
>  {
> -       serial_find_console_or_panic();
> +       serial_find_console();
>         gd->flags |= GD_FLG_SERIAL_READY;
>
>         return 0;
> @@ -93,7 +91,7 @@ int serial_init(void)
>  /* Called after relocation */
>  void serial_initialize(void)
>  {
> -       serial_find_console_or_panic();
> +       serial_find_console();
>  }
>
>  static void _serial_putc(struct udevice *dev, char ch)

How is this handled before driver model? It is possible to mark a
device disabled in device tree - perhaps we should have a way to see
that the console is present (i.e. there is an alias) but it is
disabled?

Normally a serial console is required, so I'd like to preserve this
behaviour for most boards.

Regards,
Simon

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

* [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found
  2015-07-06 16:39   ` Simon Glass
@ 2015-07-07  7:00     ` Hans de Goede
  2015-07-08 11:56       ` Hans de Goede
  0 siblings, 1 reply; 13+ messages in thread
From: Hans de Goede @ 2015-07-07  7:00 UTC (permalink / raw)
  To: u-boot

Hi,

On 06-07-15 18:39, Simon Glass wrote:
> Hi Hans,
>
> On 5 July 2015 at 12:56, Hans de Goede <hdegoede@redhat.com> wrote:
>> Some boards simply do not have any serial ports. Also no one will see the
>> panic message as there is no where to print it if no serial port is found
>> (and other stdout options are not yet set up at this point).
>>
>
> It is visible (or will be when some patches land) if you have a debug
> UART set up.

Ok.

>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>>   drivers/serial/serial-uclass.c | 8 +++-----
>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
>> index 815fec3..f036499 100644
>> --- a/drivers/serial/serial-uclass.c
>> +++ b/drivers/serial/serial-uclass.c
>> @@ -27,7 +27,7 @@ static const unsigned long baudrate_table[] = CONFIG_SYS_BAUDRATE_TABLE;
>>   #error "Serial is required before relocation - define CONFIG_SYS_MALLOC_F_LEN to make this work"
>>   #endif
>>
>> -static void serial_find_console_or_panic(void)
>> +static void serial_find_console(void)
>>   {
>>          struct udevice *dev;
>>          int node;
>> @@ -77,14 +77,12 @@ static void serial_find_console_or_panic(void)
>>                  }
>>   #undef INDEX
>>          }
>> -
>> -       panic_str("No serial driver found");
>>   }
>>
>>   /* Called prior to relocation */
>>   int serial_init(void)
>>   {
>> -       serial_find_console_or_panic();
>> +       serial_find_console();
>>          gd->flags |= GD_FLG_SERIAL_READY;
>>
>>          return 0;
>> @@ -93,7 +91,7 @@ int serial_init(void)
>>   /* Called after relocation */
>>   void serial_initialize(void)
>>   {
>> -       serial_find_console_or_panic();
>> +       serial_find_console();
>>   }
>>
>>   static void _serial_putc(struct udevice *dev, char ch)
>
> How is this handled before driver model?

It was not, the boards involved all use the A13 SoC which is the
same die as the A10s but then in a different (cheaper) package
with way less pins. As such uart0 is not routed to the outside
on the A13. When not setting CONFIG_DM_SERIAL we are simply using
uart0 as serial console, and that ends at the bonding pads at the
edge of the die. doing things that way is not really useful,
but there is a serial console and u-boot is happy.

In the non devicetree world this sort of was a natural hack, we
simply left CONSOLE_INDEX undefined for these boards, which causes
it to default to 1 / uart0 and things just work. I had never given
this much thought until moving to devicetree.

As you can hopefully understand I do not want to do the samething
with DM_SERIAL builds as that would require hacking up the dts
to add a node for hardware which is effectively disabled for the
A13 package of the sun5i die.

 > It is possible to mark a
> device disabled in device tree - perhaps we should have a way to see
> that the console is present (i.e. there is an alias) but it is
> disabled?

That seems rather ugly, I really do not want to add an alias to
a non enabled device, that just feels wrong on all levels.

> Normally a serial console is required, so I'd like to preserve this
> behaviour for most boards.

Ok, I actually expected as much, this was actually my second solution
for the problem at hand, but as it was the simplest solution I decided
to submit this version first. My first / original solution is to add a
CONFIG_DM_SERIAL_NO_PANIC Kconfig option which can then be set on boards
which have no serial port.

Or probably better a CONFIG_DM_SERIAL_NO_SERIAL_CONSOLE option ?

This option would disable the panic / disable probing all together while
we would keep using DM_SERIAL on these boards, because:

1) Consistency I really want to use DM_FOO everywhere for sunxi
2) The non dm serial code cannot handle not having a serial port either,
    and fixing it looks like it is going to be a bit harder (from a quick
    glance).

Regards,

Hans

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

* [U-Boot] [PATCH 2/3] sunxi: Update selects in arch/arm/Kconfig for DM conversions
  2015-07-05 18:56 ` [U-Boot] [PATCH 2/3] sunxi: Update selects in arch/arm/Kconfig for DM conversions Hans de Goede
  2015-07-06 16:39   ` Simon Glass
@ 2015-07-07  7:27   ` Ian Campbell
  1 sibling, 0 replies; 13+ messages in thread
From: Ian Campbell @ 2015-07-07  7:27 UTC (permalink / raw)
  To: u-boot

On Sun, 2015-07-05 at 20:56 +0200, Hans de Goede wrote:
> From: Tom Rini <trini@konsulko.com>
> 
> With certain features being convert to DM now we want sunxi to default
> to having DM enabled for ETH/SERIAL and USB in some cases.
> 
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Ian Campbell <ijc@hellion.org.uk>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> [hdegoede at redhat.com: Also select CONFIG_USB for all sunxi builds]
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Acked-by: Ian Campbell <ijc@hellion.org.uk>

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

* [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found
  2015-07-07  7:00     ` Hans de Goede
@ 2015-07-08 11:56       ` Hans de Goede
  2015-07-08 14:08         ` Simon Glass
  0 siblings, 1 reply; 13+ messages in thread
From: Hans de Goede @ 2015-07-08 11:56 UTC (permalink / raw)
  To: u-boot

Hi Simon,

On 07-07-15 09:00, Hans de Goede wrote:
> Hi,
>
> On 06-07-15 18:39, Simon Glass wrote:
>> Hi Hans,
>>
>> On 5 July 2015 at 12:56, Hans de Goede <hdegoede@redhat.com> wrote:
>>> Some boards simply do not have any serial ports. Also no one will see the
>>> panic message as there is no where to print it if no serial port is found
>>> (and other stdout options are not yet set up at this point).
>>>
>>
>> It is visible (or will be when some patches land) if you have a debug
>> UART set up.
>
> Ok.
>
>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>> ---
>>>   drivers/serial/serial-uclass.c | 8 +++-----
>>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
>>> index 815fec3..f036499 100644
>>> --- a/drivers/serial/serial-uclass.c
>>> +++ b/drivers/serial/serial-uclass.c
>>> @@ -27,7 +27,7 @@ static const unsigned long baudrate_table[] = CONFIG_SYS_BAUDRATE_TABLE;
>>>   #error "Serial is required before relocation - define CONFIG_SYS_MALLOC_F_LEN to make this work"
>>>   #endif
>>>
>>> -static void serial_find_console_or_panic(void)
>>> +static void serial_find_console(void)
>>>   {
>>>          struct udevice *dev;
>>>          int node;
>>> @@ -77,14 +77,12 @@ static void serial_find_console_or_panic(void)
>>>                  }
>>>   #undef INDEX
>>>          }
>>> -
>>> -       panic_str("No serial driver found");
>>>   }
>>>
>>>   /* Called prior to relocation */
>>>   int serial_init(void)
>>>   {
>>> -       serial_find_console_or_panic();
>>> +       serial_find_console();
>>>          gd->flags |= GD_FLG_SERIAL_READY;
>>>
>>>          return 0;
>>> @@ -93,7 +91,7 @@ int serial_init(void)
>>>   /* Called after relocation */
>>>   void serial_initialize(void)
>>>   {
>>> -       serial_find_console_or_panic();
>>> +       serial_find_console();
>>>   }
>>>
>>>   static void _serial_putc(struct udevice *dev, char ch)
>>
>> How is this handled before driver model?
>
> It was not, the boards involved all use the A13 SoC which is the
> same die as the A10s but then in a different (cheaper) package
> with way less pins. As such uart0 is not routed to the outside
> on the A13. When not setting CONFIG_DM_SERIAL we are simply using
> uart0 as serial console, and that ends at the bonding pads at the
> edge of the die. doing things that way is not really useful,
> but there is a serial console and u-boot is happy.
>
> In the non devicetree world this sort of was a natural hack, we
> simply left CONSOLE_INDEX undefined for these boards, which causes
> it to default to 1 / uart0 and things just work. I had never given
> this much thought until moving to devicetree.
>
> As you can hopefully understand I do not want to do the samething
> with DM_SERIAL builds as that would require hacking up the dts
> to add a node for hardware which is effectively disabled for the
> A13 package of the sun5i die.
>
>  > It is possible to mark a
>> device disabled in device tree - perhaps we should have a way to see
>> that the console is present (i.e. there is an alias) but it is
>> disabled?
>
> That seems rather ugly, I really do not want to add an alias to
> a non enabled device, that just feels wrong on all levels.
>
>> Normally a serial console is required, so I'd like to preserve this
>> behaviour for most boards.
>
> Ok, I actually expected as much, this was actually my second solution
> for the problem at hand, but as it was the simplest solution I decided
> to submit this version first. My first / original solution is to add a
> CONFIG_DM_SERIAL_NO_PANIC Kconfig option which can then be set on boards
> which have no serial port.
>
> Or probably better a CONFIG_DM_SERIAL_NO_SERIAL_CONSOLE option ?
>
> This option would disable the panic / disable probing all together while
> we would keep using DM_SERIAL on these boards, because:
>
> 1) Consistency I really want to use DM_FOO everywhere for sunxi
> 2) The non dm serial code cannot handle not having a serial port either,
>     and fixing it looks like it is going to be a bit harder (from a quick
>     glance).

You probably just have not gotten around to this yet, but in case it is
not clear, the above solution (adding a CONFIG_DM_SERIAL_NO_SERIAL_CONSOLE
Kconfig option) is a suggestion on how to fix. I'll happily implement this
if people like it, but atm I'm waiting for feedback on the suggestion.

Regards,

Hans

p.s.

I'm on vacation from July 11th - July 19th, so if I'm quiet that is why :)

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

* [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found
  2015-07-08 11:56       ` Hans de Goede
@ 2015-07-08 14:08         ` Simon Glass
  2015-07-08 14:16           ` Hans de Goede
  0 siblings, 1 reply; 13+ messages in thread
From: Simon Glass @ 2015-07-08 14:08 UTC (permalink / raw)
  To: u-boot

+Masahiro

Hi Hans,

On 8 July 2015 at 05:56, Hans de Goede <hdegoede@redhat.com> wrote:
> Hi Simon,
>
>
> On 07-07-15 09:00, Hans de Goede wrote:
>>
>> Hi,
>>
>> On 06-07-15 18:39, Simon Glass wrote:
>>>
>>> Hi Hans,
>>>
>>> On 5 July 2015 at 12:56, Hans de Goede <hdegoede@redhat.com> wrote:
>>>>
>>>> Some boards simply do not have any serial ports. Also no one will see
>>>> the
>>>> panic message as there is no where to print it if no serial port is
>>>> found
>>>> (and other stdout options are not yet set up at this point).
>>>>
>>>
>>> It is visible (or will be when some patches land) if you have a debug
>>> UART set up.
>>
>>
>> Ok.
>>
>>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>>> ---
>>>>   drivers/serial/serial-uclass.c | 8 +++-----
>>>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/drivers/serial/serial-uclass.c
>>>> b/drivers/serial/serial-uclass.c
>>>> index 815fec3..f036499 100644
>>>> --- a/drivers/serial/serial-uclass.c
>>>> +++ b/drivers/serial/serial-uclass.c
>>>> @@ -27,7 +27,7 @@ static const unsigned long baudrate_table[] =
>>>> CONFIG_SYS_BAUDRATE_TABLE;
>>>>   #error "Serial is required before relocation - define
>>>> CONFIG_SYS_MALLOC_F_LEN to make this work"
>>>>   #endif
>>>>
>>>> -static void serial_find_console_or_panic(void)
>>>> +static void serial_find_console(void)
>>>>   {
>>>>          struct udevice *dev;
>>>>          int node;
>>>> @@ -77,14 +77,12 @@ static void serial_find_console_or_panic(void)
>>>>                  }
>>>>   #undef INDEX
>>>>          }
>>>> -
>>>> -       panic_str("No serial driver found");
>>>>   }
>>>>
>>>>   /* Called prior to relocation */
>>>>   int serial_init(void)
>>>>   {
>>>> -       serial_find_console_or_panic();
>>>> +       serial_find_console();
>>>>          gd->flags |= GD_FLG_SERIAL_READY;
>>>>
>>>>          return 0;
>>>> @@ -93,7 +91,7 @@ int serial_init(void)
>>>>   /* Called after relocation */
>>>>   void serial_initialize(void)
>>>>   {
>>>> -       serial_find_console_or_panic();
>>>> +       serial_find_console();
>>>>   }
>>>>
>>>>   static void _serial_putc(struct udevice *dev, char ch)
>>>
>>>
>>> How is this handled before driver model?
>>
>>
>> It was not, the boards involved all use the A13 SoC which is the
>> same die as the A10s but then in a different (cheaper) package
>> with way less pins. As such uart0 is not routed to the outside
>> on the A13. When not setting CONFIG_DM_SERIAL we are simply using
>> uart0 as serial console, and that ends at the bonding pads at the
>> edge of the die. doing things that way is not really useful,
>> but there is a serial console and u-boot is happy.
>>
>> In the non devicetree world this sort of was a natural hack, we
>> simply left CONSOLE_INDEX undefined for these boards, which causes
>> it to default to 1 / uart0 and things just work. I had never given
>> this much thought until moving to devicetree.
>>
>> As you can hopefully understand I do not want to do the samething
>> with DM_SERIAL builds as that would require hacking up the dts
>> to add a node for hardware which is effectively disabled for the
>> A13 package of the sun5i die.
>>
>>  > It is possible to mark a
>>>
>>> device disabled in device tree - perhaps we should have a way to see
>>> that the console is present (i.e. there is an alias) but it is
>>> disabled?
>>
>>
>> That seems rather ugly, I really do not want to add an alias to
>> a non enabled device, that just feels wrong on all levels.
>>
>>> Normally a serial console is required, so I'd like to preserve this
>>> behaviour for most boards.
>>
>>
>> Ok, I actually expected as much, this was actually my second solution
>> for the problem at hand, but as it was the simplest solution I decided
>> to submit this version first. My first / original solution is to add a
>> CONFIG_DM_SERIAL_NO_PANIC Kconfig option which can then be set on boards
>> which have no serial port.
>>
>> Or probably better a CONFIG_DM_SERIAL_NO_SERIAL_CONSOLE option ?
>>
>> This option would disable the panic / disable probing all together while
>> we would keep using DM_SERIAL on these boards, because:
>>
>> 1) Consistency I really want to use DM_FOO everywhere for sunxi
>> 2) The non dm serial code cannot handle not having a serial port either,
>>     and fixing it looks like it is going to be a bit harder (from a quick
>>     glance).
>
>
> You probably just have not gotten around to this yet, but in case it is
> not clear, the above solution (adding a CONFIG_DM_SERIAL_NO_SERIAL_CONSOLE
> Kconfig option) is a suggestion on how to fix. I'll happily implement this
> if people like it, but atm I'm waiting for feedback on the suggestion.
>

I've been thinking about it. Perhaps an option to allow U-Boot to run
without a console is best. But instead of CONFIG_DM_SERIAL_NO_PANIC,
perhaps we could have CONFIG_REQUIRE_CONSOLE which is normally y. I
don't think this has anything to do with driver model and we should
try to use CONFIG_DM... only when the old and new code paths coexist.

I added Masahiro also in case he has ideas.

> Regards,
>
> Hans
>
> p.s.
>
> I'm on vacation from July 11th - July 19th, so if I'm quiet that is why :)

Have fun!

Regards,
Simon

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

* [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found
  2015-07-08 14:08         ` Simon Glass
@ 2015-07-08 14:16           ` Hans de Goede
  2015-07-08 20:20             ` Simon Glass
  0 siblings, 1 reply; 13+ messages in thread
From: Hans de Goede @ 2015-07-08 14:16 UTC (permalink / raw)
  To: u-boot

Hi,

On 08-07-15 16:08, Simon Glass wrote:
> +Masahiro
>
> Hi Hans,
>
> On 8 July 2015 at 05:56, Hans de Goede <hdegoede@redhat.com> wrote:
>> Hi Simon,
>>
>>
>> On 07-07-15 09:00, Hans de Goede wrote:
>>>
>>> Hi,
>>>
>>> On 06-07-15 18:39, Simon Glass wrote:
>>>>
>>>> Hi Hans,
>>>>
>>>> On 5 July 2015 at 12:56, Hans de Goede <hdegoede@redhat.com> wrote:
>>>>>
>>>>> Some boards simply do not have any serial ports. Also no one will see
>>>>> the
>>>>> panic message as there is no where to print it if no serial port is
>>>>> found
>>>>> (and other stdout options are not yet set up at this point).
>>>>>
>>>>
>>>> It is visible (or will be when some patches land) if you have a debug
>>>> UART set up.
>>>
>>>
>>> Ok.
>>>
>>>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>>>> ---
>>>>>    drivers/serial/serial-uclass.c | 8 +++-----
>>>>>    1 file changed, 3 insertions(+), 5 deletions(-)
>>>>>
>>>>> diff --git a/drivers/serial/serial-uclass.c
>>>>> b/drivers/serial/serial-uclass.c
>>>>> index 815fec3..f036499 100644
>>>>> --- a/drivers/serial/serial-uclass.c
>>>>> +++ b/drivers/serial/serial-uclass.c
>>>>> @@ -27,7 +27,7 @@ static const unsigned long baudrate_table[] =
>>>>> CONFIG_SYS_BAUDRATE_TABLE;
>>>>>    #error "Serial is required before relocation - define
>>>>> CONFIG_SYS_MALLOC_F_LEN to make this work"
>>>>>    #endif
>>>>>
>>>>> -static void serial_find_console_or_panic(void)
>>>>> +static void serial_find_console(void)
>>>>>    {
>>>>>           struct udevice *dev;
>>>>>           int node;
>>>>> @@ -77,14 +77,12 @@ static void serial_find_console_or_panic(void)
>>>>>                   }
>>>>>    #undef INDEX
>>>>>           }
>>>>> -
>>>>> -       panic_str("No serial driver found");
>>>>>    }
>>>>>
>>>>>    /* Called prior to relocation */
>>>>>    int serial_init(void)
>>>>>    {
>>>>> -       serial_find_console_or_panic();
>>>>> +       serial_find_console();
>>>>>           gd->flags |= GD_FLG_SERIAL_READY;
>>>>>
>>>>>           return 0;
>>>>> @@ -93,7 +91,7 @@ int serial_init(void)
>>>>>    /* Called after relocation */
>>>>>    void serial_initialize(void)
>>>>>    {
>>>>> -       serial_find_console_or_panic();
>>>>> +       serial_find_console();
>>>>>    }
>>>>>
>>>>>    static void _serial_putc(struct udevice *dev, char ch)
>>>>
>>>>
>>>> How is this handled before driver model?
>>>
>>>
>>> It was not, the boards involved all use the A13 SoC which is the
>>> same die as the A10s but then in a different (cheaper) package
>>> with way less pins. As such uart0 is not routed to the outside
>>> on the A13. When not setting CONFIG_DM_SERIAL we are simply using
>>> uart0 as serial console, and that ends at the bonding pads at the
>>> edge of the die. doing things that way is not really useful,
>>> but there is a serial console and u-boot is happy.
>>>
>>> In the non devicetree world this sort of was a natural hack, we
>>> simply left CONSOLE_INDEX undefined for these boards, which causes
>>> it to default to 1 / uart0 and things just work. I had never given
>>> this much thought until moving to devicetree.
>>>
>>> As you can hopefully understand I do not want to do the samething
>>> with DM_SERIAL builds as that would require hacking up the dts
>>> to add a node for hardware which is effectively disabled for the
>>> A13 package of the sun5i die.
>>>
>>>   > It is possible to mark a
>>>>
>>>> device disabled in device tree - perhaps we should have a way to see
>>>> that the console is present (i.e. there is an alias) but it is
>>>> disabled?
>>>
>>>
>>> That seems rather ugly, I really do not want to add an alias to
>>> a non enabled device, that just feels wrong on all levels.
>>>
>>>> Normally a serial console is required, so I'd like to preserve this
>>>> behaviour for most boards.
>>>
>>>
>>> Ok, I actually expected as much, this was actually my second solution
>>> for the problem at hand, but as it was the simplest solution I decided
>>> to submit this version first. My first / original solution is to add a
>>> CONFIG_DM_SERIAL_NO_PANIC Kconfig option which can then be set on boards
>>> which have no serial port.
>>>
>>> Or probably better a CONFIG_DM_SERIAL_NO_SERIAL_CONSOLE option ?
>>>
>>> This option would disable the panic / disable probing all together while
>>> we would keep using DM_SERIAL on these boards, because:
>>>
>>> 1) Consistency I really want to use DM_FOO everywhere for sunxi
>>> 2) The non dm serial code cannot handle not having a serial port either,
>>>      and fixing it looks like it is going to be a bit harder (from a quick
>>>      glance).
>>
>>
>> You probably just have not gotten around to this yet, but in case it is
>> not clear, the above solution (adding a CONFIG_DM_SERIAL_NO_SERIAL_CONSOLE
>> Kconfig option) is a suggestion on how to fix. I'll happily implement this
>> if people like it, but atm I'm waiting for feedback on the suggestion.
>>
>
> I've been thinking about it. Perhaps an option to allow U-Boot to run
> without a console is best. But instead of CONFIG_DM_SERIAL_NO_PANIC,
> perhaps we could have CONFIG_REQUIRE_CONSOLE which is normally y.

That works for me, although I would prefer CONFIG_REQUIRE_SERIAL_CONSOLE,
the boards in question do have a console in the form of a cfb console.

Regards,

Hans

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

* [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found
  2015-07-08 14:16           ` Hans de Goede
@ 2015-07-08 20:20             ` Simon Glass
  0 siblings, 0 replies; 13+ messages in thread
From: Simon Glass @ 2015-07-08 20:20 UTC (permalink / raw)
  To: u-boot

Hi Hans,

On 8 July 2015 at 08:16, Hans de Goede <hdegoede@redhat.com> wrote:
> Hi,
>
>
> On 08-07-15 16:08, Simon Glass wrote:
>>
>> +Masahiro
>>
>> Hi Hans,
>>
>> On 8 July 2015 at 05:56, Hans de Goede <hdegoede@redhat.com> wrote:
>>>
>>> Hi Simon,
>>>
>>>
>>> On 07-07-15 09:00, Hans de Goede wrote:
>>>>
>>>>
>>>> Hi,
>>>>
>>>> On 06-07-15 18:39, Simon Glass wrote:
>>>>>
>>>>>
>>>>> Hi Hans,
>>>>>
>>>>> On 5 July 2015 at 12:56, Hans de Goede <hdegoede@redhat.com> wrote:
>>>>>>
>>>>>>
>>>>>> Some boards simply do not have any serial ports. Also no one will see
>>>>>> the
>>>>>> panic message as there is no where to print it if no serial port is
>>>>>> found
>>>>>> (and other stdout options are not yet set up at this point).
>>>>>>
>>>>>
>>>>> It is visible (or will be when some patches land) if you have a debug
>>>>> UART set up.
>>>>
>>>>
>>>>
>>>> Ok.
>>>>
>>>>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>>>>> ---
>>>>>>    drivers/serial/serial-uclass.c | 8 +++-----
>>>>>>    1 file changed, 3 insertions(+), 5 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/serial/serial-uclass.c
>>>>>> b/drivers/serial/serial-uclass.c
>>>>>> index 815fec3..f036499 100644
>>>>>> --- a/drivers/serial/serial-uclass.c
>>>>>> +++ b/drivers/serial/serial-uclass.c
>>>>>> @@ -27,7 +27,7 @@ static const unsigned long baudrate_table[] =
>>>>>> CONFIG_SYS_BAUDRATE_TABLE;
>>>>>>    #error "Serial is required before relocation - define
>>>>>> CONFIG_SYS_MALLOC_F_LEN to make this work"
>>>>>>    #endif
>>>>>>
>>>>>> -static void serial_find_console_or_panic(void)
>>>>>> +static void serial_find_console(void)
>>>>>>    {
>>>>>>           struct udevice *dev;
>>>>>>           int node;
>>>>>> @@ -77,14 +77,12 @@ static void serial_find_console_or_panic(void)
>>>>>>                   }
>>>>>>    #undef INDEX
>>>>>>           }
>>>>>> -
>>>>>> -       panic_str("No serial driver found");
>>>>>>    }
>>>>>>
>>>>>>    /* Called prior to relocation */
>>>>>>    int serial_init(void)
>>>>>>    {
>>>>>> -       serial_find_console_or_panic();
>>>>>> +       serial_find_console();
>>>>>>           gd->flags |= GD_FLG_SERIAL_READY;
>>>>>>
>>>>>>           return 0;
>>>>>> @@ -93,7 +91,7 @@ int serial_init(void)
>>>>>>    /* Called after relocation */
>>>>>>    void serial_initialize(void)
>>>>>>    {
>>>>>> -       serial_find_console_or_panic();
>>>>>> +       serial_find_console();
>>>>>>    }
>>>>>>
>>>>>>    static void _serial_putc(struct udevice *dev, char ch)
>>>>>
>>>>>
>>>>>
>>>>> How is this handled before driver model?
>>>>
>>>>
>>>>
>>>> It was not, the boards involved all use the A13 SoC which is the
>>>> same die as the A10s but then in a different (cheaper) package
>>>> with way less pins. As such uart0 is not routed to the outside
>>>> on the A13. When not setting CONFIG_DM_SERIAL we are simply using
>>>> uart0 as serial console, and that ends at the bonding pads at the
>>>> edge of the die. doing things that way is not really useful,
>>>> but there is a serial console and u-boot is happy.
>>>>
>>>> In the non devicetree world this sort of was a natural hack, we
>>>> simply left CONSOLE_INDEX undefined for these boards, which causes
>>>> it to default to 1 / uart0 and things just work. I had never given
>>>> this much thought until moving to devicetree.
>>>>
>>>> As you can hopefully understand I do not want to do the samething
>>>> with DM_SERIAL builds as that would require hacking up the dts
>>>> to add a node for hardware which is effectively disabled for the
>>>> A13 package of the sun5i die.
>>>>
>>>>   > It is possible to mark a
>>>>>
>>>>>
>>>>> device disabled in device tree - perhaps we should have a way to see
>>>>> that the console is present (i.e. there is an alias) but it is
>>>>> disabled?
>>>>
>>>>
>>>>
>>>> That seems rather ugly, I really do not want to add an alias to
>>>> a non enabled device, that just feels wrong on all levels.
>>>>
>>>>> Normally a serial console is required, so I'd like to preserve this
>>>>> behaviour for most boards.
>>>>
>>>>
>>>>
>>>> Ok, I actually expected as much, this was actually my second solution
>>>> for the problem at hand, but as it was the simplest solution I decided
>>>> to submit this version first. My first / original solution is to add a
>>>> CONFIG_DM_SERIAL_NO_PANIC Kconfig option which can then be set on boards
>>>> which have no serial port.
>>>>
>>>> Or probably better a CONFIG_DM_SERIAL_NO_SERIAL_CONSOLE option ?
>>>>
>>>> This option would disable the panic / disable probing all together while
>>>> we would keep using DM_SERIAL on these boards, because:
>>>>
>>>> 1) Consistency I really want to use DM_FOO everywhere for sunxi
>>>> 2) The non dm serial code cannot handle not having a serial port either,
>>>>      and fixing it looks like it is going to be a bit harder (from a
>>>> quick
>>>>      glance).
>>>
>>>
>>>
>>> You probably just have not gotten around to this yet, but in case it is
>>> not clear, the above solution (adding a
>>> CONFIG_DM_SERIAL_NO_SERIAL_CONSOLE
>>> Kconfig option) is a suggestion on how to fix. I'll happily implement
>>> this
>>> if people like it, but atm I'm waiting for feedback on the suggestion.
>>>
>>
>> I've been thinking about it. Perhaps an option to allow U-Boot to run
>> without a console is best. But instead of CONFIG_DM_SERIAL_NO_PANIC,
>> perhaps we could have CONFIG_REQUIRE_CONSOLE which is normally y.
>
>
> That works for me, although I would prefer CONFIG_REQUIRE_SERIAL_CONSOLE,
> the boards in question do have a console in the form of a cfb console.

SGTM thanks Hans.

Regards,
Simon

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

end of thread, other threads:[~2015-07-08 20:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-05 18:56 [U-Boot] [PATCH 0/3] sunxi: Update selects in arch/arm/Kconfig for DM Hans de Goede
2015-07-05 18:56 ` [U-Boot] [PATCH 1/3] dm: serial: Do not panic if no serial ports are found Hans de Goede
2015-07-06 16:39   ` Simon Glass
2015-07-07  7:00     ` Hans de Goede
2015-07-08 11:56       ` Hans de Goede
2015-07-08 14:08         ` Simon Glass
2015-07-08 14:16           ` Hans de Goede
2015-07-08 20:20             ` Simon Glass
2015-07-05 18:56 ` [U-Boot] [PATCH 2/3] sunxi: Update selects in arch/arm/Kconfig for DM conversions Hans de Goede
2015-07-06 16:39   ` Simon Glass
2015-07-07  7:27   ` Ian Campbell
2015-07-05 18:56 ` [U-Boot] [PATCH 3/3] sunxi: Enable CMD_USB and USB_STORAGE by default on sunxi Hans de Goede
2015-07-06 16:39   ` Simon Glass

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.