* [PATCH] ARM: shmobile: lager: Add internal USB PCI support
@ 2014-02-14 3:29 Magnus Damm
2014-02-14 13:54 ` Sergei Shtylyov
2014-02-17 2:52 ` Simon Horman
0 siblings, 2 replies; 5+ messages in thread
From: Magnus Damm @ 2014-02-14 3:29 UTC (permalink / raw)
To: linux-arm-kernel
From: Valentine Barshak <valentine.barshak@cogentembedded.com>
This adds internal PCI USB host devices to R-Car H2 Lager board.
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
[damm at opensource.se: Rebased and reworked to only include USB1 and USB2]
Signed-off-by: Magnus Damm <damm@opensource.se>
---
Written against renesas-devel-v3.14-rc2-20140213
arch/arm/mach-shmobile/board-lager.c | 50 ++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
--- 0001/arch/arm/mach-shmobile/board-lager.c
+++ work/arch/arm/mach-shmobile/board-lager.c 2014-02-14 12:16:26.000000000 +0900
@@ -638,6 +638,48 @@ static struct resource sdhi2_resources[]
DEFINE_RES_IRQ(gic_spi(167)),
};
+/* Internal PCI1 */
+static const struct resource pci1_resources[] __initconst = {
+ DEFINE_RES_MEM(0xee0b0000, 0x10000), /* CFG */
+ DEFINE_RES_MEM(0xee0a0000, 0x10000), /* MEM */
+ DEFINE_RES_IRQ(gic_spi(112)),
+};
+
+static const struct platform_device_info pci1_info __initconst = {
+ .parent = &platform_bus,
+ .name = "pci-rcar-gen2",
+ .id = 1,
+ .res = pci1_resources,
+ .num_res = ARRAY_SIZE(pci1_resources),
+ .dma_mask = DMA_BIT_MASK(32),
+};
+
+static void __init lager_add_usb1_device(void)
+{
+ platform_device_register_full(&pci1_info);
+}
+
+/* Internal PCI2 */
+static const struct resource pci2_resources[] __initconst = {
+ DEFINE_RES_MEM(0xee0d0000, 0x10000), /* CFG */
+ DEFINE_RES_MEM(0xee0c0000, 0x10000), /* MEM */
+ DEFINE_RES_IRQ(gic_spi(113)),
+};
+
+static const struct platform_device_info pci2_info __initconst = {
+ .parent = &platform_bus,
+ .name = "pci-rcar-gen2",
+ .id = 2,
+ .res = pci2_resources,
+ .num_res = ARRAY_SIZE(pci2_resources),
+ .dma_mask = DMA_BIT_MASK(32),
+};
+
+static void __init lager_add_usb2_device(void)
+{
+ platform_device_register_full(&pci2_info);
+}
+
static const struct pinctrl_map lager_pinctrl_map[] = {
/* DU (CN10: ARGB0, CN13: LVDS) */
PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7790", "pfc-r8a7790",
@@ -716,6 +758,12 @@ static const struct pinctrl_map lager_pi
/* USB0 */
PIN_MAP_MUX_GROUP_DEFAULT("renesas_usbhs", "pfc-r8a7790",
"usb0_ovc_vbus", "usb0"),
+ /* USB1 */
+ PIN_MAP_MUX_GROUP_DEFAULT("pci-rcar-gen2.1", "pfc-r8a7790",
+ "usb1", "usb1"),
+ /* USB2 */
+ PIN_MAP_MUX_GROUP_DEFAULT("pci-rcar-gen2.2", "pfc-r8a7790",
+ "usb2", "usb2"),
};
static void __init lager_add_standard_devices(void)
@@ -776,6 +824,8 @@ static void __init lager_add_standard_de
&usbhs_phy_pdata,
sizeof(usbhs_phy_pdata));
lager_register_usbhs();
+ lager_add_usb1_device();
+ lager_add_usb2_device();
lager_add_rsnd_device();
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] ARM: shmobile: lager: Add internal USB PCI support
2014-02-14 3:29 [PATCH] ARM: shmobile: lager: Add internal USB PCI support Magnus Damm
@ 2014-02-14 13:54 ` Sergei Shtylyov
2014-02-14 15:30 ` Magnus Damm
2014-02-17 2:52 ` Simon Horman
1 sibling, 1 reply; 5+ messages in thread
From: Sergei Shtylyov @ 2014-02-14 13:54 UTC (permalink / raw)
To: linux-arm-kernel
Hello.
On 14-02-2014 7:29, Magnus Damm wrote:
> From: Valentine Barshak <valentine.barshak@cogentembedded.com>
> This adds internal PCI USB host devices to R-Car H2 Lager board.
> Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
> [damm at opensource.se: Rebased and reworked to only include USB1 and USB2]
> Signed-off-by: Magnus Damm <damm@opensource.se>
> ---
> Written against renesas-devel-v3.14-rc2-20140213
> arch/arm/mach-shmobile/board-lager.c | 50 ++++++++++++++++++++++++++++++++++
> 1 file changed, 50 insertions(+)
> --- 0001/arch/arm/mach-shmobile/board-lager.c
> +++ work/arch/arm/mach-shmobile/board-lager.c 2014-02-14 12:16:26.000000000 +0900
> @@ -638,6 +638,48 @@ static struct resource sdhi2_resources[]
> DEFINE_RES_IRQ(gic_spi(167)),
> };
>
> +/* Internal PCI1 */
> +static const struct resource pci1_resources[] __initconst = {
> + DEFINE_RES_MEM(0xee0b0000, 0x10000), /* CFG */
> + DEFINE_RES_MEM(0xee0a0000, 0x10000), /* MEM */
> + DEFINE_RES_IRQ(gic_spi(112)),
> +};
> +
> +static const struct platform_device_info pci1_info __initconst = {
> + .parent = &platform_bus,
> + .name = "pci-rcar-gen2",
> + .id = 1,
> + .res = pci1_resources,
> + .num_res = ARRAY_SIZE(pci1_resources),
> + .dma_mask = DMA_BIT_MASK(32),
> +};
> +
> +static void __init lager_add_usb1_device(void)
Actually, this adds PCI device, not USB, so the name is strange.
Also, I doubt that such functions are really necessary.
> +{
> + platform_device_register_full(&pci1_info);
> +}
> +
> +/* Internal PCI2 */
> +static const struct resource pci2_resources[] __initconst = {
> + DEFINE_RES_MEM(0xee0d0000, 0x10000), /* CFG */
> + DEFINE_RES_MEM(0xee0c0000, 0x10000), /* MEM */
> + DEFINE_RES_IRQ(gic_spi(113)),
> +};
> +
> +static const struct platform_device_info pci2_info __initconst = {
> + .parent = &platform_bus,
> + .name = "pci-rcar-gen2",
> + .id = 2,
> + .res = pci2_resources,
> + .num_res = ARRAY_SIZE(pci2_resources),
> + .dma_mask = DMA_BIT_MASK(32),
> +};
> +
I suspect the PCI resources and info could be wrapped by macros and then
instantiated by using only 2 lines.
WBR, Sergei
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] ARM: shmobile: lager: Add internal USB PCI support
2014-02-14 13:54 ` Sergei Shtylyov
@ 2014-02-14 15:30 ` Magnus Damm
2014-02-14 20:03 ` Sergei Shtylyov
0 siblings, 1 reply; 5+ messages in thread
From: Magnus Damm @ 2014-02-14 15:30 UTC (permalink / raw)
To: linux-arm-kernel
Hi Sergei,
On Fri, Feb 14, 2014 at 10:54 PM, Sergei Shtylyov
<sergei.shtylyov@cogentembedded.com> wrote:
> Hello.
>
>
> On 14-02-2014 7:29, Magnus Damm wrote:
>
>> From: Valentine Barshak <valentine.barshak@cogentembedded.com>
>
>
>> This adds internal PCI USB host devices to R-Car H2 Lager board.
>
>
>> Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
>> [damm at opensource.se: Rebased and reworked to only include USB1 and USB2]
>> Signed-off-by: Magnus Damm <damm@opensource.se>
>> ---
>
>
>> Written against renesas-devel-v3.14-rc2-20140213
>
>
>> arch/arm/mach-shmobile/board-lager.c | 50
>> ++++++++++++++++++++++++++++++++++
>> 1 file changed, 50 insertions(+)
>
>
>> --- 0001/arch/arm/mach-shmobile/board-lager.c
>> +++ work/arch/arm/mach-shmobile/board-lager.c 2014-02-14
>> 12:16:26.000000000 +0900
>> @@ -638,6 +638,48 @@ static struct resource sdhi2_resources[]
>> DEFINE_RES_IRQ(gic_spi(167)),
>> };
>>
>> +/* Internal PCI1 */
>> +static const struct resource pci1_resources[] __initconst = {
>> + DEFINE_RES_MEM(0xee0b0000, 0x10000), /* CFG */
>> + DEFINE_RES_MEM(0xee0a0000, 0x10000), /* MEM */
>> + DEFINE_RES_IRQ(gic_spi(112)),
>> +};
>> +
>> +static const struct platform_device_info pci1_info __initconst = {
>> + .parent = &platform_bus,
>> + .name = "pci-rcar-gen2",
>> + .id = 1,
>> + .res = pci1_resources,
>> + .num_res = ARRAY_SIZE(pci1_resources),
>> + .dma_mask = DMA_BIT_MASK(32),
>> +};
>> +
>> +static void __init lager_add_usb1_device(void)
>
>
> Actually, this adds PCI device, not USB, so the name is strange.
> Also, I doubt that such functions are really necessary.
Well there are only USB devices hanging off the PCI devices on the
actual silicon, so this naming discussion seems like splitting hairs?
>> +{
>> + platform_device_register_full(&pci1_info);
>> +}
>> +
>> +/* Internal PCI2 */
>> +static const struct resource pci2_resources[] __initconst = {
>> + DEFINE_RES_MEM(0xee0d0000, 0x10000), /* CFG */
>> + DEFINE_RES_MEM(0xee0c0000, 0x10000), /* MEM */
>> + DEFINE_RES_IRQ(gic_spi(113)),
>> +};
>> +
>> +static const struct platform_device_info pci2_info __initconst = {
>> + .parent = &platform_bus,
>> + .name = "pci-rcar-gen2",
>> + .id = 2,
>> + .res = pci2_resources,
>> + .num_res = ARRAY_SIZE(pci2_resources),
>> + .dma_mask = DMA_BIT_MASK(32),
>> +};
>> +
>
>
> I suspect the PCI resources and info could be wrapped by macros and then
> instantiated by using only 2 lines.
I suspect anything can be done. =) As you may know, I'm not the
original author of this patch. At this point in time I'm mainly
focusing on getting device support merged, so please feel free to send
either incremental patches or pick up this one and fix it yourself.
I'm beyond caring.
Thanks,
/ magnus
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] ARM: shmobile: lager: Add internal USB PCI support
2014-02-14 15:30 ` Magnus Damm
@ 2014-02-14 20:03 ` Sergei Shtylyov
0 siblings, 0 replies; 5+ messages in thread
From: Sergei Shtylyov @ 2014-02-14 20:03 UTC (permalink / raw)
To: linux-arm-kernel
Hello.
On 02/14/2014 06:30 PM, Magnus Damm wrote:
>>> From: Valentine Barshak <valentine.barshak@cogentembedded.com>
>>> This adds internal PCI USB host devices to R-Car H2 Lager board.
>>> Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
>>> [damm at opensource.se: Rebased and reworked to only include USB1 and USB2]
>>> Signed-off-by: Magnus Damm <damm@opensource.se>
>>> ---
>>> Written against renesas-devel-v3.14-rc2-20140213
>>> arch/arm/mach-shmobile/board-lager.c | 50
>>> ++++++++++++++++++++++++++++++++++
>>> 1 file changed, 50 insertions(+)
>>> --- 0001/arch/arm/mach-shmobile/board-lager.c
>>> +++ work/arch/arm/mach-shmobile/board-lager.c 2014-02-14
>>> 12:16:26.000000000 +0900
>>> @@ -638,6 +638,48 @@ static struct resource sdhi2_resources[]
>>> DEFINE_RES_IRQ(gic_spi(167)),
>>> };
>>>
>>> +/* Internal PCI1 */
>>> +static const struct resource pci1_resources[] __initconst = {
>>> + DEFINE_RES_MEM(0xee0b0000, 0x10000), /* CFG */
>>> + DEFINE_RES_MEM(0xee0a0000, 0x10000), /* MEM */
>>> + DEFINE_RES_IRQ(gic_spi(112)),
>>> +};
>>> +
>>> +static const struct platform_device_info pci1_info __initconst = {
>>> + .parent = &platform_bus,
>>> + .name = "pci-rcar-gen2",
>>> + .id = 1,
>>> + .res = pci1_resources,
>>> + .num_res = ARRAY_SIZE(pci1_resources),
>>> + .dma_mask = DMA_BIT_MASK(32),
>>> +};
>>> +
>>> +static void __init lager_add_usb1_device(void)
>> Actually, this adds PCI device, not USB, so the name is strange.
>> Also, I doubt that such functions are really necessary.
> Well there are only USB devices hanging off the PCI devices on the
> actual silicon, so this naming discussion seems like splitting hairs?
I'm actually against introducing these functions in general. They're only
wasting the LOCs.
>>> +{
>>> + platform_device_register_full(&pci1_info);
>>> +}
>>> +
>>> +/* Internal PCI2 */
>>> +static const struct resource pci2_resources[] __initconst = {
>>> + DEFINE_RES_MEM(0xee0d0000, 0x10000), /* CFG */
>>> + DEFINE_RES_MEM(0xee0c0000, 0x10000), /* MEM */
>>> + DEFINE_RES_IRQ(gic_spi(113)),
>>> +};
>>> +
>>> +static const struct platform_device_info pci2_info __initconst = {
>>> + .parent = &platform_bus,
>>> + .name = "pci-rcar-gen2",
>>> + .id = 2,
>>> + .res = pci2_resources,
>>> + .num_res = ARRAY_SIZE(pci2_resources),
>>> + .dma_mask = DMA_BIT_MASK(32),
>>> +};
>>> +
>> I suspect the PCI resources and info could be wrapped by macros and then
>> instantiated by using only 2 lines.
> I suspect anything can be done. =) As you may know, I'm not the
You're too optimistic. :-)
> original author of this patch. At this point in time I'm mainly
> focusing on getting device support merged, so please feel free to send
> either incremental patches or pick up this one and fix it yourself.
> I'm beyond caring.
OK, I'll see what I can do when I have a time.
> Thanks,
> / magnus
WBR, Sergei
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] ARM: shmobile: lager: Add internal USB PCI support
2014-02-14 3:29 [PATCH] ARM: shmobile: lager: Add internal USB PCI support Magnus Damm
2014-02-14 13:54 ` Sergei Shtylyov
@ 2014-02-17 2:52 ` Simon Horman
1 sibling, 0 replies; 5+ messages in thread
From: Simon Horman @ 2014-02-17 2:52 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Feb 14, 2014 at 12:29:48PM +0900, Magnus Damm wrote:
> From: Valentine Barshak <valentine.barshak@cogentembedded.com>
>
> This adds internal PCI USB host devices to R-Car H2 Lager board.
>
> Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
> [damm at opensource.se: Rebased and reworked to only include USB1 and USB2]
> Signed-off-by: Magnus Damm <damm@opensource.se>
Thanks, I have queued this up.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-02-17 2:52 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-14 3:29 [PATCH] ARM: shmobile: lager: Add internal USB PCI support Magnus Damm
2014-02-14 13:54 ` Sergei Shtylyov
2014-02-14 15:30 ` Magnus Damm
2014-02-14 20:03 ` Sergei Shtylyov
2014-02-17 2:52 ` Simon Horman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).