* [PATCH RESEND 1/4] ARM: EXYNOS: Add usb otg phy control for EXYNOS4210
2012-05-10 13:16 [PATCH RESEND 0/4] ARM: EXYNOS: Add s3c-hsotg support for Exynos4210 and S5PV210 boards Lukasz Majewski
@ 2012-05-10 13:16 ` Lukasz Majewski
2012-05-16 8:17 ` Kukjin Kim
2012-05-10 13:16 ` [PATCH RESEND 2/4] ARM: EXYNOS: Add s3c-hsotg device support for GONI board Lukasz Majewski
` (4 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Lukasz Majewski @ 2012-05-10 13:16 UTC (permalink / raw)
To: Kukjin Kim
Cc: Marek Szyprowski, Lukasz Majewski, linux-samsung-soc,
Kyungmin Park, Joonyoung Shim
This patch supports to control usb otg phy of EXYNOS4210.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[Rebased on the newest git/kgene/linux-samsung #for-next]
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
---
arch/arm/mach-exynos/include/mach/irqs.h | 1 +
arch/arm/mach-exynos/include/mach/map.h | 4 +
arch/arm/mach-exynos/include/mach/regs-pmu.h | 3 +
arch/arm/mach-exynos/setup-usb-phy.c | 95 +++++++++++++++++++-------
4 files changed, 78 insertions(+), 25 deletions(-)
diff --git a/arch/arm/mach-exynos/include/mach/irqs.h b/arch/arm/mach-exynos/include/mach/irqs.h
index 1161675..ddde8f3 100644
--- a/arch/arm/mach-exynos/include/mach/irqs.h
+++ b/arch/arm/mach-exynos/include/mach/irqs.h
@@ -196,6 +196,7 @@
#define IRQ_IIC7 EXYNOS4_IRQ_IIC7
#define IRQ_USB_HOST EXYNOS4_IRQ_USB_HOST
+#define IRQ_OTG EXYNOS4_IRQ_USB_HSOTG
#define IRQ_HSMMC0 EXYNOS4_IRQ_HSMMC0
#define IRQ_HSMMC1 EXYNOS4_IRQ_HSMMC1
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
index 0e2292d..2196af2 100644
--- a/arch/arm/mach-exynos/include/mach/map.h
+++ b/arch/arm/mach-exynos/include/mach/map.h
@@ -168,6 +168,9 @@
#define EXYNOS4_PA_HSMMC(x) (0x12510000 + ((x) * 0x10000))
#define EXYNOS4_PA_DWMCI 0x12550000
+#define EXYNOS4_PA_HSOTG 0x12480000
+#define EXYNOS4_PA_USB_HSPHY 0x125B0000
+
#define EXYNOS4_PA_SATA 0x12560000
#define EXYNOS4_PA_SATAPHY 0x125D0000
#define EXYNOS4_PA_SATAPHY_CTRL 0x126B0000
@@ -224,6 +227,7 @@
#define S3C_PA_SPI0 EXYNOS4_PA_SPI0
#define S3C_PA_SPI1 EXYNOS4_PA_SPI1
#define S3C_PA_SPI2 EXYNOS4_PA_SPI2
+#define S3C_PA_USB_HSOTG EXYNOS4_PA_HSOTG
#define S5P_PA_EHCI EXYNOS4_PA_EHCI
#define S5P_PA_FIMC0 EXYNOS4_PA_FIMC0
diff --git a/arch/arm/mach-exynos/include/mach/regs-pmu.h b/arch/arm/mach-exynos/include/mach/regs-pmu.h
index 4c53f38..d457d05 100644
--- a/arch/arm/mach-exynos/include/mach/regs-pmu.h
+++ b/arch/arm/mach-exynos/include/mach/regs-pmu.h
@@ -163,6 +163,9 @@
#define S5P_CHECK_SLEEP 0x00000BAD
/* Only for EXYNOS4210 */
+#define S5P_USBDEVICE_PHY_CONTROL S5P_PMUREG(0x0704)
+#define S5P_USBDEVICE_PHY_ENABLE (1 << 0)
+
#define S5P_USBHOST_PHY_CONTROL S5P_PMUREG(0x0708)
#define S5P_USBHOST_PHY_ENABLE (1 << 0)
diff --git a/arch/arm/mach-exynos/setup-usb-phy.c b/arch/arm/mach-exynos/setup-usb-phy.c
index 41743d2..6cf5d6a 100644
--- a/arch/arm/mach-exynos/setup-usb-phy.c
+++ b/arch/arm/mach-exynos/setup-usb-phy.c
@@ -26,11 +26,72 @@ static int exynos4_usb_host_phy_is_on(void)
return (readl(EXYNOS4_PHYPWR) & PHY1_STD_ANALOG_POWERDOWN) ? 0 : 1;
}
-static int exynos4_usb_phy1_init(struct platform_device *pdev)
+static void exynos4_usb_phy_clkset(struct platform_device *pdev)
{
- struct clk *otg_clk;
struct clk *xusbxti_clk;
u32 phyclk;
+
+ /* set clock frequency for PLL */
+ phyclk = readl(EXYNOS4_PHYCLK) & ~CLKSEL_MASK;
+
+ xusbxti_clk = clk_get(&pdev->dev, "xusbxti");
+ if (xusbxti_clk && !IS_ERR(xusbxti_clk)) {
+ switch (clk_get_rate(xusbxti_clk)) {
+ case 12 * MHZ:
+ phyclk |= CLKSEL_12M;
+ break;
+ case 24 * MHZ:
+ phyclk |= CLKSEL_24M;
+ break;
+ default:
+ case 48 * MHZ:
+ /* default reference clock */
+ break;
+ }
+ clk_put(xusbxti_clk);
+ }
+
+ writel(phyclk, EXYNOS4_PHYCLK);
+}
+
+static int exynos4_usb_phy0_init(struct platform_device *pdev)
+{
+ u32 rstcon;
+
+ writel(readl(S5P_USBDEVICE_PHY_CONTROL) | S5P_USBDEVICE_PHY_ENABLE,
+ S5P_USBDEVICE_PHY_CONTROL);
+
+ exynos4_usb_phy_clkset(pdev);
+
+ /* set to normal PHY0 */
+ writel((readl(EXYNOS4_PHYPWR) & ~PHY0_NORMAL_MASK), EXYNOS4_PHYPWR);
+
+ /* reset PHY0 and Link */
+ rstcon = readl(EXYNOS4_RSTCON) | PHY0_SWRST_MASK;
+ writel(rstcon, EXYNOS4_RSTCON);
+ udelay(10);
+
+ rstcon &= ~PHY0_SWRST_MASK;
+ writel(rstcon, EXYNOS4_RSTCON);
+ udelay(80);
+
+ return 0;
+}
+
+static int exynos4_usb_phy0_exit(struct platform_device *pdev)
+{
+ writel((readl(EXYNOS4_PHYPWR) | PHY0_ANALOG_POWERDOWN |
+ PHY0_OTG_DISABLE), EXYNOS4_PHYPWR);
+
+ writel(readl(S5P_USBDEVICE_PHY_CONTROL) & ~S5P_USBDEVICE_PHY_ENABLE,
+ S5P_USBDEVICE_PHY_CONTROL);
+
+ return 0;
+}
+
+static int exynos4_usb_phy1_init(struct platform_device *pdev)
+{
+ struct clk *otg_clk;
u32 rstcon;
int err;
@@ -54,27 +115,7 @@ static int exynos4_usb_phy1_init(struct platform_device *pdev)
writel(readl(S5P_USBHOST_PHY_CONTROL) | S5P_USBHOST_PHY_ENABLE,
S5P_USBHOST_PHY_CONTROL);
- /* set clock frequency for PLL */
- phyclk = readl(EXYNOS4_PHYCLK) & ~CLKSEL_MASK;
-
- xusbxti_clk = clk_get(&pdev->dev, "xusbxti");
- if (xusbxti_clk && !IS_ERR(xusbxti_clk)) {
- switch (clk_get_rate(xusbxti_clk)) {
- case 12 * MHZ:
- phyclk |= CLKSEL_12M;
- break;
- case 24 * MHZ:
- phyclk |= CLKSEL_24M;
- break;
- default:
- case 48 * MHZ:
- /* default reference clock */
- break;
- }
- clk_put(xusbxti_clk);
- }
-
- writel(phyclk, EXYNOS4_PHYCLK);
+ exynos4_usb_phy_clkset(pdev);
/* floating prevention logic: disable */
writel((readl(EXYNOS4_PHY1CON) | FPENABLEN), EXYNOS4_PHY1CON);
@@ -136,7 +177,9 @@ static int exynos4_usb_phy1_exit(struct platform_device *pdev)
int s5p_usb_phy_init(struct platform_device *pdev, int type)
{
- if (type == S5P_USB_PHY_HOST)
+ if (type == S5P_USB_PHY_DEVICE)
+ return exynos4_usb_phy0_init(pdev);
+ else if (type == S5P_USB_PHY_HOST)
return exynos4_usb_phy1_init(pdev);
return -EINVAL;
@@ -144,7 +187,9 @@ int s5p_usb_phy_init(struct platform_device *pdev, int type)
int s5p_usb_phy_exit(struct platform_device *pdev, int type)
{
- if (type == S5P_USB_PHY_HOST)
+ if (type == S5P_USB_PHY_DEVICE)
+ return exynos4_usb_phy0_exit(pdev);
+ else if (type == S5P_USB_PHY_HOST)
return exynos4_usb_phy1_exit(pdev);
return -EINVAL;
--
1.7.2.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* RE: [PATCH RESEND 1/4] ARM: EXYNOS: Add usb otg phy control for EXYNOS4210
2012-05-10 13:16 ` [PATCH RESEND 1/4] ARM: EXYNOS: Add usb otg phy control for EXYNOS4210 Lukasz Majewski
@ 2012-05-16 8:17 ` Kukjin Kim
2012-05-16 9:36 ` Lukasz Majewski
0 siblings, 1 reply; 13+ messages in thread
From: Kukjin Kim @ 2012-05-16 8:17 UTC (permalink / raw)
To: 'Lukasz Majewski'
Cc: 'Marek Szyprowski', linux-samsung-soc,
'Kyungmin Park', 'Joonyoung Shim',
'Yulgon Kim'
Lukasz Majewski wrote:
>
> This patch supports to control usb otg phy of EXYNOS4210.
>
> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> [Rebased on the newest git/kgene/linux-samsung #for-next]
> Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
> ---
> arch/arm/mach-exynos/include/mach/irqs.h | 1 +
> arch/arm/mach-exynos/include/mach/map.h | 4 +
> arch/arm/mach-exynos/include/mach/regs-pmu.h | 3 +
> arch/arm/mach-exynos/setup-usb-phy.c | 95
+++++++++++++++++++-----
> --
> 4 files changed, 78 insertions(+), 25 deletions(-)
>
[...]
Hi Lukasz,
I have small comments on this.
> +static int exynos4_usb_phy0_init(struct platform_device *pdev)
> +{
> + u32 rstcon;
> +
> + writel(readl(S5P_USBDEVICE_PHY_CONTROL) | S5P_USBDEVICE_PHY_ENABLE,
> + S5P_USBDEVICE_PHY_CONTROL);
> +
> + exynos4_usb_phy_clkset(pdev);
> +
> + /* set to normal PHY0 */
> + writel((readl(EXYNOS4_PHYPWR) & ~PHY0_NORMAL_MASK), EXYNOS4_PHYPWR);
> +
> + /* reset PHY0 and Link */
> + rstcon = readl(EXYNOS4_RSTCON) | PHY0_SWRST_MASK;
> + writel(rstcon, EXYNOS4_RSTCON);
> + udelay(10);
> +
> + rstcon &= ~PHY0_SWRST_MASK;
> + writel(rstcon, EXYNOS4_RSTCON);
> + udelay(80);
Do we _really_ need above udelay(80)?
As I know, we only need it in the phy1_init() for EHCI and we don't need it
here.
[...]
> int s5p_usb_phy_init(struct platform_device *pdev, int type)
> {
> - if (type == S5P_USB_PHY_HOST)
> + if (type == S5P_USB_PHY_DEVICE)
> + return exynos4_usb_phy0_init(pdev);
I think, this should be exynos4210_usb_phy0_init(pdev), because this is
available on only exynos4210 not exynos4x12 and exynos5.
> + else if (type == S5P_USB_PHY_HOST)
> return exynos4_usb_phy1_init(pdev);
Same as above.
>
> return -EINVAL;
> @@ -144,7 +187,9 @@ int s5p_usb_phy_init(struct platform_device *pdev, int
> type)
>
> int s5p_usb_phy_exit(struct platform_device *pdev, int type)
> {
> - if (type == S5P_USB_PHY_HOST)
> + if (type == S5P_USB_PHY_DEVICE)
> + return exynos4_usb_phy0_exit(pdev);
Same as above.
> + else if (type == S5P_USB_PHY_HOST)
> return exynos4_usb_phy1_exit(pdev);
Same as above.
If you're ok on my comments, could you please update it as soon as possible
for v3.5?
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH RESEND 1/4] ARM: EXYNOS: Add usb otg phy control for EXYNOS4210
2012-05-16 8:17 ` Kukjin Kim
@ 2012-05-16 9:36 ` Lukasz Majewski
0 siblings, 0 replies; 13+ messages in thread
From: Lukasz Majewski @ 2012-05-16 9:36 UTC (permalink / raw)
To: Kukjin Kim
Cc: 'Marek Szyprowski', linux-samsung-soc,
'Kyungmin Park', 'Joonyoung Shim',
'Yulgon Kim'
Hi Kukjin,
> Lukasz Majewski wrote:
> >
> > This patch supports to control usb otg phy of EXYNOS4210.
> >
> > Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > [Rebased on the newest git/kgene/linux-samsung #for-next]
> > Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
> > ---
> > arch/arm/mach-exynos/include/mach/irqs.h | 1 +
> > arch/arm/mach-exynos/include/mach/map.h | 4 +
> > arch/arm/mach-exynos/include/mach/regs-pmu.h | 3 +
> > arch/arm/mach-exynos/setup-usb-phy.c | 95
> +++++++++++++++++++-----
> > --
> > 4 files changed, 78 insertions(+), 25 deletions(-)
> >
>
> [...]
>
> Hi Lukasz,
>
> I have small comments on this.
>
> > +static int exynos4_usb_phy0_init(struct platform_device *pdev)
> > +{
> > + u32 rstcon;
> > +
> > + writel(readl(S5P_USBDEVICE_PHY_CONTROL) |
> > S5P_USBDEVICE_PHY_ENABLE,
> > + S5P_USBDEVICE_PHY_CONTROL);
> > +
> > + exynos4_usb_phy_clkset(pdev);
> > +
> > + /* set to normal PHY0 */
> > + writel((readl(EXYNOS4_PHYPWR) & ~PHY0_NORMAL_MASK),
> > EXYNOS4_PHYPWR); +
> > + /* reset PHY0 and Link */
> > + rstcon = readl(EXYNOS4_RSTCON) | PHY0_SWRST_MASK;
> > + writel(rstcon, EXYNOS4_RSTCON);
> > + udelay(10);
> > +
> > + rstcon &= ~PHY0_SWRST_MASK;
> > + writel(rstcon, EXYNOS4_RSTCON);
> > + udelay(80);
>
> Do we _really_ need above udelay(80)?
>
> As I know, we only need it in the phy1_init() for EHCI and we don't
> need it here.
I will test if this removal not break anything.
>
> [...]
>
> > int s5p_usb_phy_init(struct platform_device *pdev, int type)
> > {
> > - if (type == S5P_USB_PHY_HOST)
> > + if (type == S5P_USB_PHY_DEVICE)
> > + return exynos4_usb_phy0_init(pdev);
>
> I think, this should be exynos4210_usb_phy0_init(pdev), because this
> is available on only exynos4210 not
> exynos4x12 and exynos5.
I will change the name and submit a patch.
>
> > + else if (type == S5P_USB_PHY_HOST)
> > return exynos4_usb_phy1_init(pdev);
>
> Same as above.
>
> >
> > return -EINVAL;
> > @@ -144,7 +187,9 @@ int s5p_usb_phy_init(struct platform_device
> > *pdev, int type)
> >
> > int s5p_usb_phy_exit(struct platform_device *pdev, int type)
> > {
> > - if (type == S5P_USB_PHY_HOST)
> > + if (type == S5P_USB_PHY_DEVICE)
> > + return exynos4_usb_phy0_exit(pdev);
>
> Same as above.
>
> > + else if (type == S5P_USB_PHY_HOST)
> > return exynos4_usb_phy1_exit(pdev);
>
> Same as above.
>
> If you're ok on my comments, could you please update it as soon as
> possible for v3.5?
I will prepare a patch.
>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
>
--
Best regards,
Lukasz Majewski
Samsung Poland R&D Center | Linux Platform Group
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH RESEND 2/4] ARM: EXYNOS: Add s3c-hsotg device support for GONI board
2012-05-10 13:16 [PATCH RESEND 0/4] ARM: EXYNOS: Add s3c-hsotg support for Exynos4210 and S5PV210 boards Lukasz Majewski
2012-05-10 13:16 ` [PATCH RESEND 1/4] ARM: EXYNOS: Add usb otg phy control for EXYNOS4210 Lukasz Majewski
@ 2012-05-10 13:16 ` Lukasz Majewski
2012-05-10 13:16 ` [PATCH RESEND 3/4] ARM: EXYNOS: Add s3c-hsotg device support for NURI board Lukasz Majewski
` (3 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Lukasz Majewski @ 2012-05-10 13:16 UTC (permalink / raw)
To: Kukjin Kim
Cc: Marek Szyprowski, Lukasz Majewski, linux-samsung-soc,
Kyungmin Park
This patch adds hsotg device to the GONI board.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/mach-s5pv210/Kconfig | 1 +
arch/arm/mach-s5pv210/mach-goni.c | 5 +++++
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig
index 29594fc..88e983b 100644
--- a/arch/arm/mach-s5pv210/Kconfig
+++ b/arch/arm/mach-s5pv210/Kconfig
@@ -85,6 +85,7 @@ config MACH_AQUILA
select S5P_DEV_ONENAND
select S5PV210_SETUP_FB_24BPP
select S5PV210_SETUP_SDHCI
+ select S5PV210_SETUP_USB_PHY
help
Machine support for the Samsung Aquila target based on S5PC110 SoC
diff --git a/arch/arm/mach-s5pv210/mach-goni.c b/arch/arm/mach-s5pv210/mach-goni.c
index 3239566..5fac4e4 100644
--- a/arch/arm/mach-s5pv210/mach-goni.c
+++ b/arch/arm/mach-s5pv210/mach-goni.c
@@ -278,6 +278,9 @@ static void __init goni_tsp_init(void)
i2c2_devs[0].irq = gpio_to_irq(gpio);
}
+/* USB OTG */
+static struct s3c_hsotg_plat goni_hsotg_pdata;
+
static void goni_camera_init(void)
{
s5pv210_fimc_setup_gpio(S5P_CAMPORT_A);
@@ -941,6 +944,8 @@ static void __init goni_machine_init(void)
s3c_set_platdata(&goni_fimc_md_platdata, sizeof(goni_fimc_md_platdata),
&s5p_device_fimc_md);
+ s3c_hsotg_set_platdata(&goni_hsotg_pdata);
+
goni_camera_init();
/* SPI */
--
1.7.2.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH RESEND 3/4] ARM: EXYNOS: Add s3c-hsotg device support for NURI board
2012-05-10 13:16 [PATCH RESEND 0/4] ARM: EXYNOS: Add s3c-hsotg support for Exynos4210 and S5PV210 boards Lukasz Majewski
2012-05-10 13:16 ` [PATCH RESEND 1/4] ARM: EXYNOS: Add usb otg phy control for EXYNOS4210 Lukasz Majewski
2012-05-10 13:16 ` [PATCH RESEND 2/4] ARM: EXYNOS: Add s3c-hsotg device support for GONI board Lukasz Majewski
@ 2012-05-10 13:16 ` Lukasz Majewski
2012-05-13 1:07 ` Kukjin Kim
2012-05-10 13:16 ` [PATCH RESEND 4/4] ARM: EXYNOS: Add s3c-hsotg device support for Universal C210 board Lukasz Majewski
` (2 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Lukasz Majewski @ 2012-05-10 13:16 UTC (permalink / raw)
To: Kukjin Kim
Cc: Marek Szyprowski, Lukasz Majewski, linux-samsung-soc,
Kyungmin Park, Joonyoung Shim
From: Joonyoung Shim <jy0922.shim@samsung.com>
This patch adds hsotg device to the NURI board.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[Rebased on the newest git/kgene/linux-samsung #for-next]
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
---
arch/arm/mach-exynos/Kconfig | 1 +
arch/arm/mach-exynos/mach-nuri.c | 9 ++++++++-
2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 2c35fd4..5e64728 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -287,6 +287,7 @@ config MACH_NURI
select S5P_DEV_MFC
select S5P_DEV_USB_EHCI
select S5P_SETUP_MIPIPHY
+ select S3C_DEV_USB_HSOTG
select EXYNOS4_DEV_DMA
select EXYNOS4_SETUP_FIMC
select EXYNOS4_SETUP_FIMD0
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c
index 021dc68..4402aad 100644
--- a/arch/arm/mach-exynos/mach-nuri.c
+++ b/arch/arm/mach-exynos/mach-nuri.c
@@ -348,6 +348,7 @@ static struct regulator_consumer_supply __initdata max8997_ldo1_[] = {
REGULATOR_SUPPLY("vdd", "s5p-adc"), /* Used by CPU's ADC drv */
};
static struct regulator_consumer_supply __initdata max8997_ldo3_[] = {
+ REGULATOR_SUPPLY("vusb_d", "s3c-hsotg"), /* USB */
REGULATOR_SUPPLY("vdd11", "s5p-mipi-csis.0"), /* MIPI */
};
static struct regulator_consumer_supply __initdata max8997_ldo4_[] = {
@@ -363,7 +364,7 @@ static struct regulator_consumer_supply __initdata max8997_ldo7_[] = {
REGULATOR_SUPPLY("dig_18", "0-001f"), /* HCD803 */
};
static struct regulator_consumer_supply __initdata max8997_ldo8_[] = {
- REGULATOR_SUPPLY("vusb_d", NULL), /* Used by CPU */
+ REGULATOR_SUPPLY("vusb_a", "s3c-hsotg"), /* USB */
REGULATOR_SUPPLY("vdac", NULL), /* Used by CPU */
};
static struct regulator_consumer_supply __initdata max8997_ldo11_[] = {
@@ -819,6 +820,7 @@ static struct regulator_init_data __initdata max8997_esafeout1_data = {
.constraints = {
.name = "SAFEOUT1",
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
+ .always_on = 1,
.state_mem = {
.disabled = 1,
},
@@ -1076,6 +1078,9 @@ static void __init nuri_ehci_init(void)
s5p_ehci_set_platdata(pdata);
}
+/* USB OTG */
+static struct s3c_hsotg_plat nuri_hsotg_pdata;
+
/* CAMERA */
static struct regulator_consumer_supply cam_vt_cam15_supply =
REGULATOR_SUPPLY("vdd_core", "6-003c");
@@ -1288,6 +1293,7 @@ static struct platform_device *nuri_devices[] __initdata = {
&s5p_device_mfc_l,
&s5p_device_mfc_r,
&s5p_device_fimc_md,
+ &s3c_device_usb_hsotg,
/* NURI Devices */
&nuri_gpio_keys,
@@ -1336,6 +1342,7 @@ static void __init nuri_machine_init(void)
nuri_camera_init();
nuri_ehci_init();
+ s3c_hsotg_set_platdata(&nuri_hsotg_pdata);
/* Last */
platform_add_devices(nuri_devices, ARRAY_SIZE(nuri_devices));
--
1.7.2.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH RESEND 3/4] ARM: EXYNOS: Add s3c-hsotg device support for NURI board
2012-05-10 13:16 ` [PATCH RESEND 3/4] ARM: EXYNOS: Add s3c-hsotg device support for NURI board Lukasz Majewski
@ 2012-05-13 1:07 ` Kukjin Kim
2012-05-14 8:48 ` Lukasz Majewski
0 siblings, 1 reply; 13+ messages in thread
From: Kukjin Kim @ 2012-05-13 1:07 UTC (permalink / raw)
To: Lukasz Majewski
Cc: Kukjin Kim, Marek Szyprowski, linux-samsung-soc, Kyungmin Park,
Joonyoung Shim
On 05/10/12 22:16, Lukasz Majewski wrote:
> From: Joonyoung Shim<jy0922.shim@samsung.com>
>
> This patch adds hsotg device to the NURI board.
>
> Signed-off-by: Joonyoung Shim<jy0922.shim@samsung.com>
> Signed-off-by: Kyungmin Park<kyungmin.park@samsung.com>
> [Rebased on the newest git/kgene/linux-samsung #for-next]
> Signed-off-by: Lukasz Majewski<l.majewski@samsung.com>
> ---
> arch/arm/mach-exynos/Kconfig | 1 +
> arch/arm/mach-exynos/mach-nuri.c | 9 ++++++++-
> 2 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
> index 2c35fd4..5e64728 100644
> --- a/arch/arm/mach-exynos/Kconfig
> +++ b/arch/arm/mach-exynos/Kconfig
> @@ -287,6 +287,7 @@ config MACH_NURI
> select S5P_DEV_MFC
> select S5P_DEV_USB_EHCI
> select S5P_SETUP_MIPIPHY
> + select S3C_DEV_USB_HSOTG
> select EXYNOS4_DEV_DMA
> select EXYNOS4_SETUP_FIMC
> select EXYNOS4_SETUP_FIMD0
> diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c
> index 021dc68..4402aad 100644
> --- a/arch/arm/mach-exynos/mach-nuri.c
> +++ b/arch/arm/mach-exynos/mach-nuri.c
> @@ -348,6 +348,7 @@ static struct regulator_consumer_supply __initdata max8997_ldo1_[] = {
> REGULATOR_SUPPLY("vdd", "s5p-adc"), /* Used by CPU's ADC drv */
> };
> static struct regulator_consumer_supply __initdata max8997_ldo3_[] = {
> + REGULATOR_SUPPLY("vusb_d", "s3c-hsotg"), /* USB */
> REGULATOR_SUPPLY("vdd11", "s5p-mipi-csis.0"), /* MIPI */
> };
> static struct regulator_consumer_supply __initdata max8997_ldo4_[] = {
> @@ -363,7 +364,7 @@ static struct regulator_consumer_supply __initdata max8997_ldo7_[] = {
> REGULATOR_SUPPLY("dig_18", "0-001f"), /* HCD803 */
> };
> static struct regulator_consumer_supply __initdata max8997_ldo8_[] = {
> - REGULATOR_SUPPLY("vusb_d", NULL), /* Used by CPU */
> + REGULATOR_SUPPLY("vusb_a", "s3c-hsotg"), /* USB */
> REGULATOR_SUPPLY("vdac", NULL), /* Used by CPU */
> };
> static struct regulator_consumer_supply __initdata max8997_ldo11_[] = {
> @@ -819,6 +820,7 @@ static struct regulator_init_data __initdata max8997_esafeout1_data = {
> .constraints = {
> .name = "SAFEOUT1",
> .valid_ops_mask = REGULATOR_CHANGE_STATUS,
> + .always_on = 1,
> .state_mem = {
> .disabled = 1,
> },
> @@ -1076,6 +1078,9 @@ static void __init nuri_ehci_init(void)
> s5p_ehci_set_platdata(pdata);
> }
>
> +/* USB OTG */
> +static struct s3c_hsotg_plat nuri_hsotg_pdata;
> +
> /* CAMERA */
> static struct regulator_consumer_supply cam_vt_cam15_supply =
> REGULATOR_SUPPLY("vdd_core", "6-003c");
> @@ -1288,6 +1293,7 @@ static struct platform_device *nuri_devices[] __initdata = {
> &s5p_device_mfc_l,
> &s5p_device_mfc_r,
> &s5p_device_fimc_md,
> + &s3c_device_usb_hsotg,
>
> /* NURI Devices */
> &nuri_gpio_keys,
> @@ -1336,6 +1342,7 @@ static void __init nuri_machine_init(void)
> nuri_camera_init();
>
> nuri_ehci_init();
> + s3c_hsotg_set_platdata(&nuri_hsotg_pdata);
>
> /* Last */
> platform_add_devices(nuri_devices, ARRAY_SIZE(nuri_devices));
Oops, happens build error...
arch/arm/mach-s5pv210/mach-goni.c: In function 'goni_machine_init':
arch/arm/mach-s5pv210/mach-goni.c:947: error: implicit declaration of
function 's3c_hsotg_set_platdata'
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH RESEND 3/4] ARM: EXYNOS: Add s3c-hsotg device support for NURI board
2012-05-13 1:07 ` Kukjin Kim
@ 2012-05-14 8:48 ` Lukasz Majewski
2012-05-14 14:01 ` Kukjin Kim
0 siblings, 1 reply; 13+ messages in thread
From: Lukasz Majewski @ 2012-05-14 8:48 UTC (permalink / raw)
To: Kukjin Kim; +Cc: Marek Szyprowski, linux-samsung-soc, Kyungmin Park
Hi Kukjin,
> Oops, happens build error...
>
> arch/arm/mach-s5pv210/mach-goni.c: In function 'goni_machine_init':
> arch/arm/mach-s5pv210/mach-goni.c:947: error: implicit declaration of
> function 's3c_hsotg_set_platdata'
Thanks for applying patches.
Regarding the build error:
After applying following patches on top of yours for next
(linux-samsung/for-next) the problem with build error doesn't appear
anymore.
Link to USB HSOTG patch series:
http://permalink.gmane.org/gmane.linux.usb.general/62101
"usb:hsotg:samsung USB S3C-HSOTG driver fixes and code cleanup"
Moreover those patches have been already applied to Greg-KH's usb-next
branch an will be released with 3.5 kernel.
--
Best regards,
Lukasz Majewski
Samsung Poland R&D Center | Linux Platform Group
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH RESEND 3/4] ARM: EXYNOS: Add s3c-hsotg device support for NURI board
2012-05-14 8:48 ` Lukasz Majewski
@ 2012-05-14 14:01 ` Kukjin Kim
0 siblings, 0 replies; 13+ messages in thread
From: Kukjin Kim @ 2012-05-14 14:01 UTC (permalink / raw)
To: Lukasz Majewski
Cc: Kukjin Kim, Marek Szyprowski, linux-samsung-soc, Kyungmin Park
On 05/14/12 17:48, Lukasz Majewski wrote:
> Hi Kukjin,
>
>> Oops, happens build error...
>>
>> arch/arm/mach-s5pv210/mach-goni.c: In function 'goni_machine_init':
>> arch/arm/mach-s5pv210/mach-goni.c:947: error: implicit declaration of
>> function 's3c_hsotg_set_platdata'
>
> Thanks for applying patches.
>
> Regarding the build error:
>
> After applying following patches on top of yours for next
> (linux-samsung/for-next) the problem with build error doesn't appear
> anymore.
>
Yes, I know why the build error happens and I can't apply them which are
already in usb tree in my tree now. I'm thinking this series should be
sent to upstream via usb tree together so if required, I will ask Greg
and Felipe to do it.
> Link to USB HSOTG patch series:
>
> http://permalink.gmane.org/gmane.linux.usb.general/62101
> "usb:hsotg:samsung USB S3C-HSOTG driver fixes and code cleanup"
>
> Moreover those patches have been already applied to Greg-KH's usb-next
> branch an will be released with 3.5 kernel.
>
Yeah, I know. But the problem is that if arm-soc tree is merged before
usb tree, same build error will be happened in mainline so I was
thinking how we can avoid that. If your effort is required, let you know.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH RESEND 4/4] ARM: EXYNOS: Add s3c-hsotg device support for Universal C210 board
2012-05-10 13:16 [PATCH RESEND 0/4] ARM: EXYNOS: Add s3c-hsotg support for Exynos4210 and S5PV210 boards Lukasz Majewski
` (2 preceding siblings ...)
2012-05-10 13:16 ` [PATCH RESEND 3/4] ARM: EXYNOS: Add s3c-hsotg device support for NURI board Lukasz Majewski
@ 2012-05-10 13:16 ` Lukasz Majewski
2012-05-12 23:53 ` [PATCH RESEND 0/4] ARM: EXYNOS: Add s3c-hsotg support for Exynos4210 and S5PV210 boards Kukjin Kim
2012-05-17 3:27 ` Tushar Behera
5 siblings, 0 replies; 13+ messages in thread
From: Lukasz Majewski @ 2012-05-10 13:16 UTC (permalink / raw)
To: Kukjin Kim
Cc: Marek Szyprowski, Lukasz Majewski, linux-samsung-soc,
Kyungmin Park
This patch adds platform data for using S3C-HSOTG driver at
Universal_C210 target.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/mach-exynos/Kconfig | 2 ++
arch/arm/mach-exynos/mach-universal_c210.c | 10 ++++++++++
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 5e64728..56d0e7e 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -246,6 +246,7 @@ config MACH_UNIVERSAL_C210
select S3C_DEV_I2C1
select S3C_DEV_I2C3
select S3C_DEV_I2C5
+ select S3C_DEV_USB_HSOTG
select S5P_DEV_I2C_HDMIPHY
select S5P_DEV_MFC
select S5P_DEV_ONENAND
@@ -259,6 +260,7 @@ config MACH_UNIVERSAL_C210
select EXYNOS4_SETUP_SDHCI
select EXYNOS4_SETUP_FIMC
select S5P_SETUP_MIPIPHY
+ select EXYNOS4_SETUP_USB_PHY
help
Machine support for Samsung Mobile Universal S5PC210 Reference
Board.
diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c
index add55b4..9781669 100644
--- a/arch/arm/mach-exynos/mach-universal_c210.c
+++ b/arch/arm/mach-exynos/mach-universal_c210.c
@@ -204,6 +204,7 @@ static struct regulator_init_data lp3974_ldo2_data = {
};
static struct regulator_consumer_supply lp3974_ldo3_consumer[] = {
+ REGULATOR_SUPPLY("vusb_a", "s3c-hsotg"),
REGULATOR_SUPPLY("vdd", "exynos4-hdmi"),
REGULATOR_SUPPLY("vdd_pll", "exynos4-hdmi"),
REGULATOR_SUPPLY("vdd11", "s5p-mipi-csis.0"),
@@ -289,6 +290,7 @@ static struct regulator_init_data lp3974_ldo7_data = {
};
static struct regulator_consumer_supply lp3974_ldo8_consumer[] = {
+ REGULATOR_SUPPLY("vusb_d", "s3c-hsotg"),
REGULATOR_SUPPLY("vdd33a_dac", "s5p-sdo"),
};
@@ -485,7 +487,10 @@ static struct regulator_init_data lp3974_vichg_data = {
static struct regulator_init_data lp3974_esafeout1_data = {
.constraints = {
.name = "SAFEOUT1",
+ .min_uV = 4800000,
+ .max_uV = 4800000,
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
+ .always_on = 1,
.state_mem = {
.enabled = 1,
},
@@ -991,6 +996,9 @@ static struct gpio universal_camera_gpios[] = {
{ GPIO_CAM_VGA_NSTBY, GPIOF_OUT_INIT_LOW, "CAM_VGA_NSTBY" },
};
+/* USB OTG */
+static struct s3c_hsotg_plat universal_hsotg_pdata;
+
static void __init universal_camera_init(void)
{
s3c_set_platdata(&mipi_csis_platdata, sizeof(mipi_csis_platdata),
@@ -1046,6 +1054,7 @@ static struct platform_device *universal_devices[] __initdata = {
&s5p_device_onenand,
&s5p_device_fimd0,
&s5p_device_jpeg,
+ &s3c_device_usb_hsotg,
&s5p_device_mfc,
&s5p_device_mfc_l,
&s5p_device_mfc_r,
@@ -1098,6 +1107,7 @@ static void __init universal_machine_init(void)
i2c_register_board_info(I2C_GPIO_BUS_12, i2c_gpio12_devs,
ARRAY_SIZE(i2c_gpio12_devs));
+ s3c_hsotg_set_platdata(&universal_hsotg_pdata);
universal_camera_init();
/* Last */
--
1.7.2.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH RESEND 0/4] ARM: EXYNOS: Add s3c-hsotg support for Exynos4210 and S5PV210 boards
2012-05-10 13:16 [PATCH RESEND 0/4] ARM: EXYNOS: Add s3c-hsotg support for Exynos4210 and S5PV210 boards Lukasz Majewski
` (3 preceding siblings ...)
2012-05-10 13:16 ` [PATCH RESEND 4/4] ARM: EXYNOS: Add s3c-hsotg device support for Universal C210 board Lukasz Majewski
@ 2012-05-12 23:53 ` Kukjin Kim
2012-05-17 3:27 ` Tushar Behera
5 siblings, 0 replies; 13+ messages in thread
From: Kukjin Kim @ 2012-05-12 23:53 UTC (permalink / raw)
To: Lukasz Majewski
Cc: Kukjin Kim, Marek Szyprowski, linux-samsung-soc, Kyungmin Park
On 05/10/12 22:16, Lukasz Majewski wrote:
> This patch series adds S3C-HSOTG UDC support for Exynos4210 and S5PV210 based targets; namely
> Universal_C210, Nuri and GONI.
>
> Tested HW:
> - Exynos4210 NURI target rev.1
> - Exynos4210 Universal_C210 target rev.0
> - S5PV210 GONI target
>
> Dependencies:
> - usb:hsotg:samsung USB S3C-HSOTG driver fixes and code cleanup
> patches, which have been already pulled to usb for-next branch.
>
> http://permalink.gmane.org/gmane.linux.usb.general/62101
>
> Those patches are enabling this UDC driver on GONI, NURI and Universal_C210 targets
>
> Joonyoung Shim (1):
> ARM: EXYNOS: Add s3c-hsotg device support for NURI board
>
> Lukasz Majewski (3):
> ARM: EXYNOS: Add usb otg phy control for EXYNOS4210
> ARM: EXYNOS: Add s3c-hsotg device support for GONI board
> ARM: EXYNOS: Add s3c-hsotg device support for Universal C210 board
>
> arch/arm/mach-exynos/Kconfig | 3 +
> arch/arm/mach-exynos/include/mach/irqs.h | 1 +
> arch/arm/mach-exynos/include/mach/map.h | 4 +
> arch/arm/mach-exynos/include/mach/regs-pmu.h | 3 +
> arch/arm/mach-exynos/mach-nuri.c | 9 ++-
> arch/arm/mach-exynos/mach-universal_c210.c | 10 +++
> arch/arm/mach-exynos/setup-usb-phy.c | 95 +++++++++++++++++++-------
> arch/arm/mach-s5pv210/Kconfig | 1 +
> arch/arm/mach-s5pv210/mach-goni.c | 5 ++
> 9 files changed, 105 insertions(+), 26 deletions(-)
>
Applied,
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH RESEND 0/4] ARM: EXYNOS: Add s3c-hsotg support for Exynos4210 and S5PV210 boards
2012-05-10 13:16 [PATCH RESEND 0/4] ARM: EXYNOS: Add s3c-hsotg support for Exynos4210 and S5PV210 boards Lukasz Majewski
` (4 preceding siblings ...)
2012-05-12 23:53 ` [PATCH RESEND 0/4] ARM: EXYNOS: Add s3c-hsotg support for Exynos4210 and S5PV210 boards Kukjin Kim
@ 2012-05-17 3:27 ` Tushar Behera
5 siblings, 0 replies; 13+ messages in thread
From: Tushar Behera @ 2012-05-17 3:27 UTC (permalink / raw)
To: Kukjin Kim
Cc: Lukasz Majewski, Marek Szyprowski, linux-samsung-soc,
Kyungmin Park
On 05/10/2012 06:46 PM, Lukasz Majewski wrote:
> This patch series adds S3C-HSOTG UDC support for Exynos4210 and S5PV210 based targets; namely
> Universal_C210, Nuri and GONI.
>
> Tested HW:
> - Exynos4210 NURI target rev.1
> - Exynos4210 Universal_C210 target rev.0
> - S5PV210 GONI target
>
> Dependencies:
> - usb:hsotg:samsung USB S3C-HSOTG driver fixes and code cleanup
> patches, which have been already pulled to usb for-next branch.
>
> http://permalink.gmane.org/gmane.linux.usb.general/62101
>
> Those patches are enabling this UDC driver on GONI, NURI and Universal_C210 targets
>
> Joonyoung Shim (1):
> ARM: EXYNOS: Add s3c-hsotg device support for NURI board
>
> Lukasz Majewski (3):
> ARM: EXYNOS: Add usb otg phy control for EXYNOS4210
> ARM: EXYNOS: Add s3c-hsotg device support for GONI board
> ARM: EXYNOS: Add s3c-hsotg device support for Universal C210 board
>
> arch/arm/mach-exynos/Kconfig | 3 +
> arch/arm/mach-exynos/include/mach/irqs.h | 1 +
> arch/arm/mach-exynos/include/mach/map.h | 4 +
> arch/arm/mach-exynos/include/mach/regs-pmu.h | 3 +
> arch/arm/mach-exynos/mach-nuri.c | 9 ++-
> arch/arm/mach-exynos/mach-universal_c210.c | 10 +++
> arch/arm/mach-exynos/setup-usb-phy.c | 95 +++++++++++++++++++-------
> arch/arm/mach-s5pv210/Kconfig | 1 +
> arch/arm/mach-s5pv210/mach-goni.c | 5 ++
> 9 files changed, 105 insertions(+), 26 deletions(-)
>
Kukjin,
Are you planning to queue this patchset for 3.5? If so, I have one patch
for enabling support on Origen board, which I would like to add on top
of these patches.
Please let me know about your plan.
--
Tushar Behera
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH RESEND 3/4] ARM: EXYNOS: Add s3c-hsotg device support for NURI board
2012-05-10 16:29 Lukasz Majewski
@ 2012-05-10 16:29 ` Lukasz Majewski
0 siblings, 0 replies; 13+ messages in thread
From: Lukasz Majewski @ 2012-05-10 16:29 UTC (permalink / raw)
To: linux-arm-kernel
From: Joonyoung Shim <jy0922.shim@samsung.com>
This patch adds hsotg device to the NURI board.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[Rebased on the newest git/kgene/linux-samsung #for-next]
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
---
arch/arm/mach-exynos/Kconfig | 1 +
arch/arm/mach-exynos/mach-nuri.c | 9 ++++++++-
2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 2c35fd4..5e64728 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -287,6 +287,7 @@ config MACH_NURI
select S5P_DEV_MFC
select S5P_DEV_USB_EHCI
select S5P_SETUP_MIPIPHY
+ select S3C_DEV_USB_HSOTG
select EXYNOS4_DEV_DMA
select EXYNOS4_SETUP_FIMC
select EXYNOS4_SETUP_FIMD0
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c
index 021dc68..4402aad 100644
--- a/arch/arm/mach-exynos/mach-nuri.c
+++ b/arch/arm/mach-exynos/mach-nuri.c
@@ -348,6 +348,7 @@ static struct regulator_consumer_supply __initdata max8997_ldo1_[] = {
REGULATOR_SUPPLY("vdd", "s5p-adc"), /* Used by CPU's ADC drv */
};
static struct regulator_consumer_supply __initdata max8997_ldo3_[] = {
+ REGULATOR_SUPPLY("vusb_d", "s3c-hsotg"), /* USB */
REGULATOR_SUPPLY("vdd11", "s5p-mipi-csis.0"), /* MIPI */
};
static struct regulator_consumer_supply __initdata max8997_ldo4_[] = {
@@ -363,7 +364,7 @@ static struct regulator_consumer_supply __initdata max8997_ldo7_[] = {
REGULATOR_SUPPLY("dig_18", "0-001f"), /* HCD803 */
};
static struct regulator_consumer_supply __initdata max8997_ldo8_[] = {
- REGULATOR_SUPPLY("vusb_d", NULL), /* Used by CPU */
+ REGULATOR_SUPPLY("vusb_a", "s3c-hsotg"), /* USB */
REGULATOR_SUPPLY("vdac", NULL), /* Used by CPU */
};
static struct regulator_consumer_supply __initdata max8997_ldo11_[] = {
@@ -819,6 +820,7 @@ static struct regulator_init_data __initdata max8997_esafeout1_data = {
.constraints = {
.name = "SAFEOUT1",
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
+ .always_on = 1,
.state_mem = {
.disabled = 1,
},
@@ -1076,6 +1078,9 @@ static void __init nuri_ehci_init(void)
s5p_ehci_set_platdata(pdata);
}
+/* USB OTG */
+static struct s3c_hsotg_plat nuri_hsotg_pdata;
+
/* CAMERA */
static struct regulator_consumer_supply cam_vt_cam15_supply =
REGULATOR_SUPPLY("vdd_core", "6-003c");
@@ -1288,6 +1293,7 @@ static struct platform_device *nuri_devices[] __initdata = {
&s5p_device_mfc_l,
&s5p_device_mfc_r,
&s5p_device_fimc_md,
+ &s3c_device_usb_hsotg,
/* NURI Devices */
&nuri_gpio_keys,
@@ -1336,6 +1342,7 @@ static void __init nuri_machine_init(void)
nuri_camera_init();
nuri_ehci_init();
+ s3c_hsotg_set_platdata(&nuri_hsotg_pdata);
/* Last */
platform_add_devices(nuri_devices, ARRAY_SIZE(nuri_devices));
--
1.7.2.3
^ permalink raw reply related [flat|nested] 13+ messages in thread