
Hi Marek,
2017-09-29 0:26 GMT+09:00 Marek Vasut marex@denx.de:
On 09/28/2017 03:01 PM, Masahiro Yamada wrote:
Add UniPhier platform specific glue layer to support USB3 Host mode on Synopsys DWC3 IP.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com Reviewed-by: Marek Vasut marex@denx.de
[...]
+static int uniphier_pro4_dwc3_init(void __iomem *regs) +{
u32 tmp;
tmp = readl(regs + UNIPHIER_PRO4_DWC3_RESET);
tmp &= ~UNIPHIER_PRO4_DWC3_RESET_PHY_SS;
tmp |= UNIPHIER_PRO4_DWC3_RESET_XIOMMU | UNIPHIER_PRO4_DWC3_RESET_XLINK;
writel(tmp, regs + UNIPHIER_PRO4_DWC3_RESET);
Do I even want to nag you about clrsetbits_le32() or not ? What do you think?
I did not know this macro.
This seems to come from PPC Linux (defined in arch/powerpc/include/asm/io.h) probably in order to abstract the endianness.
Of course, it makes drivers ppc-specific, disabling COMPILE_TEST coverage.
In U-Boot, more architectures support this macro, ARM as well. (probably people wanted to write the code shorter?)
I am reluctant with it because I do not want to diverge from Linux.