RE: [PATCH] usb: chipidea: imx: unify over-current polarity handling
From: Matthew Starr <hidden>
Date: 2018-11-30 23:39:47
Also in:
linux-usb
-----Original Message----- From: Uwe Kleine-König [mailto:u.kleine-koenig@pengutronix.de] Sent: Friday, November 30, 2018 3:35 PM Hello Fabio, On Fri, Nov 30, 2018 at 07:16:39PM -0200, Fabio Estevam wrote:quoted
[Adding Matt] On Fri, Nov 30, 2018 at 6:53 PM Uwe Kleine-König [off-list ref] wrote:quoted
The status quo is: - on i.MX25 the overcurrent polarity is always explicitly configured as active high which matches the reset default. - on i.MX6 and i.MX7 the overcurrent polarity is active high after reset. usbmisc_imx6q_init() and usbmisc_imx7d_init() keep the current state (probably as setup by the bootloader or still the reset default) unless the polarity is explicitly configured as active high which then is configured. (So if the pin is active low and the bootloader didn't set this up the configuration is wrong.) To improve the situation always configure the reset default value unless the device tree configures the polarity (and then use this one). Note that as the reset default is active high on all platforms there is no need to check for the presence of "over-current-active-high". In the absence of "over-current-active-low" it doesn't matter if active high is configured because that's the default or because it is configured explicitly. Signed-off-by: Uwe Kleine-König <redacted>It seems that Matt is also interested in adding the 'over-current-active-low' property: https://patchwork.kernel.org/patch/10701311/Looking at Matt's patch I noticed that I applied my patch on an old kernel version (4.14) :-| But I think Matt's patch is broken because in usbmisc_imx6q_init() in the last else branch MX6_BM_OVER_CUR_POLARITY isn't cleared. Other than that they don't look that different semantically. I will respin my patch on Monday.
Uwe, You are correct that I missed the clearing of MX6_BM_OVER_CUR_POLARITY. Also I don't see any reason why that last else that should clear MX6_BM_OVER_CUR_POLARITY and MX6_BM_OVER_CUR_DIS shouldn't also be in the usbmisc_imx7d_init function too. I just resubmitted my patch based on 4.20-rc4 with the mentioned changes. Matt Starr _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel