public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/3] sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option
@ 2016-04-02 19:10 Hans de Goede
  2016-04-02 19:10 ` [U-Boot] [PATCH 2/3] sunxi: Set DCDC1 to 3.3V on the Sinovoip BPI M3 Hans de Goede
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Hans de Goede @ 2016-04-02 19:10 UTC (permalink / raw)
  To: u-boot

Some boards have on board usb devices which need longer then the USB
spec's 1 second to connect from board powerup. Add a config option which
when non 0 adds an extra delay before the first usb bus scan.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 arch/arm/mach-sunxi/usb_phy.c | 7 +++++++
 board/sunxi/Kconfig           | 9 +++++++++
 2 files changed, 16 insertions(+)

diff --git a/arch/arm/mach-sunxi/usb_phy.c b/arch/arm/mach-sunxi/usb_phy.c
index b258ce4..f9993d2 100644
--- a/arch/arm/mach-sunxi/usb_phy.c
+++ b/arch/arm/mach-sunxi/usb_phy.c
@@ -85,6 +85,8 @@ static struct sunxi_usb_phy {
 #endif
 };
 
+static int initial_usb_scan_delay = CONFIG_INITIAL_USB_SCAN_DELAY;
+
 static int get_vbus_gpio(int index)
 {
 	switch (index) {
@@ -269,6 +271,11 @@ void sunxi_usb_phy_power_on(int index)
 {
 	struct sunxi_usb_phy *phy = &sunxi_usb_phy[index];
 
+	if (initial_usb_scan_delay) {
+		mdelay(initial_usb_scan_delay);
+		initial_usb_scan_delay = 0;
+	}
+
 	phy->power_on_count++;
 	if (phy->power_on_count != 1)
 		return;
diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
index 464fa0f..2b0d1df 100644
--- a/board/sunxi/Kconfig
+++ b/board/sunxi/Kconfig
@@ -312,6 +312,15 @@ config MMC_SUNXI_SLOT_EXTRA
 	slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
 	support for this.
 
+config INITIAL_USB_SCAN_DELAY
+	int "delay initial usb scan by x ms to allow builtin devices to init"
+	default 0
+	---help---
+	Some boards have on board usb devices which need longer then the
+	USB spec's 1 second to connect from board powerup. Set this config
+	option to a non 0 value to add an extra delay before the first usb
+	bus scan.
+
 config USB0_VBUS_PIN
 	string "Vbus enable pin for usb0 (otg)"
 	default ""
-- 
2.7.2

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

* [U-Boot] [PATCH 2/3] sunxi: Set DCDC1 to 3.3V on the Sinovoip BPI M3
  2016-04-02 19:10 [U-Boot] [PATCH 1/3] sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option Hans de Goede
@ 2016-04-02 19:10 ` Hans de Goede
  2016-04-05  9:42   ` Ian Campbell
  2016-04-02 19:10 ` [U-Boot] [PATCH 3/3] sunxi: Enable usb ports " Hans de Goede
  2016-04-05  9:42 ` [U-Boot] [PATCH 1/3] sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option Ian Campbell
  2 siblings, 1 reply; 9+ messages in thread
From: Hans de Goede @ 2016-04-02 19:10 UTC (permalink / raw)
  To: u-boot

This is the value used in the fex file of the manufacturer images,
and also the DCDC1 default. Sometimes lower values are used to save
battery power, but that does not apply to a SBC.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 configs/Sinovoip_BPI_M3_defconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/configs/Sinovoip_BPI_M3_defconfig b/configs/Sinovoip_BPI_M3_defconfig
index ffb9b7a..3c7f167 100644
--- a/configs/Sinovoip_BPI_M3_defconfig
+++ b/configs/Sinovoip_BPI_M3_defconfig
@@ -12,5 +12,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_AXP_DCDC1_VOLT=3000
 CONFIG_AXP_DCDC5_VOLT=1200
-- 
2.7.2

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

* [U-Boot] [PATCH 3/3] sunxi: Enable usb ports on the Sinovoip BPI M3
  2016-04-02 19:10 [U-Boot] [PATCH 1/3] sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option Hans de Goede
  2016-04-02 19:10 ` [U-Boot] [PATCH 2/3] sunxi: Set DCDC1 to 3.3V on the Sinovoip BPI M3 Hans de Goede
