Re: [PATCH] usb: phy: Add USB host phy support on Exyno4412

2013-02-04 Thread Kyungmin Park
Hi,

Can split patch into two parts?
One for USB tree, another for samsung tree.

Thank you,
Kyungmin Park

On Tue, Feb 5, 2013 at 9:37 AM, Dongjin Kim  wrote:
> This patch adds host phy support for Samsung's Exynos4412 SoC to
> samsung-usbphy driver and its device node.
>
> Cc: Praveen Paneri 
> Signed-off-by: Dongjin Kim 
> ---
>  arch/arm/boot/dts/exynos4412.dtsi |   13 
>  drivers/usb/phy/samsung-usbphy.c  |  156 
> -
>  2 files changed, 167 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos4412.dtsi 
> b/arch/arm/boot/dts/exynos4412.dtsi
> index 387aa27..c01d841 100644
> --- a/arch/arm/boot/dts/exynos4412.dtsi
> +++ b/arch/arm/boot/dts/exynos4412.dtsi
> @@ -33,4 +33,17 @@
> #address-cells = <1>;
> #size-cells = <0>;
> };
> +
> +   usbphy@125B {
> +   #address-cells = <1>;
> +   #size-cells = <1>;
> +   compatible = "samsung,exynos4412-usbphy";
> +   reg = <0x125B 0x100>;
> +   status = "disabled";
> +   ranges;
> +
> +   usbphy-sys {
> +   reg = <0x10020704 0xc>;
> +   };
> +   };
>  };
> diff --git a/drivers/usb/phy/samsung-usbphy.c 
> b/drivers/usb/phy/samsung-usbphy.c
> index 6ea5537..c800fa4 100644
> --- a/drivers/usb/phy/samsung-usbphy.c
> +++ b/drivers/usb/phy/samsung-usbphy.c
> @@ -47,7 +47,7 @@
>
>  #define PHYCLK_MODE_USB11  (0x1 << 6)
>  #define PHYCLK_EXT_OSC (0x1 << 5)
> -#define PHYCLK_COMMON_ON_N (0x1 << 4)
> +#define PHYCLK_COMMON_ON_N_PHY0(0x1 << 4)
>  #define PHYCLK_ID_PULL (0x1 << 2)
>  #define PHYCLK_CLKSEL_MASK (0x3 << 0)
>  #define PHYCLK_CLKSEL_48M  (0x0 << 0)
> @@ -60,6 +60,22 @@
>  #define RSTCON_HLINK_SWRST (0x1 << 1)
>  #define RSTCON_SWRST   (0x1 << 0)
>
> +/* For Exynos4412 */
> +#define PHYCLK_COMMON_ON_N_PHY1(0x1 << 7)
> +
> +#define PHYPWR_NORMAL_MASK_HSIC1   (0x7 << 12)
> +#define PHYPWR_NORMAL_MASK_HSIC0   (0x7 << 9)
> +#define PHYPWR_NORMAL_MASK_PHY1(0x7 << 6)
> +
> +#define PHYPWR_ANALOG_POWERDOWN_PHY1   (0x1 << 7)
> +
> +#define RSTCON_HLINK_SWRST_MASK(0xf << 7)
> +#define RSTCON_PHY1_SWRST_MASK (0xf << 3)
> +#define RSTCON_PHY0_SWRST_MASK (0x7 << 0)
> +
> +#define EXYNOS4_PHY_HSIC_CTRL0 (0x04)
> +#define EXYNOS4_PHY_HSIC_CTRL1 (0x08)
> +
>  /* EXYNOS5 */
>  #define EXYNOS5_PHY_HOST_CTRL0 (0x00)
>
> @@ -174,6 +190,7 @@
>  enum samsung_cpu_type {
> TYPE_S3C64XX,
> TYPE_EXYNOS4210,
> +   TYPE_EXYNOS4412,
> TYPE_EXYNOS5250,
>  };
>
> @@ -322,6 +339,17 @@ static void samsung_usbphy_set_isolation(struct 
> samsung_usbphy *sphy, bool on)
> en_mask = sphy->drv_data->hostphy_en_mask;
> }
> break;
> +   case TYPE_EXYNOS4412:
> +   if (sphy->phy_type == USB_PHY_TYPE_DEVICE) {
> +   reg = sphy->pmuregs +
> +   sphy->drv_data->devphy_reg_offset;
> +   en_mask = sphy->drv_data->devphy_en_mask;
> +   } else if (sphy->phy_type == USB_PHY_TYPE_HOST) {
> +   reg = sphy->pmuregs +
> +   sphy->drv_data->hostphy_reg_offset;
> +   en_mask = sphy->drv_data->hostphy_en_mask;
> +   }
> +   break;
> default:
> dev_err(sphy->dev, "Invalid SoC type\n");
> return;
> @@ -422,6 +450,29 @@ static int samsung_usbphy_get_refclk_freq(struct 
> samsung_usbphy *sphy)
> refclk_freq = FSEL_CLKSEL_24M;
> break;
> }
> +   } else if (sphy->drv_data->cpu_type == TYPE_EXYNOS4412) {
> +   switch (clk_get_rate(ref_clk)) {
> +   case 9600 * KHZ:
> +   refclk_freq = FSEL_CLKSEL_9600K;
> +   break;
> +   case 10 * MHZ:
> +   refclk_freq = FSEL_CLKSEL_10M;
> +   

Re: [PATCH v6 1/5] usb: phy: samsung: Introducing usb phy driver for hsotg

2012-09-24 Thread Kyungmin Park
Acked-by: Kyungmin Park 

On 9/17/12, Praveen Paneri  wrote:
> This driver uses usb_phy interface to interact with s3c-hsotg. Supports
> phy_init and phy_shutdown functions to enable/disable phy. Tested with
> smdk6410 and smdkv310. More SoCs can be brought under later.
>
> Signed-off-by: Praveen Paneri 
> Acked-by: Heiko Stuebner 
> ---
>  .../devicetree/bindings/usb/samsung-usbphy.txt |9 +
>  drivers/usb/phy/Kconfig|8 +
>  drivers/usb/phy/Makefile   |1 +
>  drivers/usb/phy/samsung-usbphy.c   |  360
> 
>  include/linux/platform_data/samsung-usbphy.h   |   27 ++
>  5 files changed, 405 insertions(+), 0 deletions(-)
>  create mode 100644
> Documentation/devicetree/bindings/usb/samsung-usbphy.txt
>  create mode 100644 drivers/usb/phy/samsung-usbphy.c
>  create mode 100644 include/linux/platform_data/samsung-usbphy.h
>
> diff --git a/Documentation/devicetree/bindings/usb/samsung-usbphy.txt
> b/Documentation/devicetree/bindings/usb/samsung-usbphy.txt
> new file mode 100644
> index 000..fefd9c8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/samsung-usbphy.txt
> @@ -0,0 +1,9 @@
> +* Samsung's usb phy transceiver
> +
> +The Samsung's phy transceiver is used for controlling usb otg phy for
> +s3c-hsotg usb device controller.
> +
> +Required properties:
> +- compatible : should be "samsung,exynos4210-usbphy"
> +- reg : base physical address of the phy registers and length of memory
> mapped
> + region.
> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
> index 63c339b..313685f 100644
> --- a/drivers/usb/phy/Kconfig
> +++ b/drivers/usb/phy/Kconfig
> @@ -32,3 +32,11 @@ config MV_U3D_PHY
>   help
> Enable this to support Marvell USB 3.0 phy controller for Marvell
> SoC.
> +
> +config SAMSUNG_USBPHY
> + bool "Samsung USB PHY controller Driver"
> + depends on USB_S3C_HSOTG
> + select USB_OTG_UTILS
> + help
> +   Enable this to support Samsung USB phy controller for samsung
> +   SoCs.
> diff --git a/drivers/usb/phy/Makefile b/drivers/usb/phy/Makefile
> index b069f29..55dcfc1 100644
> --- a/drivers/usb/phy/Makefile
> +++ b/drivers/usb/phy/Makefile
> @@ -8,3 +8,4 @@ obj-$(CONFIG_OMAP_USB2)   += omap-usb2.o
>  obj-$(CONFIG_USB_ISP1301)+= isp1301.o
>  obj-$(CONFIG_MV_U3D_PHY) += mv_u3d_phy.o
>  obj-$(CONFIG_USB_EHCI_TEGRA) += tegra_usb_phy.o
> +obj-$(CONFIG_SAMSUNG_USBPHY) += samsung-usbphy.o
> diff --git a/drivers/usb/phy/samsung-usbphy.c
> b/drivers/usb/phy/samsung-usbphy.c
> new file mode 100644
> index 000..95ec4d0
> --- /dev/null
> +++ b/drivers/usb/phy/samsung-usbphy.c
> @@ -0,0 +1,360 @@
> +/* linux/drivers/usb/phy/samsung-usbphy.c
> + *
> + * Copyright (c) 2012 Samsung Electronics Co., Ltd.
> + *  http://www.samsung.com
> + *
> + * Author: Praveen Paneri 
> + *
> + * Samsung USB2.0 High-speed OTG transceiver, talks to S3C HS OTG
> controller
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + */
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +/* Register definitions */
> +
> +#define S3C_PHYPWR   (0x00)
> +
> +#define S3C_PHYPWR_NORMAL_MASK   (0x19 << 0)
> +#define S3C_PHYPWR_OTG_DISABLE   (1 << 4)
> +#define S3C_PHYPWR_ANALOG_POWERDOWN  (1 << 3)
> +#define S3C_PHYPWR_FORCE_SUSPEND (1 << 1)
> +/* For Exynos4 */
> +#define EXYNOS4_PHYPWR_NORMAL_MASK   (0x39 << 0)
> +#define EXYNOS4_PHYPWR_SLEEP (1 << 5)
> +
> +#define S3C_PHYCLK   (0x04)
> +
> +#define S3C_PHYCLK_MODE_SERIAL   (1 << 6)
> +#define S3C_PHYCLK_EXT_OSC   (1 << 5)
> +#define S3C_PHYCLK_COMMON_ON_N   (1 << 4)
> +#define S3C_PHYCLK_ID_PULL   (1 << 2)
> +#define S3C_PHYCLK_CLKSEL_MASK   (0x3 << 0)
> +#define S3C_PHYCLK_CLKSEL_SHIFT  (0)

Re: [PATCH] usb: phy: samsung: Introducing usb phy driver for hsotg

2012-10-15 Thread Kyungmin Park
+ Tomasz Figa,

Acked-by: Kyungmin Park 

On Mon, Oct 15, 2012 at 10:28 PM, Felipe Balbi  wrote:
> On Fri, Oct 12, 2012 at 03:45:34PM +0530, Praveen Paneri wrote:
>> platform_set_drvdata() required for driver's remove function, so adding
>> it back.
>>
>> From v6:
>> Added TODO for phy bindings with controller
>> Dropped platform_set_drvdata() from driver probe
>>
>> This driver uses usb_phy interface to interact with s3c-hsotg. Supports
>> phy_init and phy_shutdown functions to enable/disable phy. Tested with
>> smdk6410 and smdkv310. More SoCs can be brought under later.
>>
>
> this commit log needs improvement. There are stuff there which shouldn't
> go to git's history.
>
> I would like to get Tested-bys and Acked-by from DT maintainers.
>
>> Signed-off-by: Praveen Paneri 
>> Acked-by: Heiko Stuebner 
>> ---
>>  .../devicetree/bindings/usb/samsung-usbphy.txt |   11 +
>>  drivers/usb/phy/Kconfig|8 +
>>  drivers/usb/phy/Makefile   |1 +
>>  drivers/usb/phy/samsung-usbphy.c   |  357 
>> 
>>  include/linux/platform_data/samsung-usbphy.h   |   27 ++
>>  5 files changed, 404 insertions(+), 0 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/usb/samsung-usbphy.txt
>>  create mode 100644 drivers/usb/phy/samsung-usbphy.c
>>  create mode 100644 include/linux/platform_data/samsung-usbphy.h
>>
>> diff --git a/Documentation/devicetree/bindings/usb/samsung-usbphy.txt 
>> b/Documentation/devicetree/bindings/usb/samsung-usbphy.txt
>> new file mode 100644
>> index 000..7b26e2d
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/samsung-usbphy.txt
>> @@ -0,0 +1,11 @@
>> +* Samsung's usb phy transceiver
>> +
>> +The Samsung's phy transceiver is used for controlling usb otg phy for
>> +s3c-hsotg usb device controller.
>> +TODO: Adding the PHY binding with controller(s) according to the under
>> +developement generic PHY driver.
>> +
>> +Required properties:
>> +- compatible : should be "samsung,exynos4210-usbphy"
>> +- reg : base physical address of the phy registers and length of memory 
>> mapped
>> + region.
>> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
>> index 63c339b..313685f 100644
>> --- a/drivers/usb/phy/Kconfig
>> +++ b/drivers/usb/phy/Kconfig
>> @@ -32,3 +32,11 @@ config MV_U3D_PHY
>>   help
>> Enable this to support Marvell USB 3.0 phy controller for Marvell
>> SoC.
>> +
>> +config SAMSUNG_USBPHY
>> + bool "Samsung USB PHY controller Driver"
>> + depends on USB_S3C_HSOTG
>> + select USB_OTG_UTILS
>> + help
>> +   Enable this to support Samsung USB phy controller for samsung
>> +   SoCs.
>> diff --git a/drivers/usb/phy/Makefile b/drivers/usb/phy/Makefile
>> index b069f29..55dcfc1 100644
>> --- a/drivers/usb/phy/Makefile
>> +++ b/drivers/usb/phy/Makefile
>> @@ -8,3 +8,4 @@ obj-$(CONFIG_OMAP_USB2)   += omap-usb2.o
>>  obj-$(CONFIG_USB_ISP1301)+= isp1301.o
>>  obj-$(CONFIG_MV_U3D_PHY) += mv_u3d_phy.o
>>  obj-$(CONFIG_USB_EHCI_TEGRA) += tegra_usb_phy.o
>> +obj-$(CONFIG_SAMSUNG_USBPHY) += samsung-usbphy.o
>> diff --git a/drivers/usb/phy/samsung-usbphy.c 
>> b/drivers/usb/phy/samsung-usbphy.c
>> new file mode 100644
>> index 000..14c182f
>> --- /dev/null
>> +++ b/drivers/usb/phy/samsung-usbphy.c
>> @@ -0,0 +1,357 @@
>> +/* linux/drivers/usb/phy/samsung-usbphy.c
>> + *
>> + * Copyright (c) 2012 Samsung Electronics Co., Ltd.
>> + *  http://www.samsung.com
>> + *
>> + * Author: Praveen Paneri 
>> + *
>> + * Samsung USB2.0 High-speed OTG transceiver, talks to S3C HS OTG controller
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + */
>> +
>> +#include 
>> +#include 
>> +#include 
>> +#include 
>> +#include 
>> +#include 
>> +#include 
>> +#include 
>>

Re: [PATCH 1/5] usb: phy: samsung: Introducing usb phy driver for hsotg

2012-08-06 Thread Kyungmin Park
Hi Praveen,

On 8/6/12, Praveen Paneri  wrote:
> Hi Heiko,
>
> On Mon, Aug 6, 2012 at 3:24 AM, Heiko Stübner  wrote:
>> Hi Praveen,
>>
>> Am Mittwoch, 1. August 2012, 15:05:47 schrieb Praveen Paneri:
>>> This driver uses usb_phy interface to interact with s3c-hsotg. Supports
>>> phy_init and phy_shutdown functions to enable/disable phy. Tested with
>>> smdk6410 and smdkv310. More SoCs can be brought under later.
>>
>> Looks cool.
> Thanks
>>
>> From what I've seen the phy controllers on newer Samsung SoCs are still
>> somewhat similar to the one on my s3c2416/2450 machines. So hopefully at
>> some
>> point after the driver has settled, I'll find the time to add support for
>> these to the phy driver.
> Yes! that's great.
>>
>> Out of curiosity, what does the "sec" in sec_usbphy for?
> Its Samsung Electronics Co. :)
I'm also prefer to use 'samsung' or 'exynos'. Since I didn't see the
'sec' prefix for samsung drivers.

Thank you,
Kyungmin Park
>
> Praveen
>>
>>
>>
>>> Signed-off-by: Praveen Paneri 
>>
>> Acked-by: Heiko Stuebner 
>>
>>
>> Heiko
>>
>>
>>> ---
>>>  .../devicetree/bindings/usb/samsung-usbphy.txt |9 +
>>>  drivers/usb/phy/Kconfig|8 +
>>>  drivers/usb/phy/Makefile   |1 +
>>>  drivers/usb/phy/sec_usbphy.c   |  354
>>>  drivers/usb/phy/sec_usbphy.h
>>> |
>>>  48 +++
>>>  include/linux/platform_data/s3c-hsotg.h|5 +
>>>  6 files changed, 425 insertions(+), 0 deletions(-)
>>>  create mode 100644
>>> Documentation/devicetree/bindings/usb/samsung-usbphy.txt create mode
>>> 100644 drivers/usb/phy/sec_usbphy.c
>>>  create mode 100644 drivers/usb/phy/sec_usbphy.h
>>>
>>> diff --git a/Documentation/devicetree/bindings/usb/samsung-usbphy.txt
>>> b/Documentation/devicetree/bindings/usb/samsung-usbphy.txt new file mode
>>> 100644
>>> index 000..fefd9c8
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/usb/samsung-usbphy.txt
>>> @@ -0,0 +1,9 @@
>>> +* Samsung's usb phy transceiver
>>> +
>>> +The Samsung's phy transceiver is used for controlling usb otg phy for
>>> +s3c-hsotg usb device controller.
>>> +
>>> +Required properties:
>>> +- compatible : should be "samsung,exynos4210-usbphy"
>>> +- reg : base physical address of the phy registers and length of memory
>>> mapped +  region.
>>> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
>>> index e7cf84f..abbebe2 100644
>>> --- a/drivers/usb/phy/Kconfig
>>> +++ b/drivers/usb/phy/Kconfig
>>> @@ -15,3 +15,11 @@ config USB_ISP1301
>>>
>>> To compile this driver as a module, choose M here: the
>>> module will be called isp1301.
>>> +
>>> +config SEC_USBPHY
>>> +   bool "Samsung USB PHY controller Driver"
>>> +   depends on USB_S3C_HSOTG
>>> +   select USB_OTG_UTILS
>>> +   help
>>> + Enable this to support Samsung USB phy controller for samsung
>>> + SoCs.
>>> diff --git a/drivers/usb/phy/Makefile b/drivers/usb/phy/Makefile
>>> index eca095b..6bb66f0 100644
>>> --- a/drivers/usb/phy/Makefile
>>> +++ b/drivers/usb/phy/Makefile
>>> @@ -5,3 +5,4 @@
>>>  ccflags-$(CONFIG_USB_DEBUG) := -DDEBUG
>>>
>>>  obj-$(CONFIG_USB_ISP1301)+= isp1301.o
>>> +obj-$(CONFIG_SEC_USBPHY) += sec_usbphy.o
>>> diff --git a/drivers/usb/phy/sec_usbphy.c b/drivers/usb/phy/sec_usbphy.c
>>> new file mode 100644
>>> index 000..33119eb
>>> --- /dev/null
>>> +++ b/drivers/usb/phy/sec_usbphy.c
>>> @@ -0,0 +1,354 @@
>>> +/* linux/drivers/usb/phy/sec_usbphy.c
>>> + *
>>> + * Copyright (c) 2012 Samsung Electronics Co., Ltd.
>>> + *  http://www.samsung.com
>>> + *
>>> + * Author: Praveen Paneri 
>>> + *
>>> + * Samsung USB2.0 High-speed OTG transceiver, talks to S3C HS OTG
>>> controller + *
>>> + * This program is free software; you can redistribute it and/or modify
>>> + * it under the terms of the GNU General Public License version 2 as
>>> + * published by the Free Software Foundation.
>>> + *
>>&g

Re: [PATCH 1/5] usb: phy: samsung: Introducing usb phy driver for hsotg

2012-08-06 Thread Kyungmin Park
On 8/7/12, Praveen Paneri  wrote:
> Hi,
>
> On Mon, Aug 6, 2012 at 3:21 PM, Praveen Paneri 
> wrote:
>> Hi,
>>
>> On Mon, Aug 6, 2012 at 2:53 PM, Heiko Stübner  wrote:
>>> Am Montag, 6. August 2012, 10:23:52 schrieb Kyungmin Park:
>>>> Hi Praveen,
>>>>
>>>> On 8/6/12, Praveen Paneri  wrote:
>>>> > Hi Heiko,
>>>> >
>>>> > On Mon, Aug 6, 2012 at 3:24 AM, Heiko Stübner 
>>>> > wrote:
>>>> >> Hi Praveen,
>>>> >>
>>>> >> Am Mittwoch, 1. August 2012, 15:05:47 schrieb Praveen Paneri:
>>>> >>> This driver uses usb_phy interface to interact with s3c-hsotg.
>>>> >>> Supports
>>>> >>> phy_init and phy_shutdown functions to enable/disable phy. Tested
>>>> >>> with
>>>> >>> smdk6410 and smdkv310. More SoCs can be brought under later.
>>>> >>
>>>> >> Looks cool.
>>>> >
>>>> > Thanks
>>>> >
>>>> >> From what I've seen the phy controllers on newer Samsung SoCs are
>>>> >> still
>>>> >> somewhat similar to the one on my s3c2416/2450 machines. So hopefully
>>>> >> at
>>>> >> some
>>>> >> point after the driver has settled, I'll find the time to add
>>>> >> support
>>>> >> for these to the phy driver.
>>>> >
>>>> > Yes! that's great.
>>>> >
>>>> >> Out of curiosity, what does the "sec" in sec_usbphy for?
>>>> >
>>>> > Its Samsung Electronics Co. :)
>>>>
>>>> I'm also prefer to use 'samsung' or 'exynos'. Since I didn't see the
>>>> 'sec' prefix for samsung drivers.
>>>
>>> I'd second that. All new generic samsung drivers look like this (i.e.
>>> gpio-
>>> samsung, pwm-samsung).
> On the second thought I am thinking 'sec' is shorter and cooler. I
> know that it has not
I also think about it. but most of people think 'sec' is "Securities
and Exchange Commission" or security instead of "Samsung Electronics".
Ans TLA is avoid if possible.

Thank you,
Kyungmin Park
> been used anywhere else but there is always a first time :-P The
> shorter string helps in
> writing the code; especially when we have 80 character restriction. If
> you go through
> this driver itself you will realize this. Also there was a suggestion
> some time back to
> use 'sec' instead of 'samsung'.
> This is just my view about it. Please comment.
>
> Praveen
>
>>>
>>> Just checked the datasheets again. This general phy type is used in some
>>> form
>>> down to the S3C2443, so I'd prefer something with samsung in the name
>>> :-)
>> Yes! That makes sense. I will change the name to samsung_usbphy
>>
>> Praveen
>>>
>>>
>>> Heiko
>>>
>>>>
>>>> Thank you,
>>>> Kyungmin Park
>>>>
>>>> > Praveen
>>>> >
>>>> >>> Signed-off-by: Praveen Paneri 
>>>> >>
>>>> >> Acked-by: Heiko Stuebner 
>>>> >>
>>>> >>
>>>> >> Heiko
>>>> >>
>>>> >>> ---
>>>> >>>
>>>> >>>  .../devicetree/bindings/usb/samsung-usbphy.txt |9 +
>>>> >>>  drivers/usb/phy/Kconfig|8 +
>>>> >>>  drivers/usb/phy/Makefile   |1 +
>>>> >>>  drivers/usb/phy/sec_usbphy.c   |  354
>>>> >>>
>>>> >>>  drivers/usb/phy/sec_usbphy.h
>>>> >>>
>>>> >>>  48 +++
>>>> >>>  include/linux/platform_data/s3c-hsotg.h|5 +
>>>> >>>  6 files changed, 425 insertions(+), 0 deletions(-)
>>>> >>>  create mode 100644
>>>> >>>
>>>> >>> Documentation/devicetree/bindings/usb/samsung-usbphy.txt create
>>>> >>> mode
>>>> >>> 100644 drivers/usb/phy/sec_usbphy.c
>>>> >>>
>>>> >>>  create mode 100644 drivers/usb/phy/sec_usbphy.h
>>>> >>>
>>>> >>> diff --

Re: [PATCH] ARM: EXYNOS: Add USB HSIC device

2012-08-06 Thread Kyungmin Park
Hi,

Now another person try to use drivers/usb/phy for it.
"usb: phy: samsung: Introducing usb phy driver for hsotg"
Can you use it instead of previous one?

Thank you,
Kyungmin Park

On 8/6/12, Dongjin Kim  wrote:
> This patch support to control USB HSIC of EXYNOS4,
> edited based on Samsung's GT-i9100 ICS Opensource Update7.
>
> Change-Id: Ifba33c6a5166abf3644794eee6abe528bd71f521
> Signed-off-by: Dongjin Kim 
> ---
>  arch/arm/mach-exynos/common.c|5 +
>  arch/arm/mach-exynos/include/mach/regs-pmu.h |   12 +
>  arch/arm/mach-exynos/include/mach/regs-usb-phy.h |   97 +
>  arch/arm/mach-exynos/setup-usb-phy.c |  493
> --
>  drivers/usb/host/Kconfig |   14 +
>  5 files changed, 501 insertions(+), 120 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
> index 4eb39cd..94d58af 100644
> --- a/arch/arm/mach-exynos/common.c
> +++ b/arch/arm/mach-exynos/common.c
> @@ -179,6 +179,11 @@ static struct map_desc exynos4_iodesc[] __initdata = {
>   .length = SZ_4K,
>   .type   = MT_DEVICE,
>   }, {
> + .virtual= (unsigned long)S5P_VA_GPIO2,
> + .pfn= __phys_to_pfn(EXYNOS4_PA_GPIO2),
> + .length = SZ_4K,
> + .type   = MT_DEVICE,
> + }, {
>   .virtual= (unsigned long)S5P_VA_DMC0,
>   .pfn= __phys_to_pfn(EXYNOS4_PA_DMC0),
>   .length = SZ_64K,
> diff --git a/arch/arm/mach-exynos/include/mach/regs-pmu.h
> b/arch/arm/mach-exynos/include/mach/regs-pmu.h
> index 0bb21e2..d98c2fe 100644
> --- a/arch/arm/mach-exynos/include/mach/regs-pmu.h
> +++ b/arch/arm/mach-exynos/include/mach/regs-pmu.h
> @@ -185,6 +185,15 @@
>  #define S5P_PMU_LCD1_CONFS5P_PMUREG(0x3CA0)
>
>  /* Only for EXYNOS4x12 */
> +#define S5P_USB_PHY_CONTROL  S5P_PMUREG(0x0704)
> +#define S5P_USB_PHY_ENABLE   (0x1 << 0)
> +
> +#define S5P_HSIC_1_PHY_CONTROL   S5P_PMUREG(0x0708)
> +#define S5P_HSIC_1_PHY_ENABLE(0x1 << 0)
> +
> +#define S5P_HSIC_2_PHY_CONTROL   S5P_PMUREG(0x070C)
> +#define S5P_HSIC_2_PHY_ENABLE(0x1 << 0)
> +
>  #define S5P_ISP_ARM_LOWPWR   S5P_PMUREG(0x1050)
>  #define S5P_DIS_IRQ_ISP_ARM_LOCAL_LOWPWR S5P_PMUREG(0x1054)
>  #define S5P_DIS_IRQ_ISP_ARM_CENTRAL_LOWPWR   S5P_PMUREG(0x1058)
> @@ -242,6 +251,9 @@
>
>  #define EXYNOS5_SYS_WDTRESET (1 << 20)
>
> +#define EXYNOS5_USBDEV_PHY_CONTROL   S5P_PMUREG(0x0704)
> +#define EXYNOS5_USBHOST_PHY_CONTROL  S5P_PMUREG(0x0708)
> +
>  #define EXYNOS5_ARM_CORE0_SYS_PWR_REG
> S5P_PMUREG(0x1000)
>  #define EXYNOS5_DIS_IRQ_ARM_CORE0_LOCAL_SYS_PWR_REG  
> S5P_PMUREG(0x1004)
>  #define EXYNOS5_DIS_IRQ_ARM_CORE0_CENTRAL_SYS_PWR_REG
> S5P_PMUREG(0x1008)
> diff --git a/arch/arm/mach-exynos/include/mach/regs-usb-phy.h
> b/arch/arm/mach-exynos/include/mach/regs-usb-phy.h
> index 0727773..79021a0 100644
> --- a/arch/arm/mach-exynos/include/mach/regs-usb-phy.h
> +++ b/arch/arm/mach-exynos/include/mach/regs-usb-phy.h
> @@ -43,6 +43,43 @@
>  #define EXYNOS4210_CLKSEL_12M(0x2 << 0)
>  #define EXYNOS4210_CLKSEL_24M(0x3 << 0)
>
> +#define EXYNOS4210_HSIC1_NORMAL_MASK(0x3 << 11)
> +#define EXYNOS4210_HSIC1_SLEEP  (1 << 12)
> +#define EXYNOS4210_HSIC1_FORCE_SUSPEND  (1 << 11)
> +#define EXYNOS4210_HSIC0_NORMAL_MASK(0x3 << 9)
> +#define EXYNOS4210_HSIC0_SLEEP  (1 << 10)
> +#define EXYNOS4210_HSIC0_FORCE_SUSPEND  (1 << 9)
> +
> +#define EXYNOS4210_HOST_LINK_PORT_SWRST_MASK(0xf << 6)
> +#define EXYNOS4210_HOST_LINK_PORT2_SWRST(1 << 9)
> +#define EXYNOS4210_HOST_LINK_PORT1_SWRST(1 << 8)
> +#define EXYNOS4210_HOST_LINK_PORT0_SWRST(1 << 7)
> +#define EXYNOS4210_HOST_LINK_ALL_SWRST  (1 << 6)
> +#define EXYNOS4210_PHY1_SWRST_MASK  (0x7 << 3)
> +#define EXYNOS4210_PHY1_HSIC_SWRST  (1 << 5)
> +#define EXYNOS4210_PHY1_STD_SWRST   (1 << 4)
> +#define EXYNOS4210_PHY1_ALL_SWRST   (1 << 3)
> +
> +#define EXYNOS4X12_HSIC1_NORMAL_MASK (0x7 << 12)
> +#define EXYNOS4X12_HSIC1_SLEEP   (1 << 14)
> +#define EX

Re: [PATCH v7 0/5] usb: phy: samsung: Introducing usb phy driver for samsung SoCs

2012-11-09 Thread Kyungmin Park
On Fri, Nov 9, 2012 at 8:54 PM, Felipe Balbi  wrote:
> Hi,
>
> On Tue, Oct 30, 2012 at 10:27:32AM +0530, Praveen Paneri wrote:
>> Changes from v6:
>> Modified register definitions according to the existing ones.
>> Changed default PHY clk selection for SoCs.
>> Improved binding text and rebased to the latest usb-next.
>>
>> Changes from v5:
>> Moved clk_get() to driver's probe function. Now reference clock frequency
>> selection value is stored in samsung_usbphy structure for later use. Used
>> IS_ENABLED() instead of #ifdef in samsung_usbphy_get_driver_data().
>>
>> Changes from v4:
>> Moved header file contents to driver's source file
>> Removed unnecessary print message from driver's probe function
>> Dropped the Free Software Foundation address from the header
>> Changed the platform data code to use __initdata
>>
>> Changes from v3:
>> Replaced susbsys_initcall()/module_exit() by module_platform_driver().
>> Accordingly in the hsotg driver returned -EPROBE_DEFER until phy driver
>> is registered
>> Removed unnecessary devm_usb_put_phy() call from the hsotg driver remove.
>>
>> Changes from v2:
>> Changed the driver filenames to samsung-usbphy
>> Changed 's3c' to 'samsung' for platform device as well as platform data
>> Moved platform data structure to a separate file
>> Rectified coding style related errors
>>
>> Changes from v1:
>> Rebased patches to latest usb-next branch
>> Changed the name 'sec_usbphy' to 'samsung_usbphy'
>>
>> This patch set introduces a phy driver for samsung SoCs. It uses the existing
>> transceiver infrastructure to provide phy control functions. Use of this 
>> driver
>> can be extended for usb host phy as well. Over the period of time all the phy
>> related code for most of the samsung SoCs can be integrated here.
>> Removing the existing phy code from mach-s3c64xx. Same can be done for other 
>> SoCs
>> when they start supporting this phy driver.
>> This driver is tested with smdk6410 and Exynos4210(with DT).
>>
>> Praveen Paneri (5):
>>   usb: phy: samsung: Introducing usb phy driver for hsotg
>>   usb: s3c-hsotg: Adding phy driver support
For usb parts:
Acked-by: Kyungmin Park 

>>   ARM: S3C64XX: Removing old phy setup code
>>   ARM: S3C64XX: Enabling samsung-usbphy driver
>>   ARM: Exynos4210: Enabling samsung-usbphy driver
>
> guys I can't wait any longer. If I don't get proper Acks today, I will
> go ahead without all the PHY changes from Samsung :-s

To Praveen,

To remove these dependency and merge issue, please send patches for
each subsystem. In this case, usb patches for usb tree and others are
for arm arch.

Thank you,
Kyungmin Park
>
> --
> balbi
>
> ___
> linux-arm-kernel mailing list
> linux-arm-ker...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [RFCv4 PATCH 01/13] usb: composite: add make_group and add_function operations

2012-11-23 Thread Kyungmin Park
Hi,

> -Original Message-
> From: Sebastian Andrzej Siewior [mailto:bige...@linutronix.de]
> Sent: Friday, November 23, 2012 7:17 PM
> To: Michal Nazarewicz
> Cc: Andrzej Pietrasiewicz; linux-usb@vger.kernel.org; 'Kyungmin Park';
> 'Felipe Balbi'; 'Greg Kroah-Hartman'; 'Joel Becker'; Marek Szyprowski
> Subject: Re: [RFCv4 PATCH 01/13] usb: composite: add make_group and
> add_function operations
> 
> On 11/22/2012 09:48 PM, Michal Nazarewicz wrote:
> > I think neither is correct.  The reviewed-by tag implies that the
> > person did a careful review of the code as per “Reviewer's statement
> > of oversight” (see Documentation/SubmittingPatches).
> >
> > What actually happens is Kyungmin giving a green light to shipping the
> > patch from copyright stand-point since Samsung is copyright holder and
> > Andrzej has no power to say weather he can or cannot release the code.
> >
> > So logical path the code took was:
> >
> > Andrzej ->  Kyungmin ->  Andrzej ->  linux-usb
> 
> Aha. So is Kyungmin a lawyer and not a hacker as I assumed in the first
> place.
> 
> > If you look at other patches coming from SPRC (including mine while I
> > was working for Samsung) they all have the same Signed-off schema
> > where the first line is of the author and second is of Kyungmin.
> 
> This together with the statement above explains a lot to me. I always saw
> that and wondered how much code he can write. I assumed that Kyungmin was
> some kind of kick-ass hacker that knows all the chips very well and
> therefore writes all of the Samsung code ahead of HW and then is too busy
> with other stuff and so other people in his team push his patches mainline
> and deal with the review.
> I know that other companies work like that, where a small group of people
> does the bring-up and then others take their code and try to merge
> upstream. And this impressed me because Kyungmin is a person and not a
> small group.
> 
> Anyway.
> Signed-off indicates that he was involved in code development but he was
> not. As it seems it me, his OKAY is very important why not add him as
> 
> Acked-By: ... [copyright]
> 
> I added the [copyright] as the subsystem since he did Ack only a part of
> the patch, not the functionality etc. I know that (now) but others might
> not.

Even though all codes are not tested at internal tree, but most codes are 
tested internal tree. And these internal tree is managed by me.
That's reason to add Signed-off as internal tree maintainer. 
And most of codes from us, I checked it by internal approval process. If you 
don't feel it's not correct Signed-off scheme.
No problem to replace it with Reviewed-by or Acked-by.

Thank you,
Kyungmin Park

> 
> Sebastian

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [RFCv4 PATCH 01/13] usb: composite: add make_group and add_function operations

2012-11-23 Thread Kyungmin Park
One more,
I checked it again "Documentation/SubmittingPatches"

In the 12) Sign your work

