Message ID | 1406868897-26874-6-git-send-email-afaerber@suse.de |
---|---|
State | New |
Headers | show |
Andreas, On Thu, Jul 31, 2014 at 9:54 PM, Andreas Färber <afaerber@suse.de> wrote: > Spring uses a different GPIO, so this is not a generic SoC piece. > > Suggested-by: Tomasz Figa <t.figa@samsung.com> > Signed-off-by: Andreas Färber <afaerber@suse.de> > --- > v5: New (Tomasz Figa) > Frees dp_hpd for Spring. > > arch/arm/boot/dts/exynos5250-pinctrl.dtsi | 7 ------- > arch/arm/boot/dts/exynos5250-smdk5250.dts | 9 +++++++++ > arch/arm/boot/dts/exynos5250-snow.dts | 7 +++++++ > 3 files changed, 16 insertions(+), 7 deletions(-) > > diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi > index 886cfca044ac..ed0e5230514b 100644 > --- a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi > +++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi > @@ -581,13 +581,6 @@ > samsung,pin-pud = <0>; > samsung,pin-drv = <0>; > }; > - > - dp_hpd: dp_hpd { > - samsung,pins = "gpx0-7"; > - samsung,pin-function = <3>; > - samsung,pin-pud = <0>; > - samsung,pin-drv = <0>; > - }; > }; > > pinctrl@13400000 { > diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts > index aaa055ac0fe3..5d30fe1dcda4 100644 > --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts > +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts > @@ -414,3 +414,12 @@ > }; > }; > }; > + > +&pinctrl_0 { > + dp_hpd: dp_hpd { > + samsung,pins = "gpx0-7"; > + samsung,pin-function = <3>; > + samsung,pin-pud = <0>; > + samsung,pin-drv = <0>; > + }; > +}; > diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts > index c4b0c73c736d..a9a2f2743794 100644 > --- a/arch/arm/boot/dts/exynos5250-snow.dts > +++ b/arch/arm/boot/dts/exynos5250-snow.dts > @@ -547,6 +547,13 @@ > }; > > &pinctrl_0 { > + dp_hpd: dp_hpd { > + samsung,pins = "gpx0-7"; > + samsung,pin-function = <3>; > + samsung,pin-pud = <0>; > + samsung,pin-drv = <0>; > + }; > + NAK. dp_hpd is a generic SoC piece. Pin function 0 and 1 are GPIOs. Pin function 3 is special function. This pin _is_ the hot plug detect pin for display port. When it's set as special function 3 it goes straight into the hot plug logic of the display port controller. Spring may have had its reasons to detect hot plug events on a GPIO instead of using this pin, but that doesn't make this pin any less the "hot plug pin". -Doug
Doug, Am 01.08.2014 22:33, schrieb Doug Anderson: > On Thu, Jul 31, 2014 at 9:54 PM, Andreas Färber <afaerber@suse.de> wrote: >> Spring uses a different GPIO, so this is not a generic SoC piece. >> >> Suggested-by: Tomasz Figa <t.figa@samsung.com> >> Signed-off-by: Andreas Färber <afaerber@suse.de> >> --- >> v5: New (Tomasz Figa) >> Frees dp_hpd for Spring. >> >> arch/arm/boot/dts/exynos5250-pinctrl.dtsi | 7 ------- >> arch/arm/boot/dts/exynos5250-smdk5250.dts | 9 +++++++++ >> arch/arm/boot/dts/exynos5250-snow.dts | 7 +++++++ >> 3 files changed, 16 insertions(+), 7 deletions(-) >> >> diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi >> index 886cfca044ac..ed0e5230514b 100644 >> --- a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi >> +++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi >> @@ -581,13 +581,6 @@ >> samsung,pin-pud = <0>; >> samsung,pin-drv = <0>; >> }; >> - >> - dp_hpd: dp_hpd { >> - samsung,pins = "gpx0-7"; >> - samsung,pin-function = <3>; >> - samsung,pin-pud = <0>; >> - samsung,pin-drv = <0>; >> - }; >> }; >> >> pinctrl@13400000 { >> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts >> index aaa055ac0fe3..5d30fe1dcda4 100644 >> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts >> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts >> @@ -414,3 +414,12 @@ >> }; >> }; >> }; >> + >> +&pinctrl_0 { >> + dp_hpd: dp_hpd { >> + samsung,pins = "gpx0-7"; >> + samsung,pin-function = <3>; >> + samsung,pin-pud = <0>; >> + samsung,pin-drv = <0>; >> + }; >> +}; >> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts >> index c4b0c73c736d..a9a2f2743794 100644 >> --- a/arch/arm/boot/dts/exynos5250-snow.dts >> +++ b/arch/arm/boot/dts/exynos5250-snow.dts >> @@ -547,6 +547,13 @@ >> }; >> >> &pinctrl_0 { >> + dp_hpd: dp_hpd { >> + samsung,pins = "gpx0-7"; >> + samsung,pin-function = <3>; >> + samsung,pin-pud = <0>; >> + samsung,pin-drv = <0>; >> + }; >> + > > NAK. dp_hpd is a generic SoC piece. Pin function 0 and 1 are GPIOs. > Pin function 3 is special function. This pin _is_ the hot plug detect > pin for display port. When it's set as special function 3 it goes > straight into the hot plug logic of the display port controller. > > Spring may have had its reasons to detect hot plug events on a GPIO > instead of using this pin, but that doesn't make this pin any less the > "hot plug pin". Please advise how to handle it then: Should there be two different pinctrl entries (if so, how should it be named?), or should spring override the generic entry? As I reported, 3.8 has only one dp-hpd pinctrl entry, so I dropped the dp-hpd-gpio naming. Andreas
On 01.08.2014 22:54, Andreas Färber wrote: > Doug, > > Am 01.08.2014 22:33, schrieb Doug Anderson: >> On Thu, Jul 31, 2014 at 9:54 PM, Andreas Färber <afaerber@suse.de> wrote: >>> Spring uses a different GPIO, so this is not a generic SoC piece. >>> >>> Suggested-by: Tomasz Figa <t.figa@samsung.com> >>> Signed-off-by: Andreas Färber <afaerber@suse.de> >>> --- >>> v5: New (Tomasz Figa) >>> Frees dp_hpd for Spring. >>> >>> arch/arm/boot/dts/exynos5250-pinctrl.dtsi | 7 ------- >>> arch/arm/boot/dts/exynos5250-smdk5250.dts | 9 +++++++++ >>> arch/arm/boot/dts/exynos5250-snow.dts | 7 +++++++ >>> 3 files changed, 16 insertions(+), 7 deletions(-) >>> >>> diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi >>> index 886cfca044ac..ed0e5230514b 100644 >>> --- a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi >>> +++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi >>> @@ -581,13 +581,6 @@ >>> samsung,pin-pud = <0>; >>> samsung,pin-drv = <0>; >>> }; >>> - >>> - dp_hpd: dp_hpd { >>> - samsung,pins = "gpx0-7"; >>> - samsung,pin-function = <3>; >>> - samsung,pin-pud = <0>; >>> - samsung,pin-drv = <0>; >>> - }; >>> }; >>> >>> pinctrl@13400000 { >>> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts >>> index aaa055ac0fe3..5d30fe1dcda4 100644 >>> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts >>> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts >>> @@ -414,3 +414,12 @@ >>> }; >>> }; >>> }; >>> + >>> +&pinctrl_0 { >>> + dp_hpd: dp_hpd { >>> + samsung,pins = "gpx0-7"; >>> + samsung,pin-function = <3>; >>> + samsung,pin-pud = <0>; >>> + samsung,pin-drv = <0>; >>> + }; >>> +}; >>> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts >>> index c4b0c73c736d..a9a2f2743794 100644 >>> --- a/arch/arm/boot/dts/exynos5250-snow.dts >>> +++ b/arch/arm/boot/dts/exynos5250-snow.dts >>> @@ -547,6 +547,13 @@ >>> }; >>> >>> &pinctrl_0 { >>> + dp_hpd: dp_hpd { >>> + samsung,pins = "gpx0-7"; >>> + samsung,pin-function = <3>; >>> + samsung,pin-pud = <0>; >>> + samsung,pin-drv = <0>; >>> + }; >>> + >> >> NAK. dp_hpd is a generic SoC piece. Pin function 0 and 1 are GPIOs. >> Pin function 3 is special function. This pin _is_ the hot plug detect >> pin for display port. When it's set as special function 3 it goes >> straight into the hot plug logic of the display port controller. >> >> Spring may have had its reasons to detect hot plug events on a GPIO >> instead of using this pin, but that doesn't make this pin any less the >> "hot plug pin". > > Please advise how to handle it then: Should there be two different > pinctrl entries (if so, how should it be named?), IMHO this is the right way. Just name the GPIO variant dp_hpd_gpio. Best regards, Tomasz
On Saturday, August 02, 2014 5:57 AM, Tomasz Figa wrote: > On 01.08.2014 22:54, Andreas Färber wrote: > > Am 01.08.2014 22:33, schrieb Doug Anderson: > >> On Thu, Jul 31, 2014 at 9:54 PM, Andreas Färber <afaerber@suse.de> wrote: > >>> Spring uses a different GPIO, so this is not a generic SoC piece. > >>> > >>> Suggested-by: Tomasz Figa <t.figa@samsung.com> > >>> Signed-off-by: Andreas Färber <afaerber@suse.de> > >>> --- > >>> v5: New (Tomasz Figa) > >>> Frees dp_hpd for Spring. > >>> > >>> arch/arm/boot/dts/exynos5250-pinctrl.dtsi | 7 ------- > >>> arch/arm/boot/dts/exynos5250-smdk5250.dts | 9 +++++++++ > >>> arch/arm/boot/dts/exynos5250-snow.dts | 7 +++++++ > >>> 3 files changed, 16 insertions(+), 7 deletions(-) > >>> > >>> diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi > >>> index 886cfca044ac..ed0e5230514b 100644 > >>> --- a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi > >>> +++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi > >>> @@ -581,13 +581,6 @@ > >>> samsung,pin-pud = <0>; > >>> samsung,pin-drv = <0>; > >>> }; > >>> - > >>> - dp_hpd: dp_hpd { > >>> - samsung,pins = "gpx0-7"; > >>> - samsung,pin-function = <3>; > >>> - samsung,pin-pud = <0>; > >>> - samsung,pin-drv = <0>; > >>> - }; > >>> }; > >>> > >>> pinctrl@13400000 { > >>> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts > >>> index aaa055ac0fe3..5d30fe1dcda4 100644 > >>> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts > >>> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts > >>> @@ -414,3 +414,12 @@ > >>> }; > >>> }; > >>> }; > >>> + > >>> +&pinctrl_0 { > >>> + dp_hpd: dp_hpd { > >>> + samsung,pins = "gpx0-7"; > >>> + samsung,pin-function = <3>; > >>> + samsung,pin-pud = <0>; > >>> + samsung,pin-drv = <0>; > >>> + }; > >>> +}; > >>> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts > >>> index c4b0c73c736d..a9a2f2743794 100644 > >>> --- a/arch/arm/boot/dts/exynos5250-snow.dts > >>> +++ b/arch/arm/boot/dts/exynos5250-snow.dts > >>> @@ -547,6 +547,13 @@ > >>> }; > >>> > >>> &pinctrl_0 { > >>> + dp_hpd: dp_hpd { > >>> + samsung,pins = "gpx0-7"; > >>> + samsung,pin-function = <3>; > >>> + samsung,pin-pud = <0>; > >>> + samsung,pin-drv = <0>; > >>> + }; > >>> + > >> > >> NAK. dp_hpd is a generic SoC piece. Pin function 0 and 1 are GPIOs. > >> Pin function 3 is special function. This pin _is_ the hot plug detect > >> pin for display port. When it's set as special function 3 it goes > >> straight into the hot plug logic of the display port controller. > >> > >> Spring may have had its reasons to detect hot plug events on a GPIO > >> instead of using this pin, but that doesn't make this pin any less the > >> "hot plug pin". > > > > Please advise how to handle it then: Should there be two different > > pinctrl entries (if so, how should it be named?), > > IMHO this is the right way. Just name the GPIO variant dp_hpd_gpio. Hi Andreas Färber, I agree with Tomasz Figa and Doug Anderson. Please refer to the following. 1. case: Standard HPD pin is used. (smdk5420) arch/arm/boot/dts/exynos5420-pinctrl.dts pinctrl@13400000 { dp_hpd: dp_hpd { samsung,pins = "gpx0-7"; samsung,pin-function = <3>; samsung,pin-pud = <0>; samsung,pin-drv = <0>; }; arch/arm/boot/dts/exynos5420-smdk5420.dts dp-controller@145B0000 { pinctrl-names = "default"; pinctrl-0 = <&dp_hpd>; ... 2. case: non-standard HPD pin such as GPIO is used. (peach pit) arch/arm/boot/dts/exynos5420-peach-pit.dts pinctrl@13400000 { dp_hpd_gpio: dp_hpd_gpio { samsung,pins = "gpx2-6"; samsung,pin-function = <0>; samsung,pin-pud = <3>; samsung,pin-drv = <0>; }; dp-controller@145B0000 { pinctrl-names = "default"; pinctrl-0 = <&dp_hpd_gpio>; ... samsung,hpd-gpio = <&gpx2 6 0>; So, you need to follow the second case. "dp_hpd_gpio" can be used for Spring board. Best regards, Jingoo Han
Hi Jingoo, Am 05.08.2014 13:16, schrieb Jingoo Han: > On Saturday, August 02, 2014 5:57 AM, Tomasz Figa wrote: >> On 01.08.2014 22:54, Andreas Färber wrote: >>> Am 01.08.2014 22:33, schrieb Doug Anderson: >>>> On Thu, Jul 31, 2014 at 9:54 PM, Andreas Färber <afaerber@suse.de> wrote: >>>>> Spring uses a different GPIO, so this is not a generic SoC piece. >>>>> >>>>> Suggested-by: Tomasz Figa <t.figa@samsung.com> >>>>> Signed-off-by: Andreas Färber <afaerber@suse.de> >>>>> --- >>>>> v5: New (Tomasz Figa) >>>>> Frees dp_hpd for Spring. >>>>> >>>>> arch/arm/boot/dts/exynos5250-pinctrl.dtsi | 7 ------- >>>>> arch/arm/boot/dts/exynos5250-smdk5250.dts | 9 +++++++++ >>>>> arch/arm/boot/dts/exynos5250-snow.dts | 7 +++++++ >>>>> 3 files changed, 16 insertions(+), 7 deletions(-) >>>>> >>>>> diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi >>>>> index 886cfca044ac..ed0e5230514b 100644 >>>>> --- a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi >>>>> +++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi >>>>> @@ -581,13 +581,6 @@ >>>>> samsung,pin-pud = <0>; >>>>> samsung,pin-drv = <0>; >>>>> }; >>>>> - >>>>> - dp_hpd: dp_hpd { >>>>> - samsung,pins = "gpx0-7"; >>>>> - samsung,pin-function = <3>; >>>>> - samsung,pin-pud = <0>; >>>>> - samsung,pin-drv = <0>; >>>>> - }; >>>>> }; >>>>> >>>>> pinctrl@13400000 { >>>>> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts >>>>> index aaa055ac0fe3..5d30fe1dcda4 100644 >>>>> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts >>>>> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts >>>>> @@ -414,3 +414,12 @@ >>>>> }; >>>>> }; >>>>> }; >>>>> + >>>>> +&pinctrl_0 { >>>>> + dp_hpd: dp_hpd { >>>>> + samsung,pins = "gpx0-7"; >>>>> + samsung,pin-function = <3>; >>>>> + samsung,pin-pud = <0>; >>>>> + samsung,pin-drv = <0>; >>>>> + }; >>>>> +}; >>>>> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts >>>>> index c4b0c73c736d..a9a2f2743794 100644 >>>>> --- a/arch/arm/boot/dts/exynos5250-snow.dts >>>>> +++ b/arch/arm/boot/dts/exynos5250-snow.dts >>>>> @@ -547,6 +547,13 @@ >>>>> }; >>>>> >>>>> &pinctrl_0 { >>>>> + dp_hpd: dp_hpd { >>>>> + samsung,pins = "gpx0-7"; >>>>> + samsung,pin-function = <3>; >>>>> + samsung,pin-pud = <0>; >>>>> + samsung,pin-drv = <0>; >>>>> + }; >>>>> + >>>> >>>> NAK. dp_hpd is a generic SoC piece. Pin function 0 and 1 are GPIOs. >>>> Pin function 3 is special function. This pin _is_ the hot plug detect >>>> pin for display port. When it's set as special function 3 it goes >>>> straight into the hot plug logic of the display port controller. >>>> >>>> Spring may have had its reasons to detect hot plug events on a GPIO >>>> instead of using this pin, but that doesn't make this pin any less the >>>> "hot plug pin". >>> >>> Please advise how to handle it then: Should there be two different >>> pinctrl entries (if so, how should it be named?), >> >> IMHO this is the right way. Just name the GPIO variant dp_hpd_gpio. > > Hi Andreas Färber, > > I agree with Tomasz Figa and Doug Anderson. > Please refer to the following. > > 1. case: Standard HPD pin is used. (smdk5420) > arch/arm/boot/dts/exynos5420-pinctrl.dts > pinctrl@13400000 { > dp_hpd: dp_hpd { > samsung,pins = "gpx0-7"; > samsung,pin-function = <3>; > samsung,pin-pud = <0>; > samsung,pin-drv = <0>; > }; > arch/arm/boot/dts/exynos5420-smdk5420.dts > dp-controller@145B0000 { > pinctrl-names = "default"; > pinctrl-0 = <&dp_hpd>; > ... > > 2. case: non-standard HPD pin such as GPIO is used. (peach pit) > arch/arm/boot/dts/exynos5420-peach-pit.dts > pinctrl@13400000 { > dp_hpd_gpio: dp_hpd_gpio { > samsung,pins = "gpx2-6"; > samsung,pin-function = <0>; > samsung,pin-pud = <3>; > samsung,pin-drv = <0>; > }; > dp-controller@145B0000 { > pinctrl-names = "default"; > pinctrl-0 = <&dp_hpd_gpio>; > ... > samsung,hpd-gpio = <&gpx2 6 0>; > > So, you need to follow the second case. > "dp_hpd_gpio" can be used for Spring board. I believe I already did so in v6 [0]? Please take a look there and let me know if you still need anything changed. The label name seems identical, whereas for the node name I adopted the dashes convention. Thanks, Andreas [0] https://patchwork.kernel.org/patch/4664691/
On Sunday, August 10, 2014 6:15 PM, Andreas Farber wrote: > Am 05.08.2014 13:16, schrieb Jingoo Han: > > On Saturday, August 02, 2014 5:57 AM, Tomasz Figa wrote: > >> On 01.08.2014 22:54, Andreas Färber wrote: > >>> Am 01.08.2014 22:33, schrieb Doug Anderson: > >>>> On Thu, Jul 31, 2014 at 9:54 PM, Andreas Färber <afaerber@suse.de> wrote: > >>>>> Spring uses a different GPIO, so this is not a generic SoC piece. > >>>>> > >>>>> Suggested-by: Tomasz Figa <t.figa@samsung.com> > >>>>> Signed-off-by: Andreas Färber <afaerber@suse.de> > >>>>> --- > >>>>> v5: New (Tomasz Figa) > >>>>> Frees dp_hpd for Spring. > >>>>> > >>>>> arch/arm/boot/dts/exynos5250-pinctrl.dtsi | 7 ------- > >>>>> arch/arm/boot/dts/exynos5250-smdk5250.dts | 9 +++++++++ > >>>>> arch/arm/boot/dts/exynos5250-snow.dts | 7 +++++++ > >>>>> 3 files changed, 16 insertions(+), 7 deletions(-) > >>>>> > >>>>> diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/exynos5250- > pinctrl.dtsi > >>>>> index 886cfca044ac..ed0e5230514b 100644 > >>>>> --- a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi > >>>>> +++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi > >>>>> @@ -581,13 +581,6 @@ > >>>>> samsung,pin-pud = <0>; > >>>>> samsung,pin-drv = <0>; > >>>>> }; > >>>>> - > >>>>> - dp_hpd: dp_hpd { > >>>>> - samsung,pins = "gpx0-7"; > >>>>> - samsung,pin-function = <3>; > >>>>> - samsung,pin-pud = <0>; > >>>>> - samsung,pin-drv = <0>; > >>>>> - }; > >>>>> }; > >>>>> > >>>>> pinctrl@13400000 { > >>>>> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250- > smdk5250.dts > >>>>> index aaa055ac0fe3..5d30fe1dcda4 100644 > >>>>> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts > >>>>> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts > >>>>> @@ -414,3 +414,12 @@ > >>>>> }; > >>>>> }; > >>>>> }; > >>>>> + > >>>>> +&pinctrl_0 { > >>>>> + dp_hpd: dp_hpd { > >>>>> + samsung,pins = "gpx0-7"; > >>>>> + samsung,pin-function = <3>; > >>>>> + samsung,pin-pud = <0>; > >>>>> + samsung,pin-drv = <0>; > >>>>> + }; > >>>>> +}; > >>>>> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts > >>>>> index c4b0c73c736d..a9a2f2743794 100644 > >>>>> --- a/arch/arm/boot/dts/exynos5250-snow.dts > >>>>> +++ b/arch/arm/boot/dts/exynos5250-snow.dts > >>>>> @@ -547,6 +547,13 @@ > >>>>> }; > >>>>> > >>>>> &pinctrl_0 { > >>>>> + dp_hpd: dp_hpd { > >>>>> + samsung,pins = "gpx0-7"; > >>>>> + samsung,pin-function = <3>; > >>>>> + samsung,pin-pud = <0>; > >>>>> + samsung,pin-drv = <0>; > >>>>> + }; > >>>>> + > >>>> > >>>> NAK. dp_hpd is a generic SoC piece. Pin function 0 and 1 are GPIOs. > >>>> Pin function 3 is special function. This pin _is_ the hot plug detect > >>>> pin for display port. When it's set as special function 3 it goes > >>>> straight into the hot plug logic of the display port controller. > >>>> > >>>> Spring may have had its reasons to detect hot plug events on a GPIO > >>>> instead of using this pin, but that doesn't make this pin any less the > >>>> "hot plug pin". > >>> > >>> Please advise how to handle it then: Should there be two different > >>> pinctrl entries (if so, how should it be named?), > >> > >> IMHO this is the right way. Just name the GPIO variant dp_hpd_gpio. > > > > Hi Andreas Färber, > > > > I agree with Tomasz Figa and Doug Anderson. > > Please refer to the following. > > > > 1. case: Standard HPD pin is used. (smdk5420) > > arch/arm/boot/dts/exynos5420-pinctrl.dts > > pinctrl@13400000 { > > dp_hpd: dp_hpd { > > samsung,pins = "gpx0-7"; > > samsung,pin-function = <3>; > > samsung,pin-pud = <0>; > > samsung,pin-drv = <0>; > > }; > > arch/arm/boot/dts/exynos5420-smdk5420.dts > > dp-controller@145B0000 { > > pinctrl-names = "default"; > > pinctrl-0 = <&dp_hpd>; > > ... > > > > 2. case: non-standard HPD pin such as GPIO is used. (peach pit) > > arch/arm/boot/dts/exynos5420-peach-pit.dts > > pinctrl@13400000 { > > dp_hpd_gpio: dp_hpd_gpio { > > samsung,pins = "gpx2-6"; > > samsung,pin-function = <0>; > > samsung,pin-pud = <3>; > > samsung,pin-drv = <0>; > > }; > > dp-controller@145B0000 { > > pinctrl-names = "default"; > > pinctrl-0 = <&dp_hpd_gpio>; > > ... > > samsung,hpd-gpio = <&gpx2 6 0>; > > > > So, you need to follow the second case. > > "dp_hpd_gpio" can be used for Spring board. > > I believe I already did so in v6 [0]? Please take a look there and let > me know if you still need anything changed. The label name seems > identical, whereas for the node name I adopted the dashes convention. OK, I checked v6 patches. I have no objection. It looks good. Thank you. Best regards, Jingoo Han > > Thanks, > Andreas > > [0] https://patchwork.kernel.org/patch/4664691/ > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg > -- > 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
diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi index 886cfca044ac..ed0e5230514b 100644 --- a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi @@ -581,13 +581,6 @@ samsung,pin-pud = <0>; samsung,pin-drv = <0>; }; - - dp_hpd: dp_hpd { - samsung,pins = "gpx0-7"; - samsung,pin-function = <3>; - samsung,pin-pud = <0>; - samsung,pin-drv = <0>; - }; }; pinctrl@13400000 { diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts index aaa055ac0fe3..5d30fe1dcda4 100644 --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts @@ -414,3 +414,12 @@ }; }; }; + +&pinctrl_0 { + dp_hpd: dp_hpd { + samsung,pins = "gpx0-7"; + samsung,pin-function = <3>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; +}; diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts index c4b0c73c736d..a9a2f2743794 100644 --- a/arch/arm/boot/dts/exynos5250-snow.dts +++ b/arch/arm/boot/dts/exynos5250-snow.dts @@ -547,6 +547,13 @@ }; &pinctrl_0 { + dp_hpd: dp_hpd { + samsung,pins = "gpx0-7"; + samsung,pin-function = <3>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; + ec_irq: ec-irq { samsung,pins = "gpx1-6"; samsung,pin-function = <0>;
Spring uses a different GPIO, so this is not a generic SoC piece. Suggested-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Andreas Färber <afaerber@suse.de> --- v5: New (Tomasz Figa) Frees dp_hpd for Spring. arch/arm/boot/dts/exynos5250-pinctrl.dtsi | 7 ------- arch/arm/boot/dts/exynos5250-smdk5250.dts | 9 +++++++++ arch/arm/boot/dts/exynos5250-snow.dts | 7 +++++++ 3 files changed, 16 insertions(+), 7 deletions(-)