@ 2016-04-02 19:10 ` Hans de Goede
  2016-04-05  9:44   ` Ian Campbell
  2016-04-05  9:42 ` [U-Boot] [PATCH 1/3] sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option Ian Campbell
  2 siblings, 1 reply; 9+ messages in thread
From: Hans de Goede @ 2016-04-02 19:10 UTC (permalink / raw)
  To: u-boot

DLDO3 is used to provide Port-D power and PD is used for the
usb-hub / sata-5v enable pins. The 2.5V comes from the schematic
and matches the factory image fex file.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 arch/arm/dts/sun8i-a83t-sinovoip-bpi-m3.dts | 8 ++++++++
 configs/Sinovoip_BPI_M3_defconfig           | 9 +++++++++
 2 files changed, 17 insertions(+)

diff --git a/arch/arm/dts/sun8i-a83t-sinovoip-bpi-m3.dts b/arch/arm/dts/sun8i-a83t-sinovoip-bpi-m3.dts
index 91ff3a9..dfc16a0 100644
--- a/arch/arm/dts/sun8i-a83t-sinovoip-bpi-m3.dts
+++ b/arch/arm/dts/sun8i-a83t-sinovoip-bpi-m3.dts
@@ -57,8 +57,16 @@
 	};
 };
 
+&ehci0 {
+	status = "okay";
+};
+
 &uart0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart0_pins_b>;
 	status = "okay";
 };
+
+&usb_otg {
+	status = "okay";
+};
diff --git a/configs/Sinovoip_BPI_M3_defconfig b/configs/Sinovoip_BPI_M3_defconfig
index 3c7f167..d3fd857 100644
--- a/configs/Sinovoip_BPI_M3_defconfig
+++ b/configs/Sinovoip_BPI_M3_defconfig
@@ -5,6 +5,11 @@ CONFIG_DRAM_TYPE=7
 CONFIG_DRAM_CLK=480
 CONFIG_DRAM_ZQ=15355
 CONFIG_DRAM_ODT_EN=y
+CONFIG_INITIAL_USB_SCAN_DELAY=500
+CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
+CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
+CONFIG_USB0_ID_DET="PH11"
+CONFIG_USB1_VBUS_PIN="PD24"
 CONFIG_AXP_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a83t-sinovoip-bpi-m3"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
@@ -13,3 +18,7 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_AXP_DCDC5_VOLT=1200
+CONFIG_AXP_DLDO3_VOLT=2500
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_MUSB_HOST=y
+CONFIG_SYS_EXTRA_OPTIONS="SATAPWR=SUNXI_GPD(25)"
-- 
2.7.2

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

* [U-Boot] [PATCH 1/3] sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option
  2016-04-02 19:10 [U-Boot] [PATCH 1/3] sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option Hans de Goede
  2016-04-02 19:10 ` [U-Boot] [PATCH 2/3] sunxi: Set DCDC1 to 3.3V on the Sinovoip BPI M3 Hans de Goede
  2016-04-02 19:10 ` [U-Boot] [PATCH 3/3] sunxi: Enable usb ports " Hans de Goede
@ 2016-04-05  9:42 ` Ian Campbell
  2 siblings, 0 replies; 9+ messages in thread
From: Ian Campbell @ 2016-04-05  9:42 UTC (permalink / raw)
  To: u-boot

On Sat, 2016-04-02 at 21:10 +0200, Hans de Goede wrote:
> Some boards have on board usb devices which need longer then the USB
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ^than