You can find the following paragraphs. 
"Some people also put extra tags at the end.  They'll just be ignored for
now, but you can do this to mark internal company procedures or just
point out some special detail about the sign-off."

And 13) When to use Acked-by: and Cc:

"The Signed-off-by: tag indicates that the signer was involved in the
development of the patch, or that he/she was in the patch's delivery path."

I used Signed-off as our contribution to open source from our teams.

Of course some codes are written by me with correct Signed-off

Thank you,
Kyungmin Park

> -Original Message-
> From: Kyungmin Park [mailto:kyungmin.p...@samsung.com]
> Sent: Friday, November 23, 2012 8:05 PM
> To: 'Sebastian Andrzej Siewior'; 'Michal Nazarewicz'
> Cc: 'Andrzej Pietrasiewicz'; 'linux-usb@vger.kernel.org'; 'Felipe Balbi';
> 'Greg Kroah-Hartman'; 'Joel Becker'; 'Marek Szyprowski'
> Subject: RE: [RFCv4 PATCH 01/13] usb: composite: add make_group and
> add_function operations
> 
> Hi,
> 
> > -Original Message-
> > From: Sebastian Andrzej Siewior [mailto:bige...@linutronix.de]
> > Sent: Friday, November 23, 2012 7:17 PM
> > To: Michal Nazarewicz
> > Cc: Andrzej Pietrasiewicz; linux-usb@vger.kernel.org; 'Kyungmin Park';
> > 'Felipe Balbi'; 'Greg Kroah-Hartman'; 'Joel Becker'; Marek Szyprowski
> > Subject: Re: [RFCv4 PATCH 01/13] usb: composite: add make_group and
> > add_function operations
> >
> > On 11/22/2012 09:48 PM, Michal Nazarewicz wrote:
> > > I think neither is correct.  The reviewed-by tag implies that the
> > > person did a careful review of the code as per “Reviewer's statement
> > > of oversight” (see Documentation/SubmittingPatches).
> > >
> > > What actually happens is Kyungmin giving a green light to shipping the
> > > patch from copyright stand-point since Samsung is copyright holder and
> > > Andrzej has no power to say weather he can or cannot release the code.
> > >
> > > So logical path the code took was:
> > >
> > >   Andrzej ->  Kyungmin ->  Andrzej ->  linux-usb
> >
> > Aha. So is Kyungmin a lawyer and not a hacker as I assumed in the first
> > place.
> >
> > > If you look at other patches coming from SPRC (including mine while I
> > > was working for Samsung) they all have the same Signed-off schema
> > > where the first line is of the author and second is of Kyungmin.
> >
> > This together with the statement above explains a lot to me. I always
> saw
> > that and wondered how much code he can write. I assumed that Kyungmin
> was
> > some kind of kick-ass hacker that knows all the chips very well and
> > therefore writes all of the Samsung code ahead of HW and then is too
> busy
> > with other stuff and so other people in his team push his patches
> mainline
> > and deal with the review.
> > I know that other companies work like that, where a small group of
> people
> > does the bring-up and then others take their code and try to merge
> > upstream. And this impressed me because Kyungmin is a person and not a
> > small group.
> >
> > Anyway.
> > Signed-off indicates that he was involved in code development but he was
> > not. As it seems it me, his OKAY is very important why not add him as
> >
> > Acked-By: ... [copyright]
> >
> > I added the [copyright] as the subsystem since he did Ack only a part of
> > the patch, not the functionality etc. I know that (now) but others might
> > not.
> 
> Even though all codes are not tested at internal tree, but most codes are
> tested internal tree. And these internal tree is managed by me.
> That's reason to add Signed-off as internal tree maintainer.
> And most of codes from us, I checked it by internal approval process. If
> you don't feel it's not correct Signed-off scheme.
> No problem to replace it with Reviewed-by or Acked-by.
> 
> Thank you,
> Kyungmin Park
> 
> >
> > Sebastian

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html