Message ID | 1404892479-12222-4-git-send-email-wens@csie.org |
---|---|
State | Superseded, archived |
Headers | show |
On Wed, 09 Jul 2014, Chen-Yu Tsai wrote: > The Allwinner A23 SoC has a PRCM unit like the previous A31 SoC. > The differences are the AR100 clock can no longer be modified, > the APB0 clock has different divisors, and some clock gates are > gone. > > This patch adds a compatible with a modified subdevice list for > the A23. > > Signed-off-by: Chen-Yu Tsai <wens@csie.org> > Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > .../devicetree/bindings/mfd/sun6i-prcm.txt | 2 +- > drivers/mfd/sun6i-prcm.c | 30 ++++++++++++++++++++++ > 2 files changed, 31 insertions(+), 1 deletion(-) Acked-by: Lee Jones <lee.jones@linaro.org>
Hi Lee, On Thu, Jul 10, 2014 at 10:37:07AM +0100, Lee Jones wrote: > On Wed, 09 Jul 2014, Chen-Yu Tsai wrote: > > > The Allwinner A23 SoC has a PRCM unit like the previous A31 SoC. > > The differences are the AR100 clock can no longer be modified, > > the APB0 clock has different divisors, and some clock gates are > > gone. > > > > This patch adds a compatible with a modified subdevice list for > > the A23. > > > > Signed-off-by: Chen-Yu Tsai <wens@csie.org> > > Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> > > --- > > .../devicetree/bindings/mfd/sun6i-prcm.txt | 2 +- > > drivers/mfd/sun6i-prcm.c | 30 ++++++++++++++++++++++ > > 2 files changed, 31 insertions(+), 1 deletion(-) > > Acked-by: Lee Jones <lee.jones@linaro.org> We don't have any dependency on this driver, so it would be simpler if you could just take it through your tree I guess. Thanks! Maxime
On Tue, 15 Jul 2014, Maxime Ripard wrote: > Hi Lee, > > On Thu, Jul 10, 2014 at 10:37:07AM +0100, Lee Jones wrote: > > On Wed, 09 Jul 2014, Chen-Yu Tsai wrote: > > > > > The Allwinner A23 SoC has a PRCM unit like the previous A31 SoC. > > > The differences are the AR100 clock can no longer be modified, > > > the APB0 clock has different divisors, and some clock gates are > > > gone. > > > > > > This patch adds a compatible with a modified subdevice list for > > > the A23. > > > > > > Signed-off-by: Chen-Yu Tsai <wens@csie.org> > > > Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> > > > --- > > > .../devicetree/bindings/mfd/sun6i-prcm.txt | 2 +- > > > drivers/mfd/sun6i-prcm.c | 30 ++++++++++++++++++++++ > > > 2 files changed, 31 insertions(+), 1 deletion(-) > > > > Acked-by: Lee Jones <lee.jones@linaro.org> > > We don't have any dependency on this driver, so it would be simpler if > you could just take it through your tree I guess. Verll well, applied thanks.
diff --git a/Documentation/devicetree/bindings/mfd/sun6i-prcm.txt b/Documentation/devicetree/bindings/mfd/sun6i-prcm.txt index 1f5a31f..03c5a55 100644 --- a/Documentation/devicetree/bindings/mfd/sun6i-prcm.txt +++ b/Documentation/devicetree/bindings/mfd/sun6i-prcm.txt @@ -4,7 +4,7 @@ PRCM is an MFD device exposing several Power Management related devices (like clks and reset controllers). Required properties: - - compatible: "allwinner,sun6i-a31-prcm" + - compatible: "allwinner,sun6i-a31-prcm" or "allwinner,sun8i-a23-prcm" - reg: The PRCM registers range The prcm node may contain several subdevices definitions: diff --git a/drivers/mfd/sun6i-prcm.c b/drivers/mfd/sun6i-prcm.c index 718fc4d..283ab8d 100644 --- a/drivers/mfd/sun6i-prcm.c +++ b/drivers/mfd/sun6i-prcm.c @@ -76,16 +76,46 @@ static const struct mfd_cell sun6i_a31_prcm_subdevs[] = { }, }; +static const struct mfd_cell sun8i_a23_prcm_subdevs[] = { + { + .name = "sun8i-a23-apb0-clk", + .of_compatible = "allwinner,sun8i-a23-apb0-clk", + .num_resources = ARRAY_SIZE(sun6i_a31_apb0_clk_res), + .resources = sun6i_a31_apb0_clk_res, + }, + { + .name = "sun6i-a31-apb0-gates-clk", + .of_compatible = "allwinner,sun8i-a23-apb0-gates-clk", + .num_resources = ARRAY_SIZE(sun6i_a31_apb0_gates_clk_res), + .resources = sun6i_a31_apb0_gates_clk_res, + }, + { + .name = "sun6i-a31-apb0-clock-reset", + .of_compatible = "allwinner,sun6i-a31-clock-reset", + .num_resources = ARRAY_SIZE(sun6i_a31_apb0_rstc_res), + .resources = sun6i_a31_apb0_rstc_res, + }, +}; + static const struct prcm_data sun6i_a31_prcm_data = { .nsubdevs = ARRAY_SIZE(sun6i_a31_prcm_subdevs), .subdevs = sun6i_a31_prcm_subdevs, }; +static const struct prcm_data sun8i_a23_prcm_data = { + .nsubdevs = ARRAY_SIZE(sun8i_a23_prcm_subdevs), + .subdevs = sun8i_a23_prcm_subdevs, +}; + static const struct of_device_id sun6i_prcm_dt_ids[] = { { .compatible = "allwinner,sun6i-a31-prcm", .data = &sun6i_a31_prcm_data, }, + { + .compatible = "allwinner,sun8i-a23-prcm", + .data = &sun8i_a23_prcm_data, + }, { /* sentinel */ }, };