[PATCH v5 05/10] ARM: dts: Move dp_hpd from exynos5250 into smdk5250 and snow

Jingoo Han jg1.han at samsung.com
Tue Aug 5 05:16:55 PDT 2014


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 at suse.de> wrote:
> >>> Spring uses a different GPIO, so this is not a generic SoC piece.
> >>>
> >>> Suggested-by: Tomasz Figa <t.figa at samsung.com>
> >>> Signed-off-by: Andreas Färber <afaerber at 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 at 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 at 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 at 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 at 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 at 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




More information about the linux-arm-kernel mailing list