[PATCH] ARM: mach-shmobile: r8a7790: add SATA support

Simon Horman horms at verge.net.au
Sun May 26 09:25:17 EDT 2013


On Sat, May 25, 2013 at 10:32:57PM +0400, Sergei Shtylyov wrote:
> Hello.
> 
> On 25-05-2013 5:03, Simon Horman wrote:
> 
> >>>Add SATA clock for r8a7790 SoC (for both device tree and usual cases).
> 
> >>     I don't see where you are adding clock for device tree case.
> 
> >>>Register SATA controller as a "late" platform device on r8a7790 SoC.
> 
> >>     Does R8A7790 have these "early" and "late" lists? I guess not.
> 
> >>>Based on "ARM: mach-shmobile: r8a7779: add SATA support" by
> >>>Vladimir Barinov.
> 
> >>>Signed-off-by: Simon Horman <horms+renesas at verge.net.au>
> >>>---
> >>>  arch/arm/mach-shmobile/clock-r8a7790.c |  4 ++++
> >>>  arch/arm/mach-shmobile/setup-r8a7790.c | 21 +++++++++++++++++++++
> >>>  2 files changed, 25 insertions(+)
> 
> >>>diff --git a/arch/arm/mach-shmobile/clock-r8a7790.c b/arch/arm/mach-shmobile/clock-r8a7790.c
> >>>index b393592..3619a52 100644
> >>>--- a/arch/arm/mach-shmobile/clock-r8a7790.c
> >>>+++ b/arch/arm/mach-shmobile/clock-r8a7790.c
> >>[...]
> >>>@@ -249,6 +252,7 @@ static struct clk_lookup lookups[] = {
> >>>  	CLKDEV_DEV_ID("sh-sci.5", &mstp_clks[MSTP202]),
> >>>  	CLKDEV_DEV_ID("sh-sci.6", &mstp_clks[MSTP721]),
> >>>  	CLKDEV_DEV_ID("sh-sci.7", &mstp_clks[MSTP720]),
> >>>+	CLKDEV_DEV_ID("sata_rcar.1", &mstp_clks[MSTP814]),
> >>>  };
> >>>
> >>>  #define R8A7790_CLOCK_ROOT(e, m, p0, p1, p30, p31)		\
> >>>diff --git a/arch/arm/mach-shmobile/setup-r8a7790.c b/arch/arm/mach-shmobile/setup-r8a7790.c
> >>>index ed7ee24..5a2a073 100644
> >>>--- a/arch/arm/mach-shmobile/setup-r8a7790.c
> >>>+++ b/arch/arm/mach-shmobile/setup-r8a7790.c
> >>[...]
> >>>@@ -118,6 +119,25 @@ static inline void r8a7790_register_scif(int idx)
> >>>  				      sizeof(struct plat_sci_port));
> >>>  }
> 
> >>>+static __init void r8a7790_register_sata1(void)
> 
> >>    What's with SATA0?
> 
> >>>+{
> >>>+
> >>>+	struct resource res[] = {
> 
> >>    Non-static variable with an intializer? Won't this be a waste of
> >>code? Wouldn't it be better to have it static __initdata?
> 
> >Sure, if you prefer that.
> 
>    I don't know exactly what gcc will generate for the intializers
> but expect nothing particularly good. The static intialized data
> should definitely take up less space.
> 
> >>
> >>>+		DEFINE_RES_MEM_NAMED(0xee300000, 0x200000, "rcar-sata"),
> 
> >>     2 megabytes? Won't it be a waste of memory?
> 
> >2 megabytes is specified in the data sheet.
> >Do you think it is reasonable to use a smaller value?
> 
>    We used 0x2000 for R8A7779 SATA device -- it should be enough to
> cover all the registers.

Thanks for your advice, I'll see about doing the same for r8a7790.

> >>>+		DEFINE_RES_IRQ(gic_iid(106)),
> >>>+	};
> >>>+
> >>>+	struct platform_device_info pdevinfo = {
> 
> >>    Same comment about non-static initialized structure...
> 
> >>>+		.name = "sata_rcar",
> >>>+		.id = 1,
> >>>+		.res = res,
> >>>+		.num_res = ARRAY_SIZE(res),
> >>>+		.dma_mask = DMA_BIT_MASK(32),
> >>>+	};
> >>>+
> >>>+	platform_device_register_full(&pdevinfo);
> >>>+}
> >>>+
> 
> WBR, Sergei
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 



More information about the linux-arm-kernel mailing list