于 2018年6月25日 GMT+08:00 下午11:58:05, Maxime Ripard <maxime.ripard@xxxxxxxxxxx> 写到: >On Fri, Jun 22, 2018 at 08:45:36PM +0800, Icenowy Zheng wrote: >> The "Display Engine 2.0" (usually called DE2) on the Allwinner A64 >SoC >> is different from the ones on other Allwinner SoCs. It requires a >SRAM >> region to be claimed, otherwise all DE2 subblocks won't be >accessible. >> >> Add a bus driver for the Allwinner A64 DE2 part which claims the SRAM >> region when probing. >> >> Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx> >> --- >> No changes since v1. >> >> drivers/bus/Kconfig | 10 ++++++++ >> drivers/bus/Makefile | 1 + >> drivers/bus/sun50i-de2.c | 49 >++++++++++++++++++++++++++++++++++++++++ >> 3 files changed, 60 insertions(+) >> create mode 100644 drivers/bus/sun50i-de2.c >> >> diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig >> index d1c0b60e9326..1851112ccc29 100644 >> --- a/drivers/bus/Kconfig >> +++ b/drivers/bus/Kconfig >> @@ -103,6 +103,16 @@ config SIMPLE_PM_BUS >> Controller (BSC, sometimes called "LBSC within Bus Bridge", or >> "External Bus Interface") as found on several Renesas ARM SoCs. >> >> +config SUN50I_DE2_BUS >> + bool "Allwinner A64 DE2 Bus Driver" >> + default ARM64 >> + depends on ARCH_SUNXI >> + select SUNXI_SRAM >> + help > >The alignment here should be one tab. > >> +static int sun50i_de2_bus_probe(struct platform_device *pdev) >> +{ >> + struct device_node *np = pdev->dev.of_node; >> + int ret; >> + >> + ret = sunxi_sram_claim(&pdev->dev); >> + if (ret) { >> + dev_err(&pdev->dev, "Error couldn't map SRAM to device\n"); >> + return ret; >> + } >> + >> + if (np) >> + of_platform_populate(np, NULL, NULL, &pdev->dev); > >Why do you need to test np here? Oh thanks. Currently it's only probeable via dt. > >Maxime -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html