Re: [U-Boot] [PATCH 7/8] smdk5420: Correct the vbus gpio configuration for USB controller
On Tuesday, January 07, 2014 at 07:37:46 AM, Vivek Gautam wrote: Hi Marek, On Mon, Jan 6, 2014 at 9:22 PM, Marek Vasut ma...@denx.de wrote: On Monday, January 06, 2014 at 10:29:42 AM, Vivek Gautam wrote: On smdk5420 two availbale XHCI controllers require VBUS GPIO to be configured, the EHCI however doesn't have any such VBUS GPIO. So correcting the available board_usb_vbus_init() function to the needs. Signed-off-by: Vivek Gautam gautam.vi...@samsung.com --- board/samsung/smdk5420/smdk5420.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/board/samsung/smdk5420/smdk5420.c b/board/samsung/smdk5420/smdk5420.c index 3ad2ad0..4f23000 100644 --- a/board/samsung/smdk5420/smdk5420.c +++ b/board/samsung/smdk5420/smdk5420.c @@ -18,14 +18,15 @@ DECLARE_GLOBAL_DATA_PTR; -#ifdef CONFIG_USB_EHCI_EXYNOS +#ifdef CONFIG_USB_XHCI_EXYNOS static int board_usb_vbus_init(void) { - struct exynos5_gpio_part1 *gpio1 = (struct exynos5_gpio_part1 *) - samsung_get_base_gpio_part1(); + struct exynos5420_gpio_part4 *gpio4 = (struct exynos5420_gpio_part4 *) + samsung_get_base_gpio_part4(); /* Enable VBUS power switch */ - s5p_gpio_direction_output(gpio1-x2, 6, 1); + s5p_gpio_direction_output(gpio4-g0, 5, 1); + s5p_gpio_direction_output(gpio4-g1, 4, 1); This VBUS toggling should happen on per-port basis, right ? No this VBUS gpio toggling is actually enabling the VBUS line of the controller. And since we have 2 controllers on exynos5420, so added the required 2 gpios for the purpose (GPG0[5], and GPG1[4]). So if I understand this correctly, it should happen on per-controller basis then? Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 7/8] smdk5420: Correct the vbus gpio configuration for USB controller
On Tue, Jan 7, 2014 at 1:19 PM, Marek Vasut ma...@denx.de wrote: On Tuesday, January 07, 2014 at 07:37:46 AM, Vivek Gautam wrote: Hi Marek, On Mon, Jan 6, 2014 at 9:22 PM, Marek Vasut ma...@denx.de wrote: On Monday, January 06, 2014 at 10:29:42 AM, Vivek Gautam wrote: On smdk5420 two availbale XHCI controllers require VBUS GPIO to be configured, the EHCI however doesn't have any such VBUS GPIO. So correcting the available board_usb_vbus_init() function to the needs. Signed-off-by: Vivek Gautam gautam.vi...@samsung.com --- board/samsung/smdk5420/smdk5420.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/board/samsung/smdk5420/smdk5420.c b/board/samsung/smdk5420/smdk5420.c index 3ad2ad0..4f23000 100644 --- a/board/samsung/smdk5420/smdk5420.c +++ b/board/samsung/smdk5420/smdk5420.c @@ -18,14 +18,15 @@ DECLARE_GLOBAL_DATA_PTR; -#ifdef CONFIG_USB_EHCI_EXYNOS +#ifdef CONFIG_USB_XHCI_EXYNOS static int board_usb_vbus_init(void) { - struct exynos5_gpio_part1 *gpio1 = (struct exynos5_gpio_part1 *) - samsung_get_base_gpio_part1(); + struct exynos5420_gpio_part4 *gpio4 = (struct exynos5420_gpio_part4 *) + samsung_get_base_gpio_part4(); /* Enable VBUS power switch */ - s5p_gpio_direction_output(gpio1-x2, 6, 1); + s5p_gpio_direction_output(gpio4-g0, 5, 1); + s5p_gpio_direction_output(gpio4-g1, 4, 1); This VBUS toggling should happen on per-port basis, right ? No this VBUS gpio toggling is actually enabling the VBUS line of the controller. And since we have 2 controllers on exynos5420, so added the required 2 gpios for the purpose (GPG0[5], and GPG1[4]). So if I understand this correctly, it should happen on per-controller basis then? True, i thought of putting this in DT actually, similar to what we do for exynos5250 as also available in the patch : [PATCH 1/2] exynos5250: usb: Fix VBus gpio numbers for ehci and xhci controllers (http://patchwork.ozlabs.org/patch/306553/) But then the mathematics involved in gpio_direction_output() api doesn't yield me the correct gpio pin (which actually gave in case of Exynos5250). So i thought of putting it in the board file only. I should have put proper comment here although :-( Best regards, Marek Vasut -- Best Regards Vivek Gautam Samsung RD Institute, Bangalore India ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 7/8] smdk5420: Correct the vbus gpio configuration for USB controller
On Tuesday, January 07, 2014 at 10:03:01 AM, Vivek Gautam wrote: On Tue, Jan 7, 2014 at 1:19 PM, Marek Vasut ma...@denx.de wrote: On Tuesday, January 07, 2014 at 07:37:46 AM, Vivek Gautam wrote: Hi Marek, On Mon, Jan 6, 2014 at 9:22 PM, Marek Vasut ma...@denx.de wrote: On Monday, January 06, 2014 at 10:29:42 AM, Vivek Gautam wrote: On smdk5420 two availbale XHCI controllers require VBUS GPIO to be configured, the EHCI however doesn't have any such VBUS GPIO. So correcting the available board_usb_vbus_init() function to the needs. Signed-off-by: Vivek Gautam gautam.vi...@samsung.com --- board/samsung/smdk5420/smdk5420.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/board/samsung/smdk5420/smdk5420.c b/board/samsung/smdk5420/smdk5420.c index 3ad2ad0..4f23000 100644 --- a/board/samsung/smdk5420/smdk5420.c +++ b/board/samsung/smdk5420/smdk5420.c @@ -18,14 +18,15 @@ DECLARE_GLOBAL_DATA_PTR; -#ifdef CONFIG_USB_EHCI_EXYNOS +#ifdef CONFIG_USB_XHCI_EXYNOS static int board_usb_vbus_init(void) { - struct exynos5_gpio_part1 *gpio1 = (struct exynos5_gpio_part1 *) - samsung_get_base_gpio_part1(); + struct exynos5420_gpio_part4 *gpio4 = (struct exynos5420_gpio_part4 *) + samsung_get_base_gpio_part4(); /* Enable VBUS power switch */ - s5p_gpio_direction_output(gpio1-x2, 6, 1); + s5p_gpio_direction_output(gpio4-g0, 5, 1); + s5p_gpio_direction_output(gpio4-g1, 4, 1); This VBUS toggling should happen on per-port basis, right ? No this VBUS gpio toggling is actually enabling the VBUS line of the controller. And since we have 2 controllers on exynos5420, so added the required 2 gpios for the purpose (GPG0[5], and GPG1[4]). So if I understand this correctly, it should happen on per-controller basis then? True, i thought of putting this in DT actually, similar to what we do for exynos5250 as also available in the patch : [PATCH 1/2] exynos5250: usb: Fix VBus gpio numbers for ehci and xhci controllers (http://patchwork.ozlabs.org/patch/306553/) But then the mathematics involved in gpio_direction_output() api doesn't yield me the correct gpio pin (which actually gave in case of Exynos5250). Ugh, does that mean we have a breakage in the GPIO or DT stuff ? [...] Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 7/8] smdk5420: Correct the vbus gpio configuration for USB controller
On smdk5420 two availbale XHCI controllers require VBUS GPIO to be configured, the EHCI however doesn't have any such VBUS GPIO. So correcting the available board_usb_vbus_init() function to the needs. Signed-off-by: Vivek Gautam gautam.vi...@samsung.com --- board/samsung/smdk5420/smdk5420.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/board/samsung/smdk5420/smdk5420.c b/board/samsung/smdk5420/smdk5420.c index 3ad2ad0..4f23000 100644 --- a/board/samsung/smdk5420/smdk5420.c +++ b/board/samsung/smdk5420/smdk5420.c @@ -18,14 +18,15 @@ DECLARE_GLOBAL_DATA_PTR; -#ifdef CONFIG_USB_EHCI_EXYNOS +#ifdef CONFIG_USB_XHCI_EXYNOS static int board_usb_vbus_init(void) { - struct exynos5_gpio_part1 *gpio1 = (struct exynos5_gpio_part1 *) - samsung_get_base_gpio_part1(); + struct exynos5420_gpio_part4 *gpio4 = (struct exynos5420_gpio_part4 *) + samsung_get_base_gpio_part4(); /* Enable VBUS power switch */ - s5p_gpio_direction_output(gpio1-x2, 6, 1); + s5p_gpio_direction_output(gpio4-g0, 5, 1); + s5p_gpio_direction_output(gpio4-g1, 4, 1); /* VBUS turn ON time */ mdelay(3); @@ -36,7 +37,7 @@ static int board_usb_vbus_init(void) int exynos_init(void) { -#ifdef CONFIG_USB_EHCI_EXYNOS +#ifdef CONFIG_USB_XHCI_EXYNOS board_usb_vbus_init(); #endif return 0; -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 7/8] smdk5420: Correct the vbus gpio configuration for USB controller
On Monday, January 06, 2014 at 10:29:42 AM, Vivek Gautam wrote: On smdk5420 two availbale XHCI controllers require VBUS GPIO to be configured, the EHCI however doesn't have any such VBUS GPIO. So correcting the available board_usb_vbus_init() function to the needs. Signed-off-by: Vivek Gautam gautam.vi...@samsung.com --- board/samsung/smdk5420/smdk5420.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/board/samsung/smdk5420/smdk5420.c b/board/samsung/smdk5420/smdk5420.c index 3ad2ad0..4f23000 100644 --- a/board/samsung/smdk5420/smdk5420.c +++ b/board/samsung/smdk5420/smdk5420.c @@ -18,14 +18,15 @@ DECLARE_GLOBAL_DATA_PTR; -#ifdef CONFIG_USB_EHCI_EXYNOS +#ifdef CONFIG_USB_XHCI_EXYNOS static int board_usb_vbus_init(void) { - struct exynos5_gpio_part1 *gpio1 = (struct exynos5_gpio_part1 *) - samsung_get_base_gpio_part1(); + struct exynos5420_gpio_part4 *gpio4 = (struct exynos5420_gpio_part4 *) + samsung_get_base_gpio_part4(); /* Enable VBUS power switch */ - s5p_gpio_direction_output(gpio1-x2, 6, 1); + s5p_gpio_direction_output(gpio4-g0, 5, 1); + s5p_gpio_direction_output(gpio4-g1, 4, 1); This VBUS toggling should happen on per-port basis, right ? Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 7/8] smdk5420: Correct the vbus gpio configuration for USB controller
Hi Marek, On Mon, Jan 6, 2014 at 9:22 PM, Marek Vasut ma...@denx.de wrote: On Monday, January 06, 2014 at 10:29:42 AM, Vivek Gautam wrote: On smdk5420 two availbale XHCI controllers require VBUS GPIO to be configured, the EHCI however doesn't have any such VBUS GPIO. So correcting the available board_usb_vbus_init() function to the needs. Signed-off-by: Vivek Gautam gautam.vi...@samsung.com --- board/samsung/smdk5420/smdk5420.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/board/samsung/smdk5420/smdk5420.c b/board/samsung/smdk5420/smdk5420.c index 3ad2ad0..4f23000 100644 --- a/board/samsung/smdk5420/smdk5420.c +++ b/board/samsung/smdk5420/smdk5420.c @@ -18,14 +18,15 @@ DECLARE_GLOBAL_DATA_PTR; -#ifdef CONFIG_USB_EHCI_EXYNOS +#ifdef CONFIG_USB_XHCI_EXYNOS static int board_usb_vbus_init(void) { - struct exynos5_gpio_part1 *gpio1 = (struct exynos5_gpio_part1 *) - samsung_get_base_gpio_part1(); + struct exynos5420_gpio_part4 *gpio4 = (struct exynos5420_gpio_part4 *) + samsung_get_base_gpio_part4(); /* Enable VBUS power switch */ - s5p_gpio_direction_output(gpio1-x2, 6, 1); + s5p_gpio_direction_output(gpio4-g0, 5, 1); + s5p_gpio_direction_output(gpio4-g1, 4, 1); This VBUS toggling should happen on per-port basis, right ? No this VBUS gpio toggling is actually enabling the VBUS line of the controller. And since we have 2 controllers on exynos5420, so added the required 2 gpios for the purpose (GPG0[5], and GPG1[4]). Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot -- Best Regards Vivek Gautam Samsung RD Institute, Bangalore India ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot