Re: [PATCH] MIPS: BCM47XX: Enable USB power on Netgear WNDR3400v3

From: Hauke Mehrtens
Date: Sat Aug 25 2018 - 10:31:02 EST




On 08/19/2018 09:20 PM, Tuomas Tynkkynen wrote:
> Setting GPIO 21 high seems to be required to enable power to USB ports
> on the WNDR3400v3. As there is already similar code for WNR3500L,
> make the existing USB power GPIO code generic and use that.
>
> Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@xxxxxx>

I didn't runtime tested this and didn't checked the board, but this
looks good.

Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx>

> ---
> arch/mips/bcm47xx/workarounds.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/arch/mips/bcm47xx/workarounds.c b/arch/mips/bcm47xx/workarounds.c
> index 1a8a07e7a563..46eddbec8d9f 100644
> --- a/arch/mips/bcm47xx/workarounds.c
> +++ b/arch/mips/bcm47xx/workarounds.c
> @@ -5,9 +5,8 @@
> #include <bcm47xx_board.h>
> #include <bcm47xx.h>
>
> -static void __init bcm47xx_workarounds_netgear_wnr3500l(void)
> +static void __init bcm47xx_workarounds_enable_usb_power(int usb_power)
> {
> - const int usb_power = 12;
> int err;
>
> err = gpio_request_one(usb_power, GPIOF_OUT_INIT_HIGH, "usb_power");
> @@ -23,7 +22,10 @@ void __init bcm47xx_workarounds(void)
>
> switch (board) {
> case BCM47XX_BOARD_NETGEAR_WNR3500L:
> - bcm47xx_workarounds_netgear_wnr3500l();
> + bcm47xx_workarounds_enable_usb_power(12);
> + break;
> + case BCM47XX_BOARD_NETGEAR_WNDR3400_V3:
> + bcm47xx_workarounds_enable_usb_power(21);
> break;
> default:
> /* No workaround(s) needed */
>