From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Tue, 7 Jan 2014 10:15:31 +0100 Subject: [U-Boot] [PATCH 7/8] smdk5420: Correct the vbus gpio configuration for USB controller In-Reply-To: References: <1389000583-20758-1-git-send-email-gautam.vivek@samsung.com> <201401070849.23711.marex@denx.de> Message-ID: <201401071015.31344.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tuesday, January 07, 2014 at 10:03:01 AM, Vivek Gautam wrote: > On Tue, Jan 7, 2014 at 1:19 PM, Marek Vasut 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 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 > >> >> --- > >> >> > >> >> 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