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

From: Jingoo Han
Date: Tue Aug 05 2014 - 08:17:07 EST


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@xxxxxxx> wrote:
> >>> Spring uses a different GPIO, so this is not a generic SoC piece.
> >>>
> >>> Suggested-by: Tomasz Figa <t.figa@xxxxxxxxxxx>
> >>> Signed-off-by: Andreas FÃrber <afaerber@xxxxxxx>
> >>> ---
> >>> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/