(and in the Kconfig too)

> spec's 1 second to connect from board powerup. Add a config option which
> when non 0 adds an extra delay before the first usb bus scan.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Apart from that:

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

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

* [U-Boot] [PATCH 2/3] sunxi: Set DCDC1 to 3.3V on the Sinovoip BPI M3
  2016-04-02 19:10 ` [U-Boot] [PATCH 2/3] sunxi: Set DCDC1 to 3.3V on the Sinovoip BPI M3 Hans de Goede
@ 2016-04-05  9:42   ` Ian Campbell
  0 siblings, 0 replies; 9+ messages in thread
From: Ian Campbell @ 2016-04-05  9:42 UTC (permalink / raw)
  To: u-boot

On Sat, 2016-04-02 at 21:10 +0200, Hans de Goede wrote:
> This is the value used in the fex file of the manufacturer images,
> and also the DCDC1 default. Sometimes lower values are used to save
> battery power, but that does not apply to a SBC.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

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

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

* [U-Boot] [PATCH 3/3] sunxi: Enable usb ports on the Sinovoip BPI M3
  2016-04-02 19:10 ` [U-Boot] [PATCH 3/3] sunxi: Enable usb ports " Hans de Goede
@ 2016-04-05  9:44   ` Ian Campbell
  2016-04-05  9:51     ` Hans de Goede
  0 siblings, 1 reply; 9+ messages in thread
From: Ian Campbell @ 2016-04-05  9:44 UTC (permalink / raw)
  To: u-boot

On Sat, 2016-04-02 at 21:10 +0200, Hans de Goede wrote:
> DLDO3 is used to provide Port-D power and PD is used for the
> usb-hub / sata-5v enable pins. The 2.5V comes from the schematic
> and matches the factory image fex file.

Is the dts update being sync'd from the kernel?

If yes:

> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

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

If you also want to mention the kernel sync in the commit message, you
can also retain the ack (of course).

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

* [U-Boot] [PATCH 3/3] sunxi: Enable usb ports on the Sinovoip BPI M3
  2016-04-05  9:44   ` Ian Campbell
@ 2016-04-05  9:51     ` Hans de Goede
  2016-04-05 10:44       ` Ian Campbell
  0 siblings, 1 reply; 9+ messages in thread
From: Hans de Goede @ 2016-04-05  9:51 UTC (permalink / raw)
  To: u-boot

Hi,

On 05-04-16 11:44, Ian Campbell wrote:
> On Sat, 2016-04-02 at 21:10 +0200, Hans de Goede wrote:
>> DLDO3 is used to provide Port-D power and PD is used for the
>> usb-hub / sata-5v enable pins. The 2.5V comes from the schematic
>> and matches the factory image fex file.
>
> Is the dts update being sync'd from the kernel?

Erm, no actually, the A83t USB support for the kernel is not entirely
ready, so we've some very minimal nodes in u-boot's a83t.dtsi for now,
which will get replaced with the real deal when we sync in the future.

The only thing u-boot cares about are controller base address and
the compatible string, and there is no discussion about those,
which is why I merged ChenYu's .dtsi patches with the minimal nodes,
this commit just enables these nodes in the M3 dts.

I do expect the eventual kernel m3.dts changes to be pretty much
identical.

> If yes:
>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>
> Acked-by: Ian Campbell <ijc@hellion.org.uk>
>
> If you also want to mention the kernel sync in the commit message, you
> can also retain the ack (of course).

Regards,

Hans

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

