diff options
author | Valentine Barshak <valentine.barshak@cogentembedded.com> | 2014-02-13 22:29:48 -0500 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2014-02-16 21:51:57 -0500 |
commit | 849f7b6c10d8016b55e13b7ad2e9f299e2da817b (patch) | |
tree | 122f89b1c42c1de2e28d337f6234e67d4e6f6724 | |
parent | 248deabbd4a2f4c696338536fdaad3a01f66bee7 (diff) |
ARM: shmobile: lager: Add internal USB PCI support
This adds internal PCI USB host devices to R-Car H2 Lager board.
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
[damm@opensource.se: Rebased and reworked to only include USB1 and USB2]
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r-- | arch/arm/mach-shmobile/board-lager.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-lager.c b/arch/arm/mach-shmobile/board-lager.c index 72886af7b737..193dff0267d8 100644 --- a/arch/arm/mach-shmobile/board-lager.c +++ b/arch/arm/mach-shmobile/board-lager.c | |||
@@ -638,6 +638,48 @@ static struct resource sdhi2_resources[] __initdata = { | |||
638 | DEFINE_RES_IRQ(gic_spi(167)), | 638 | DEFINE_RES_IRQ(gic_spi(167)), |
639 | }; | 639 | }; |
640 | 640 | ||
641 | /* Internal PCI1 */ | ||
642 | static const struct resource pci1_resources[] __initconst = { | ||
643 | DEFINE_RES_MEM(0xee0b0000, 0x10000), /* CFG */ | ||
644 | DEFINE_RES_MEM(0xee0a0000, 0x10000), /* MEM */ | ||
645 | DEFINE_RES_IRQ(gic_spi(112)), | ||
646 | }; | ||
647 | |||
648 | static const struct platform_device_info pci1_info __initconst = { | ||
649 | .parent = &platform_bus, | ||
650 | .name = "pci-rcar-gen2", | ||
651 | .id = 1, | ||
652 | .res = pci1_resources, | ||
653 | .num_res = ARRAY_SIZE(pci1_resources), | ||
654 | .dma_mask = DMA_BIT_MASK(32), | ||
655 | }; | ||
656 | |||
657 | static void __init lager_add_usb1_device(void) | ||
658 | { | ||
659 | platform_device_register_full(&pci1_info); | ||
660 | } | ||
661 | |||
662 | /* Internal PCI2 */ | ||
663 | static const struct resource pci2_resources[] __initconst = { | ||
664 | DEFINE_RES_MEM(0xee0d0000, 0x10000), /* CFG */ | ||
665 | DEFINE_RES_MEM(0xee0c0000, 0x10000), /* MEM */ | ||
666 | DEFINE_RES_IRQ(gic_spi(113)), | ||
667 | }; | ||
668 | |||
669 | static const struct platform_device_info pci2_info __initconst = { | ||
670 | .parent = &platform_bus, | ||
671 | .name = "pci-rcar-gen2", | ||
672 | .id = 2, | ||
673 | .res = pci2_resources, | ||
674 | .num_res = ARRAY_SIZE(pci2_resources), | ||
675 | .dma_mask = DMA_BIT_MASK(32), | ||
676 | }; | ||
677 | |||
678 | static void __init lager_add_usb2_device(void) | ||
679 | { | ||
680 | platform_device_register_full(&pci2_info); | ||
681 | } | ||
682 | |||
641 | static const struct pinctrl_map lager_pinctrl_map[] = { | 683 | static const struct pinctrl_map lager_pinctrl_map[] = { |
642 | /* DU (CN10: ARGB0, CN13: LVDS) */ | 684 | /* DU (CN10: ARGB0, CN13: LVDS) */ |
643 | PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7790", "pfc-r8a7790", | 685 | PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7790", "pfc-r8a7790", |
@@ -716,6 +758,12 @@ static const struct pinctrl_map lager_pinctrl_map[] = { | |||
716 | /* USB0 */ | 758 | /* USB0 */ |
717 | PIN_MAP_MUX_GROUP_DEFAULT("renesas_usbhs", "pfc-r8a7790", | 759 | PIN_MAP_MUX_GROUP_DEFAULT("renesas_usbhs", "pfc-r8a7790", |
718 | "usb0_ovc_vbus", "usb0"), | 760 | "usb0_ovc_vbus", "usb0"), |
761 | /* USB1 */ | ||
762 | PIN_MAP_MUX_GROUP_DEFAULT("pci-rcar-gen2.1", "pfc-r8a7790", | ||
763 | "usb1", "usb1"), | ||
764 | /* USB2 */ | ||
765 | PIN_MAP_MUX_GROUP_DEFAULT("pci-rcar-gen2.2", "pfc-r8a7790", | ||
766 | "usb2", "usb2"), | ||
719 | }; | 767 | }; |
720 | 768 | ||
721 | static void __init lager_add_standard_devices(void) | 769 | static void __init lager_add_standard_devices(void) |
@@ -776,6 +824,8 @@ static void __init lager_add_standard_devices(void) | |||
776 | &usbhs_phy_pdata, | 824 | &usbhs_phy_pdata, |
777 | sizeof(usbhs_phy_pdata)); | 825 | sizeof(usbhs_phy_pdata)); |
778 | lager_register_usbhs(); | 826 | lager_register_usbhs(); |
827 | lager_add_usb1_device(); | ||
828 | lager_add_usb2_device(); | ||
779 | 829 | ||
780 | lager_add_rsnd_device(); | 830 | lager_add_rsnd_device(); |
781 | 831 | ||