Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1ba5bb5 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Rafael J. Wysocki
Browse files

ARM: mach-shmobile: sh7372 A4MP support



Add support for the sh7372 A4MP power domain
and hook up the FSI/SPU2 device.

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: default avatarMagnus Damm <damm@opensource.se>
Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
parent a41b6466
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1410,6 +1410,7 @@ static void __init ap4evb_init(void)

	sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc1_device);
	sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc_device);
	sh7372_add_device_to_domain(&sh7372_a4mp, &fsi_device);

	hdmi_init_pm_clock();
	fsi_init_pm_clock();
+1 −0
Original line number Diff line number Diff line
@@ -1584,6 +1584,7 @@ static void __init mackerel_init(void)

	sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc_device);
	sh7372_add_device_to_domain(&sh7372_a4lc, &hdmi_lcdc_device);
	sh7372_add_device_to_domain(&sh7372_a4mp, &fsi_device);

	hdmi_init_pm_clock();
	sh7372_pm_init();
+1 −0
Original line number Diff line number Diff line
@@ -485,6 +485,7 @@ static inline struct sh7372_pm_domain *to_sh7372_pd(struct generic_pm_domain *d)

#ifdef CONFIG_PM
extern struct sh7372_pm_domain sh7372_a4lc;
extern struct sh7372_pm_domain sh7372_a4mp;
extern struct sh7372_pm_domain sh7372_a3rv;
extern struct sh7372_pm_domain sh7372_a3ri;
extern struct sh7372_pm_domain sh7372_a3sg;
+4 −0
Original line number Diff line number Diff line
@@ -125,6 +125,10 @@ struct sh7372_pm_domain sh7372_a4lc = {
	.bit_shift = 1,
};

struct sh7372_pm_domain sh7372_a4mp = {
	.bit_shift = 2,
};

struct sh7372_pm_domain sh7372_a3rv = {
	.bit_shift = 6,
};
+3 −0
Original line number Diff line number Diff line
@@ -842,6 +842,7 @@ static struct platform_device *sh7372_late_devices[] __initdata = {
void __init sh7372_add_standard_devices(void)
{
	sh7372_init_pm_domain(&sh7372_a4lc);
	sh7372_init_pm_domain(&sh7372_a4mp);
	sh7372_init_pm_domain(&sh7372_a3rv);
	sh7372_init_pm_domain(&sh7372_a3ri);
	sh7372_init_pm_domain(&sh7372_a3sg);
@@ -853,6 +854,8 @@ void __init sh7372_add_standard_devices(void)
			    ARRAY_SIZE(sh7372_late_devices));

	sh7372_add_device_to_domain(&sh7372_a3rv, &vpu_device);
	sh7372_add_device_to_domain(&sh7372_a4mp, &spu0_device);
	sh7372_add_device_to_domain(&sh7372_a4mp, &spu1_device);
}

void __init sh7372_add_early_devices(void)