* [PATCH 0/4] Enable usbphy and hsotg for exynos4 @ 2014-04-14 12:48 ` Chanho Park 0 siblings, 0 replies; 22+ messages in thread From: Chanho Park @ 2014-04-14 12:48 UTC (permalink / raw) To: kgene.kim, linux-samsung-soc Cc: t.figa, k.debski, linux-arm-kernel, devicetree, Chanho Park This patchset enables a exynos4 usbphy and hsotg DT node for exynos4. The usb phy node uses generic exynos phy driver. The driver uses PMU syscon and SYSREG syscon phandles. Chanho Park (4): ARM: dts: exynos4: add PMU syscon node ARM: dts: exynos4: add exynos_usbphy node ARM: dts: exynos4: add hsotg device node ARM: dts: exynos4412-trats2: enable usb nodes arch/arm/boot/dts/exynos4.dtsi | 26 ++++++++++++++++++++++++++ arch/arm/boot/dts/exynos4412-trats2.dts | 10 ++++++++++ arch/arm/boot/dts/exynos4x12.dtsi | 5 +++++ 3 files changed, 41 insertions(+) -- 1.8.3.2 ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 0/4] Enable usbphy and hsotg for exynos4 @ 2014-04-14 12:48 ` Chanho Park 0 siblings, 0 replies; 22+ messages in thread From: Chanho Park @ 2014-04-14 12:48 UTC (permalink / raw) To: linux-arm-kernel This patchset enables a exynos4 usbphy and hsotg DT node for exynos4. The usb phy node uses generic exynos phy driver. The driver uses PMU syscon and SYSREG syscon phandles. Chanho Park (4): ARM: dts: exynos4: add PMU syscon node ARM: dts: exynos4: add exynos_usbphy node ARM: dts: exynos4: add hsotg device node ARM: dts: exynos4412-trats2: enable usb nodes arch/arm/boot/dts/exynos4.dtsi | 26 ++++++++++++++++++++++++++ arch/arm/boot/dts/exynos4412-trats2.dts | 10 ++++++++++ arch/arm/boot/dts/exynos4x12.dtsi | 5 +++++ 3 files changed, 41 insertions(+) -- 1.8.3.2 ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node 2014-04-14 12:48 ` Chanho Park @ 2014-04-14 12:48 ` Chanho Park -1 siblings, 0 replies; 22+ messages in thread From: Chanho Park @ 2014-04-14 12:48 UTC (permalink / raw) To: kgene.kim, linux-samsung-soc Cc: t.figa, k.debski, linux-arm-kernel, devicetree, Chanho Park This patch adds a PMU(Power Management Unit) syscon node. This should be required for USB Phy syscon regmap I/F. Cc: Tomasz Figa <t.figa@samsung.com> Cc: Kamil Debski <k.debski@samsung.com> Signed-off-by: Chanho Park <chanho61.park@samsung.com> --- arch/arm/boot/dts/exynos4.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index 2f8bcd0..e565b86 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -110,6 +110,11 @@ reg = <0x10010000 0x400>; }; + pmu_reg: syscon@10020000 { + compatible = "samsung,exynos4-pmureg", "syscon"; + reg = <0x10020000 0x4000>; + }; + dsi_0: dsi@11C80000 { compatible = "samsung,exynos4210-mipi-dsi"; reg = <0x11C80000 0x10000>; -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node @ 2014-04-14 12:48 ` Chanho Park 0 siblings, 0 replies; 22+ messages in thread From: Chanho Park @ 2014-04-14 12:48 UTC (permalink / raw) To: linux-arm-kernel This patch adds a PMU(Power Management Unit) syscon node. This should be required for USB Phy syscon regmap I/F. Cc: Tomasz Figa <t.figa@samsung.com> Cc: Kamil Debski <k.debski@samsung.com> Signed-off-by: Chanho Park <chanho61.park@samsung.com> --- arch/arm/boot/dts/exynos4.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index 2f8bcd0..e565b86 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -110,6 +110,11 @@ reg = <0x10010000 0x400>; }; + pmu_reg: syscon at 10020000 { + compatible = "samsung,exynos4-pmureg", "syscon"; + reg = <0x10020000 0x4000>; + }; + dsi_0: dsi at 11C80000 { compatible = "samsung,exynos4210-mipi-dsi"; reg = <0x11C80000 0x10000>; -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node 2014-04-14 12:48 ` Chanho Park @ 2014-04-24 16:07 ` Tomasz Figa -1 siblings, 0 replies; 22+ messages in thread From: Tomasz Figa @ 2014-04-24 16:07 UTC (permalink / raw) To: Chanho Park, kgene.kim, linux-samsung-soc Cc: k.debski, linux-arm-kernel, devicetree Hi Chanho, On 14.04.2014 14:48, Chanho Park wrote: > This patch adds a PMU(Power Management Unit) syscon node. This > should be required for USB Phy syscon regmap I/F. > > Cc: Tomasz Figa <t.figa@samsung.com> > Cc: Kamil Debski <k.debski@samsung.com> > Signed-off-by: Chanho Park <chanho61.park@samsung.com> > --- > arch/arm/boot/dts/exynos4.dtsi | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index 2f8bcd0..e565b86 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -110,6 +110,11 @@ > reg = <0x10010000 0x400>; > }; > > + pmu_reg: syscon@10020000 { > + compatible = "samsung,exynos4-pmureg", "syscon"; This compatible string doesn't seem to be defined in [1], please add it there, [1] Documentation/devicetree/bindings/arm/samsung/pmu.txt Otherwise looks good, so after fixing that you may add my Reviewed-by: Tomasz Figa <t.figa@samsung.com> Best regards, Tomasz ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node @ 2014-04-24 16:07 ` Tomasz Figa 0 siblings, 0 replies; 22+ messages in thread From: Tomasz Figa @ 2014-04-24 16:07 UTC (permalink / raw) To: linux-arm-kernel Hi Chanho, On 14.04.2014 14:48, Chanho Park wrote: > This patch adds a PMU(Power Management Unit) syscon node. This > should be required for USB Phy syscon regmap I/F. > > Cc: Tomasz Figa <t.figa@samsung.com> > Cc: Kamil Debski <k.debski@samsung.com> > Signed-off-by: Chanho Park <chanho61.park@samsung.com> > --- > arch/arm/boot/dts/exynos4.dtsi | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index 2f8bcd0..e565b86 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -110,6 +110,11 @@ > reg = <0x10010000 0x400>; > }; > > + pmu_reg: syscon at 10020000 { > + compatible = "samsung,exynos4-pmureg", "syscon"; This compatible string doesn't seem to be defined in [1], please add it there, [1] Documentation/devicetree/bindings/arm/samsung/pmu.txt Otherwise looks good, so after fixing that you may add my Reviewed-by: Tomasz Figa <t.figa@samsung.com> Best regards, Tomasz ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node 2014-04-24 16:07 ` Tomasz Figa @ 2014-04-25 8:05 ` Vikas Sajjan -1 siblings, 0 replies; 22+ messages in thread From: Vikas Sajjan @ 2014-04-25 8:05 UTC (permalink / raw) To: Tomasz Figa Cc: devicetree, k.debski, linux-samsung-soc, sunil joshi, Kukjin Kim, Chanho Park, linux-arm-kernel Hi, On Thu, Apr 24, 2014 at 9:37 PM, Tomasz Figa <t.figa@samsung.com> wrote: > Hi Chanho, > > > On 14.04.2014 14:48, Chanho Park wrote: >> >> This patch adds a PMU(Power Management Unit) syscon node. This >> should be required for USB Phy syscon regmap I/F. >> >> Cc: Tomasz Figa <t.figa@samsung.com> >> Cc: Kamil Debski <k.debski@samsung.com> >> Signed-off-by: Chanho Park <chanho61.park@samsung.com> >> --- >> arch/arm/boot/dts/exynos4.dtsi | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/arch/arm/boot/dts/exynos4.dtsi >> b/arch/arm/boot/dts/exynos4.dtsi >> index 2f8bcd0..e565b86 100644 >> --- a/arch/arm/boot/dts/exynos4.dtsi >> +++ b/arch/arm/boot/dts/exynos4.dtsi >> @@ -110,6 +110,11 @@ >> reg = <0x10010000 0x400>; >> }; >> >> + pmu_reg: syscon@10020000 { >> + compatible = "samsung,exynos4-pmureg", "syscon"; > Assume a case where exynos PMU is made as platform driver [1] and we need use the compatible "samsung,exynos4-pmureg" in the driver. But since syscon driver uses compatible "syscon" and once the syscon driver is probed, the exynos PMU platform driver [1] will NEVER be probed. So my question is, can we have 2 compatible strings for a DT node, and both the compatible strings are used for probing purpose? Recently I faced this issue on exynos5250, where i was testing PMU driver [1] and I noticed that PMU driver [1] was NEVER probed, if I enable syscon driver in menuconfig. [1] http://www.spinics.net/lists/linux-samsung-soc/msg28038.html > > This compatible string doesn't seem to be defined in [1], please add it > there, > > [1] Documentation/devicetree/bindings/arm/samsung/pmu.txt > > Otherwise looks good, so after fixing that you may add my > > Reviewed-by: Tomasz Figa <t.figa@samsung.com> > > Best regards, > Tomasz > > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" > in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node @ 2014-04-25 8:05 ` Vikas Sajjan 0 siblings, 0 replies; 22+ messages in thread From: Vikas Sajjan @ 2014-04-25 8:05 UTC (permalink / raw) To: linux-arm-kernel Hi, On Thu, Apr 24, 2014 at 9:37 PM, Tomasz Figa <t.figa@samsung.com> wrote: > Hi Chanho, > > > On 14.04.2014 14:48, Chanho Park wrote: >> >> This patch adds a PMU(Power Management Unit) syscon node. This >> should be required for USB Phy syscon regmap I/F. >> >> Cc: Tomasz Figa <t.figa@samsung.com> >> Cc: Kamil Debski <k.debski@samsung.com> >> Signed-off-by: Chanho Park <chanho61.park@samsung.com> >> --- >> arch/arm/boot/dts/exynos4.dtsi | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/arch/arm/boot/dts/exynos4.dtsi >> b/arch/arm/boot/dts/exynos4.dtsi >> index 2f8bcd0..e565b86 100644 >> --- a/arch/arm/boot/dts/exynos4.dtsi >> +++ b/arch/arm/boot/dts/exynos4.dtsi >> @@ -110,6 +110,11 @@ >> reg = <0x10010000 0x400>; >> }; >> >> + pmu_reg: syscon at 10020000 { >> + compatible = "samsung,exynos4-pmureg", "syscon"; > Assume a case where exynos PMU is made as platform driver [1] and we need use the compatible "samsung,exynos4-pmureg" in the driver. But since syscon driver uses compatible "syscon" and once the syscon driver is probed, the exynos PMU platform driver [1] will NEVER be probed. So my question is, can we have 2 compatible strings for a DT node, and both the compatible strings are used for probing purpose? Recently I faced this issue on exynos5250, where i was testing PMU driver [1] and I noticed that PMU driver [1] was NEVER probed, if I enable syscon driver in menuconfig. [1] http://www.spinics.net/lists/linux-samsung-soc/msg28038.html > > This compatible string doesn't seem to be defined in [1], please add it > there, > > [1] Documentation/devicetree/bindings/arm/samsung/pmu.txt > > Otherwise looks good, so after fixing that you may add my > > Reviewed-by: Tomasz Figa <t.figa@samsung.com> > > Best regards, > Tomasz > > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" > in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node 2014-04-25 8:05 ` Vikas Sajjan @ 2014-04-25 23:52 ` Tomasz Figa -1 siblings, 0 replies; 22+ messages in thread From: Tomasz Figa @ 2014-04-25 23:52 UTC (permalink / raw) To: Vikas Sajjan, Tomasz Figa Cc: devicetree, k.debski, linux-samsung-soc, sunil joshi, Kukjin Kim, Chanho Park, linux-arm-kernel, Grant Likely Hi Vikas, On 25.04.2014 10:05, Vikas Sajjan wrote: > Hi, > > > On Thu, Apr 24, 2014 at 9:37 PM, Tomasz Figa <t.figa@samsung.com> wrote: >> Hi Chanho, >> >> >> On 14.04.2014 14:48, Chanho Park wrote: >>> >>> This patch adds a PMU(Power Management Unit) syscon node. This >>> should be required for USB Phy syscon regmap I/F. >>> >>> Cc: Tomasz Figa <t.figa@samsung.com> >>> Cc: Kamil Debski <k.debski@samsung.com> >>> Signed-off-by: Chanho Park <chanho61.park@samsung.com> >>> --- >>> arch/arm/boot/dts/exynos4.dtsi | 5 +++++ >>> 1 file changed, 5 insertions(+) >>> >>> diff --git a/arch/arm/boot/dts/exynos4.dtsi >>> b/arch/arm/boot/dts/exynos4.dtsi >>> index 2f8bcd0..e565b86 100644 >>> --- a/arch/arm/boot/dts/exynos4.dtsi >>> +++ b/arch/arm/boot/dts/exynos4.dtsi >>> @@ -110,6 +110,11 @@ >>> reg = <0x10010000 0x400>; >>> }; >>> >>> + pmu_reg: syscon@10020000 { >>> + compatible = "samsung,exynos4-pmureg", "syscon"; >> > > Assume a case where exynos PMU is made as platform driver [1] and we > need use the compatible "samsung,exynos4-pmureg" in the driver. > But since syscon driver uses compatible "syscon" and once the syscon > driver is probed, the exynos PMU platform driver [1] will NEVER be > probed. > So my question is, can we have 2 compatible strings for a DT node, and > both the compatible strings are used for probing purpose? > Recently I faced this issue on exynos5250, where i was testing PMU > driver [1] and I noticed that PMU driver [1] was NEVER probed, if I > enable syscon driver in menuconfig. No, it is not possible to bind two drivers with different compatible strings to the same node. Basically this is because only one platform driver can be bound to particular platform device. The rule is that the most specific compatible string (e.g. the first from the left) that matches should be used, but I'm not sure if this is implemented this way in Linux kernel, especially considering that a platform driver usually probes when it is being registered. So we might have a race here, which you can work around by making sure that your PMU driver is always registered first (e.g. by lowering its initcall level). Best regards, Tomasz ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node @ 2014-04-25 23:52 ` Tomasz Figa 0 siblings, 0 replies; 22+ messages in thread From: Tomasz Figa @ 2014-04-25 23:52 UTC (permalink / raw) To: linux-arm-kernel Hi Vikas, On 25.04.2014 10:05, Vikas Sajjan wrote: > Hi, > > > On Thu, Apr 24, 2014 at 9:37 PM, Tomasz Figa <t.figa@samsung.com> wrote: >> Hi Chanho, >> >> >> On 14.04.2014 14:48, Chanho Park wrote: >>> >>> This patch adds a PMU(Power Management Unit) syscon node. This >>> should be required for USB Phy syscon regmap I/F. >>> >>> Cc: Tomasz Figa <t.figa@samsung.com> >>> Cc: Kamil Debski <k.debski@samsung.com> >>> Signed-off-by: Chanho Park <chanho61.park@samsung.com> >>> --- >>> arch/arm/boot/dts/exynos4.dtsi | 5 +++++ >>> 1 file changed, 5 insertions(+) >>> >>> diff --git a/arch/arm/boot/dts/exynos4.dtsi >>> b/arch/arm/boot/dts/exynos4.dtsi >>> index 2f8bcd0..e565b86 100644 >>> --- a/arch/arm/boot/dts/exynos4.dtsi >>> +++ b/arch/arm/boot/dts/exynos4.dtsi >>> @@ -110,6 +110,11 @@ >>> reg = <0x10010000 0x400>; >>> }; >>> >>> + pmu_reg: syscon at 10020000 { >>> + compatible = "samsung,exynos4-pmureg", "syscon"; >> > > Assume a case where exynos PMU is made as platform driver [1] and we > need use the compatible "samsung,exynos4-pmureg" in the driver. > But since syscon driver uses compatible "syscon" and once the syscon > driver is probed, the exynos PMU platform driver [1] will NEVER be > probed. > So my question is, can we have 2 compatible strings for a DT node, and > both the compatible strings are used for probing purpose? > Recently I faced this issue on exynos5250, where i was testing PMU > driver [1] and I noticed that PMU driver [1] was NEVER probed, if I > enable syscon driver in menuconfig. No, it is not possible to bind two drivers with different compatible strings to the same node. Basically this is because only one platform driver can be bound to particular platform device. The rule is that the most specific compatible string (e.g. the first from the left) that matches should be used, but I'm not sure if this is implemented this way in Linux kernel, especially considering that a platform driver usually probes when it is being registered. So we might have a race here, which you can work around by making sure that your PMU driver is always registered first (e.g. by lowering its initcall level). Best regards, Tomasz ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node 2014-04-25 23:52 ` Tomasz Figa @ 2014-04-26 2:33 ` Pankaj Dubey -1 siblings, 0 replies; 22+ messages in thread From: Pankaj Dubey @ 2014-04-26 2:33 UTC (permalink / raw) To: Tomasz Figa Cc: Vikas Sajjan, Tomasz Figa, devicetree, k.debski, Kukjin Kim, sunil joshi, Grant Likely, linux-samsung-soc, Chanho Park, linux-arm-kernel Hi Tomasz, On Sat, Apr 26, 2014 at 8:52 AM, Tomasz Figa <tomasz.figa@gmail.com> wrote: > Hi Vikas, > > > On 25.04.2014 10:05, Vikas Sajjan wrote: >> >> Hi, >> >> >> On Thu, Apr 24, 2014 at 9:37 PM, Tomasz Figa <t.figa@samsung.com> wrote: >>> >>> Hi Chanho, >>> >>> >>> On 14.04.2014 14:48, Chanho Park wrote: >>>> >>>> >>>> This patch adds a PMU(Power Management Unit) syscon node. This >>>> should be required for USB Phy syscon regmap I/F. >>>> >>>> Cc: Tomasz Figa <t.figa@samsung.com> >>>> Cc: Kamil Debski <k.debski@samsung.com> >>>> Signed-off-by: Chanho Park <chanho61.park@samsung.com> >>>> --- >>>> arch/arm/boot/dts/exynos4.dtsi | 5 +++++ >>>> 1 file changed, 5 insertions(+) >>>> >>>> diff --git a/arch/arm/boot/dts/exynos4.dtsi >>>> b/arch/arm/boot/dts/exynos4.dtsi >>>> index 2f8bcd0..e565b86 100644 >>>> --- a/arch/arm/boot/dts/exynos4.dtsi >>>> +++ b/arch/arm/boot/dts/exynos4.dtsi >>>> @@ -110,6 +110,11 @@ >>>> reg = <0x10010000 0x400>; >>>> }; >>>> >>>> + pmu_reg: syscon@10020000 { >>>> + compatible = "samsung,exynos4-pmureg", "syscon"; >>> >>> >> >> Assume a case where exynos PMU is made as platform driver [1] and we >> need use the compatible "samsung,exynos4-pmureg" in the driver. >> But since syscon driver uses compatible "syscon" and once the syscon >> driver is probed, the exynos PMU platform driver [1] will NEVER be >> probed. >> So my question is, can we have 2 compatible strings for a DT node, and >> both the compatible strings are used for probing purpose? >> Recently I faced this issue on exynos5250, where i was testing PMU >> driver [1] and I noticed that PMU driver [1] was NEVER probed, if I >> enable syscon driver in menuconfig. > > > No, it is not possible to bind two drivers with different compatible strings > to the same node. Basically this is because only one platform driver can be > bound to particular platform device. > Yes, correct. > The rule is that the most specific compatible string (e.g. the first from > the left) that matches should be used, but I'm not sure if this is > implemented this way in Linux kernel, especially considering that a platform > driver usually probes when it is being registered. So we might have a race > here, which you can work around by making sure that your PMU driver is > always registered first (e.g. by lowering its initcall level). > I don't see it's using first compatible string from the left. I can see whichever driver registers platform driver first, it's probe is getting called. As in this particular case, PMU has two compatibility string as "samsung, exynosxxx-pmu", "syscon". But since "syscon" driver registers it's platform driver in postcore_initcall where as PMU platform driver [1], was registering as arch_initcall, only "syscon" probe got called. In my V2 patch for converting PMU as driver form, I dropped idea of converting into platform driver, because we can't remove "syscon" from binding as many other driver wants to access PMU register via regmap handle. By lowering it's initcall level may be I can make PMU probe gets called but then how other drivers will be able to access PMU regmap handles? > Best regards, > Tomasz > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node @ 2014-04-26 2:33 ` Pankaj Dubey 0 siblings, 0 replies; 22+ messages in thread From: Pankaj Dubey @ 2014-04-26 2:33 UTC (permalink / raw) To: linux-arm-kernel Hi Tomasz, On Sat, Apr 26, 2014 at 8:52 AM, Tomasz Figa <tomasz.figa@gmail.com> wrote: > Hi Vikas, > > > On 25.04.2014 10:05, Vikas Sajjan wrote: >> >> Hi, >> >> >> On Thu, Apr 24, 2014 at 9:37 PM, Tomasz Figa <t.figa@samsung.com> wrote: >>> >>> Hi Chanho, >>> >>> >>> On 14.04.2014 14:48, Chanho Park wrote: >>>> >>>> >>>> This patch adds a PMU(Power Management Unit) syscon node. This >>>> should be required for USB Phy syscon regmap I/F. >>>> >>>> Cc: Tomasz Figa <t.figa@samsung.com> >>>> Cc: Kamil Debski <k.debski@samsung.com> >>>> Signed-off-by: Chanho Park <chanho61.park@samsung.com> >>>> --- >>>> arch/arm/boot/dts/exynos4.dtsi | 5 +++++ >>>> 1 file changed, 5 insertions(+) >>>> >>>> diff --git a/arch/arm/boot/dts/exynos4.dtsi >>>> b/arch/arm/boot/dts/exynos4.dtsi >>>> index 2f8bcd0..e565b86 100644 >>>> --- a/arch/arm/boot/dts/exynos4.dtsi >>>> +++ b/arch/arm/boot/dts/exynos4.dtsi >>>> @@ -110,6 +110,11 @@ >>>> reg = <0x10010000 0x400>; >>>> }; >>>> >>>> + pmu_reg: syscon at 10020000 { >>>> + compatible = "samsung,exynos4-pmureg", "syscon"; >>> >>> >> >> Assume a case where exynos PMU is made as platform driver [1] and we >> need use the compatible "samsung,exynos4-pmureg" in the driver. >> But since syscon driver uses compatible "syscon" and once the syscon >> driver is probed, the exynos PMU platform driver [1] will NEVER be >> probed. >> So my question is, can we have 2 compatible strings for a DT node, and >> both the compatible strings are used for probing purpose? >> Recently I faced this issue on exynos5250, where i was testing PMU >> driver [1] and I noticed that PMU driver [1] was NEVER probed, if I >> enable syscon driver in menuconfig. > > > No, it is not possible to bind two drivers with different compatible strings > to the same node. Basically this is because only one platform driver can be > bound to particular platform device. > Yes, correct. > The rule is that the most specific compatible string (e.g. the first from > the left) that matches should be used, but I'm not sure if this is > implemented this way in Linux kernel, especially considering that a platform > driver usually probes when it is being registered. So we might have a race > here, which you can work around by making sure that your PMU driver is > always registered first (e.g. by lowering its initcall level). > I don't see it's using first compatible string from the left. I can see whichever driver registers platform driver first, it's probe is getting called. As in this particular case, PMU has two compatibility string as "samsung, exynosxxx-pmu", "syscon". But since "syscon" driver registers it's platform driver in postcore_initcall where as PMU platform driver [1], was registering as arch_initcall, only "syscon" probe got called. In my V2 patch for converting PMU as driver form, I dropped idea of converting into platform driver, because we can't remove "syscon" from binding as many other driver wants to access PMU register via regmap handle. By lowering it's initcall level may be I can make PMU probe gets called but then how other drivers will be able to access PMU regmap handles? > Best regards, > Tomasz > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 2/4] ARM: dts: exynos4: add exynos_usbphy node 2014-04-14 12:48 ` Chanho Park @ 2014-04-14 12:48 ` Chanho Park -1 siblings, 0 replies; 22+ messages in thread From: Chanho Park @ 2014-04-14 12:48 UTC (permalink / raw) To: kgene.kim, linux-samsung-soc Cc: t.figa, k.debski, linux-arm-kernel, devicetree, Chanho Park This patch enables a exynos_usbphy node for exynos4 SoCs. A exynos4x12 usb phy node is almost same with 4210's one except compatible string and pmu syscon. Cc: Tomasz Figa <t.figa@samsung.com> Cc: Kamil Debski <k.debski@samsung.com> Signed-off-by: Chanho Park <chanho61.park@samsung.com> --- arch/arm/boot/dts/exynos4.dtsi | 10 ++++++++++ arch/arm/boot/dts/exynos4x12.dtsi | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index e565b86..0e32d7f 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -278,6 +278,16 @@ status = "disabled"; }; + exynos_usbphy: exynos-usbphy@125B0000 { + compatible = "samsung,exynos4210-usb2-phy"; + reg = <0x125B0000 0x100>; + samsung,pmureg-phandle = <&pmu_reg>; + clocks = <&clock 305>, <&clock 2>; + clock-names = "phy", "ref"; + status = "disabled"; + #phy-cells = <1>; + }; + ehci@12580000 { compatible = "samsung,exynos4210-ehci"; reg = <0x12580000 0x100>; diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi index c4a9306..3d77a40 100644 --- a/arch/arm/boot/dts/exynos4x12.dtsi +++ b/arch/arm/boot/dts/exynos4x12.dtsi @@ -243,4 +243,9 @@ clock-names = "biu", "ciu"; status = "disabled"; }; + + exynos-usbphy@125B0000 { + compatible = "samsung,exynos4x12-usb2-phy"; + samsung,sysreg-phandle = <&sys_reg>; + }; }; -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 2/4] ARM: dts: exynos4: add exynos_usbphy node @ 2014-04-14 12:48 ` Chanho Park 0 siblings, 0 replies; 22+ messages in thread From: Chanho Park @ 2014-04-14 12:48 UTC (permalink / raw) To: linux-arm-kernel This patch enables a exynos_usbphy node for exynos4 SoCs. A exynos4x12 usb phy node is almost same with 4210's one except compatible string and pmu syscon. Cc: Tomasz Figa <t.figa@samsung.com> Cc: Kamil Debski <k.debski@samsung.com> Signed-off-by: Chanho Park <chanho61.park@samsung.com> --- arch/arm/boot/dts/exynos4.dtsi | 10 ++++++++++ arch/arm/boot/dts/exynos4x12.dtsi | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index e565b86..0e32d7f 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -278,6 +278,16 @@ status = "disabled"; }; + exynos_usbphy: exynos-usbphy at 125B0000 { + compatible = "samsung,exynos4210-usb2-phy"; + reg = <0x125B0000 0x100>; + samsung,pmureg-phandle = <&pmu_reg>; + clocks = <&clock 305>, <&clock 2>; + clock-names = "phy", "ref"; + status = "disabled"; + #phy-cells = <1>; + }; + ehci at 12580000 { compatible = "samsung,exynos4210-ehci"; reg = <0x12580000 0x100>; diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi index c4a9306..3d77a40 100644 --- a/arch/arm/boot/dts/exynos4x12.dtsi +++ b/arch/arm/boot/dts/exynos4x12.dtsi @@ -243,4 +243,9 @@ clock-names = "biu", "ciu"; status = "disabled"; }; + + exynos-usbphy at 125B0000 { + compatible = "samsung,exynos4x12-usb2-phy"; + samsung,sysreg-phandle = <&sys_reg>; + }; }; -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 2/4] ARM: dts: exynos4: add exynos_usbphy node 2014-04-14 12:48 ` Chanho Park @ 2014-04-24 16:09 ` Tomasz Figa -1 siblings, 0 replies; 22+ messages in thread From: Tomasz Figa @ 2014-04-24 16:09 UTC (permalink / raw) To: Chanho Park, kgene.kim, linux-samsung-soc Cc: k.debski, linux-arm-kernel, devicetree Hi Chanho, On 14.04.2014 14:48, Chanho Park wrote: > This patch enables a exynos_usbphy node for exynos4 SoCs. > A exynos4x12 usb phy node is almost same with 4210's one > except compatible string and pmu syscon. > > Cc: Tomasz Figa <t.figa@samsung.com> > Cc: Kamil Debski <k.debski@samsung.com> > Signed-off-by: Chanho Park <chanho61.park@samsung.com> > --- > arch/arm/boot/dts/exynos4.dtsi | 10 ++++++++++ > arch/arm/boot/dts/exynos4x12.dtsi | 5 +++++ > 2 files changed, 15 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index e565b86..0e32d7f 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -278,6 +278,16 @@ > status = "disabled"; > }; > > + exynos_usbphy: exynos-usbphy@125B0000 { > + compatible = "samsung,exynos4210-usb2-phy"; > + reg = <0x125B0000 0x100>; > + samsung,pmureg-phandle = <&pmu_reg>; > + clocks = <&clock 305>, <&clock 2>; Please use clock macros from include/dt-bindings instead of numbers directly. Best regards, Tomasz ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 2/4] ARM: dts: exynos4: add exynos_usbphy node @ 2014-04-24 16:09 ` Tomasz Figa 0 siblings, 0 replies; 22+ messages in thread From: Tomasz Figa @ 2014-04-24 16:09 UTC (permalink / raw) To: linux-arm-kernel Hi Chanho, On 14.04.2014 14:48, Chanho Park wrote: > This patch enables a exynos_usbphy node for exynos4 SoCs. > A exynos4x12 usb phy node is almost same with 4210's one > except compatible string and pmu syscon. > > Cc: Tomasz Figa <t.figa@samsung.com> > Cc: Kamil Debski <k.debski@samsung.com> > Signed-off-by: Chanho Park <chanho61.park@samsung.com> > --- > arch/arm/boot/dts/exynos4.dtsi | 10 ++++++++++ > arch/arm/boot/dts/exynos4x12.dtsi | 5 +++++ > 2 files changed, 15 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index e565b86..0e32d7f 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -278,6 +278,16 @@ > status = "disabled"; > }; > > + exynos_usbphy: exynos-usbphy at 125B0000 { > + compatible = "samsung,exynos4210-usb2-phy"; > + reg = <0x125B0000 0x100>; > + samsung,pmureg-phandle = <&pmu_reg>; > + clocks = <&clock 305>, <&clock 2>; Please use clock macros from include/dt-bindings instead of numbers directly. Best regards, Tomasz ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 3/4] ARM: dts: exynos4: add hsotg device node 2014-04-14 12:48 ` Chanho Park @ 2014-04-14 12:48 ` Chanho Park -1 siblings, 0 replies; 22+ messages in thread From: Chanho Park @ 2014-04-14 12:48 UTC (permalink / raw) To: kgene.kim, linux-samsung-soc Cc: t.figa, k.debski, linux-arm-kernel, devicetree, Chanho Park, Marek Szyprowski This patch adds a hsotg node for exynos4 USB2.0 device controller. Cc: Tomasz Figa <t.figa@samsung.com> Cc: Kamil Debski <k.debski@samsung.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Chanho Park <chanho61.park@samsung.com> --- arch/arm/boot/dts/exynos4.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index 0e32d7f..e541ecb 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -288,6 +288,17 @@ #phy-cells = <1>; }; + hsotg@12480000 { + compatible = "samsung,s3c6400-hsotg"; + reg = <0x12480000 0x20000>; + interrupts = <0 71 0>; + clocks = <&clock 305>; + clock-names = "otg"; + phys = <&exynos_usbphy 0>; + phy-names = "device"; + status = "disabled"; + }; + ehci@12580000 { compatible = "samsung,exynos4210-ehci"; reg = <0x12580000 0x100>; -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 3/4] ARM: dts: exynos4: add hsotg device node @ 2014-04-14 12:48 ` Chanho Park 0 siblings, 0 replies; 22+ messages in thread From: Chanho Park @ 2014-04-14 12:48 UTC (permalink / raw) To: linux-arm-kernel This patch adds a hsotg node for exynos4 USB2.0 device controller. Cc: Tomasz Figa <t.figa@samsung.com> Cc: Kamil Debski <k.debski@samsung.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Chanho Park <chanho61.park@samsung.com> --- arch/arm/boot/dts/exynos4.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index 0e32d7f..e541ecb 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -288,6 +288,17 @@ #phy-cells = <1>; }; + hsotg at 12480000 { + compatible = "samsung,s3c6400-hsotg"; + reg = <0x12480000 0x20000>; + interrupts = <0 71 0>; + clocks = <&clock 305>; + clock-names = "otg"; + phys = <&exynos_usbphy 0>; + phy-names = "device"; + status = "disabled"; + }; + ehci at 12580000 { compatible = "samsung,exynos4210-ehci"; reg = <0x12580000 0x100>; -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 3/4] ARM: dts: exynos4: add hsotg device node 2014-04-14 12:48 ` Chanho Park @ 2014-04-24 16:16 ` Tomasz Figa -1 siblings, 0 replies; 22+ messages in thread From: Tomasz Figa @ 2014-04-24 16:16 UTC (permalink / raw) To: Chanho Park, kgene.kim, linux-samsung-soc Cc: k.debski, linux-arm-kernel, devicetree, Marek Szyprowski Hi Chanho, On 14.04.2014 14:48, Chanho Park wrote: > This patch adds a hsotg node for exynos4 USB2.0 device controller. > > Cc: Tomasz Figa <t.figa@samsung.com> > Cc: Kamil Debski <k.debski@samsung.com> > Cc: Marek Szyprowski <m.szyprowski@samsung.com> > Signed-off-by: Chanho Park <chanho61.park@samsung.com> > --- > arch/arm/boot/dts/exynos4.dtsi | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index 0e32d7f..e541ecb 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -288,6 +288,17 @@ > #phy-cells = <1>; > }; > > + hsotg@12480000 { > + compatible = "samsung,s3c6400-hsotg"; > + reg = <0x12480000 0x20000>; > + interrupts = <0 71 0>; > + clocks = <&clock 305>; Please use clock macros. > + clock-names = "otg"; > + phys = <&exynos_usbphy 0>; > + phy-names = "device"; This is not the correct phy name for this binding. According to what the driver uses and the example in ...bindings/usb/dwc2.txt "usb2-phy" should be used. Best regards, Tomasz ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 3/4] ARM: dts: exynos4: add hsotg device node @ 2014-04-24 16:16 ` Tomasz Figa 0 siblings, 0 replies; 22+ messages in thread From: Tomasz Figa @ 2014-04-24 16:16 UTC (permalink / raw) To: linux-arm-kernel Hi Chanho, On 14.04.2014 14:48, Chanho Park wrote: > This patch adds a hsotg node for exynos4 USB2.0 device controller. > > Cc: Tomasz Figa <t.figa@samsung.com> > Cc: Kamil Debski <k.debski@samsung.com> > Cc: Marek Szyprowski <m.szyprowski@samsung.com> > Signed-off-by: Chanho Park <chanho61.park@samsung.com> > --- > arch/arm/boot/dts/exynos4.dtsi | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index 0e32d7f..e541ecb 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -288,6 +288,17 @@ > #phy-cells = <1>; > }; > > + hsotg at 12480000 { > + compatible = "samsung,s3c6400-hsotg"; > + reg = <0x12480000 0x20000>; > + interrupts = <0 71 0>; > + clocks = <&clock 305>; Please use clock macros. > + clock-names = "otg"; > + phys = <&exynos_usbphy 0>; > + phy-names = "device"; This is not the correct phy name for this binding. According to what the driver uses and the example in ...bindings/usb/dwc2.txt "usb2-phy" should be used. Best regards, Tomasz ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 4/4] ARM: dts: exynos4412-trats2: enable usb nodes 2014-04-14 12:48 ` Chanho Park @ 2014-04-14 12:48 ` Chanho Park -1 siblings, 0 replies; 22+ messages in thread From: Chanho Park @ 2014-04-14 12:48 UTC (permalink / raw) To: kgene.kim, linux-samsung-soc Cc: t.figa, k.debski, linux-arm-kernel, devicetree, Chanho Park, Marek Szyprowski This patch enables exynos_usbphy and hsotg device nodes. Cc: Tomasz Figa <t.figa@samsung.com> Cc: Kamil Debski <k.debski@samsung.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Chanho Park <chanho61.park@samsung.com> --- arch/arm/boot/dts/exynos4412-trats2.dts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts index 9583563..a16db6c 100644 --- a/arch/arm/boot/dts/exynos4412-trats2.dts +++ b/arch/arm/boot/dts/exynos4412-trats2.dts @@ -665,6 +665,16 @@ }; }; + exynos-usbphy@125B0000 { + status = "okay"; + }; + + hsotg@12480000 { + vusb_d-supply = <&ldo15_reg>; + vusb_a-supply = <&ldo12_reg>; + status = "okay"; + }; + thermistor-ap@0 { compatible = "ntc,ncp15wb473"; pullup-uv = <1800000>; /* VCC_1.8V_AP */ -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 4/4] ARM: dts: exynos4412-trats2: enable usb nodes @ 2014-04-14 12:48 ` Chanho Park 0 siblings, 0 replies; 22+ messages in thread From: Chanho Park @ 2014-04-14 12:48 UTC (permalink / raw) To: linux-arm-kernel This patch enables exynos_usbphy and hsotg device nodes. Cc: Tomasz Figa <t.figa@samsung.com> Cc: Kamil Debski <k.debski@samsung.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Chanho Park <chanho61.park@samsung.com> --- arch/arm/boot/dts/exynos4412-trats2.dts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts index 9583563..a16db6c 100644 --- a/arch/arm/boot/dts/exynos4412-trats2.dts +++ b/arch/arm/boot/dts/exynos4412-trats2.dts @@ -665,6 +665,16 @@ }; }; + exynos-usbphy at 125B0000 { + status = "okay"; + }; + + hsotg at 12480000 { + vusb_d-supply = <&ldo15_reg>; + vusb_a-supply = <&ldo12_reg>; + status = "okay"; + }; + thermistor-ap at 0 { compatible = "ntc,ncp15wb473"; pullup-uv = <1800000>; /* VCC_1.8V_AP */ -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 22+ messages in thread
end of thread, other threads:[~2014-04-26 2:33 UTC | newest] Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-04-14 12:48 [PATCH 0/4] Enable usbphy and hsotg for exynos4 Chanho Park 2014-04-14 12:48 ` Chanho Park 2014-04-14 12:48 ` [PATCH 1/4] ARM: dts: exynos4: add PMU syscon node Chanho Park 2014-04-14 12:48 ` Chanho Park 2014-04-24 16:07 ` Tomasz Figa 2014-04-24 16:07 ` Tomasz Figa 2014-04-25 8:05 ` Vikas Sajjan 2014-04-25 8:05 ` Vikas Sajjan 2014-04-25 23:52 ` Tomasz Figa 2014-04-25 23:52 ` Tomasz Figa 2014-04-26 2:33 ` Pankaj Dubey 2014-04-26 2:33 ` Pankaj Dubey 2014-04-14 12:48 ` [PATCH 2/4] ARM: dts: exynos4: add exynos_usbphy node Chanho Park 2014-04-14 12:48 ` Chanho Park 2014-04-24 16:09 ` Tomasz Figa 2014-04-24 16:09 ` Tomasz Figa 2014-04-14 12:48 ` [PATCH 3/4] ARM: dts: exynos4: add hsotg device node Chanho Park 2014-04-14 12:48 ` Chanho Park 2014-04-24 16:16 ` Tomasz Figa 2014-04-24 16:16 ` Tomasz Figa 2014-04-14 12:48 ` [PATCH 4/4] ARM: dts: exynos4412-trats2: enable usb nodes Chanho Park 2014-04-14 12:48 ` Chanho Park
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.