* [U-Boot] [PATCH 3/3] sunxi: Enable usb ports on the Sinovoip BPI M3
  2016-04-05  9:51     ` Hans de Goede
@ 2016-04-05 10:44       ` Ian Campbell
  2016-04-09 11:59         ` Hans de Goede
  0 siblings, 1 reply; 9+ messages in thread
From: Ian Campbell @ 2016-04-05 10:44 UTC (permalink / raw)
  To: u-boot

On Tue, 2016-04-05 at 11:51 +0200, Hans de Goede wrote:
> Hi,
> 
> On 05-04-16 11:44, Ian Campbell wrote:
> > 
> > On Sat, 2016-04-02 at 21:10 +0200, Hans de Goede wrote:
> > > 
> > > DLDO3 is used to provide Port-D power and PD is used for the
> > > usb-hub / sata-5v enable pins. The 2.5V comes from the schematic
> > > and matches the factory image fex file.
> > Is the dts update being sync'd from the kernel?
> Erm, no actually, the A83t USB support for the kernel is not entirely
> ready, so we've some very minimal nodes in u-boot's a83t.dtsi for
> now,
> which will get replaced with the real deal when we sync in the
> future.
> 
> The only thing u-boot cares about are controller base address and
> the compatible string, and there is no discussion about those,
> which is why I merged ChenYu's .dtsi patches with the minimal nodes,
> this commit just enables these nodes in the M3 dts.

Ah, ok. Is it worth mentioning that in the commit log for clarity
(think of someone doing a resync with the kernel and getting confused
by the non-kernel bits)?

Maybe the commit message on the orignal addition makes it unnecessary?
If you think that's the case then you can keep my Ack.

Ian.

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

* [U-Boot] [PATCH 3/3] sunxi: Enable usb ports on the Sinovoip BPI M3
  2016-04-05 10:44       ` Ian Campbell
@ 2016-04-09 11:59         ` Hans de Goede
  0 siblings, 0 replies; 9+ messages in thread
From: Hans de Goede @ 2016-04-09 11:59 UTC (permalink / raw)
  To: u-boot

Hi,

On 05-04-16 12:44, Ian Campbell wrote:
> On Tue, 2016-04-05 at 11:51 +0200, Hans de Goede wrote:
>> Hi,
>>
>> On 05-04-16 11:44, Ian Campbell wrote:
>>>
>>> On Sat, 2016-04-02 at 21:10 +0200, Hans de Goede wrote:
>>>>
>>>> DLDO3 is used to provide Port-D power and PD is used for the
>>>> usb-hub / sata-5v enable pins. The 2.5V comes from the schematic
>>>> and matches the factory image fex file.
>>> Is the dts update being sync'd from the kernel?
>> Erm, no actually, the A83t USB support for the kernel is not entirely
>> ready, so we've some very minimal nodes in u-boot's a83t.dtsi for
>> now,
>> which will get replaced with the real deal when we sync in the
>> future.
>>
>> The only thing u-boot cares about are controller base address and
>> the compatible string, and there is no discussion about those,
>> which is why I merged ChenYu's .dtsi patches with the minimal nodes,
>> this commit just enables these nodes in the M3 dts.
>
> Ah, ok. Is it worth mentioning that in the commit log for clarity
> (think of someone doing a resync with the kernel and getting confused
> by the non-kernel bits)?

Ack, I've added the following paragraph to the commit msg now:

"The dts changes are the minimal changes needed for u-boot to
pick-up the usb host controllers. The upstream kernel does not
(yet) have usb host support."

Regards,

Hans

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

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

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-02 19:10 [U-Boot] [PATCH 1/3] sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option Hans de Goede
2016-04-02 19:10 ` [U-Boot] [PATCH 2/3] sunxi: Set DCDC1 to 3.3V on the Sinovoip BPI M3 Hans de Goede
2016-04-05  9:42   ` Ian Campbell
2016-04-02 19:10 ` [U-Boot] [PATCH 3/3] sunxi: Enable usb ports " Hans de Goede
2016-04-05  9:44   ` Ian Campbell
2016-04-05  9:51     ` Hans de Goede
2016-04-05 10:44       ` Ian Campbell
2016-04-09 11:59         ` Hans de Goede
2016-04-05  9:42 ` [U-Boot] [PATCH 1/3] sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox