Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1552796 > unrolled thread

[PATCH v5 0/5] Add touch key driver support for TM2

Started byAndi Shyti <andi.shyti@samsung.com>
First post2017-01-06 14:50 +0100
Last post2017-01-06 22:30 +0100
Articles 19 — 6 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v5 0/5] Add touch key driver support for TM2 Andi Shyti <andi.shyti@samsung.com> - 2017-01-06 14:50 +0100
    [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node Andi Shyti <andi.shyti@samsung.com> - 2017-01-06 14:50 +0100
      Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node Krzysztof Kozlowski <krzk@kernel.org> - 2017-01-06 15:10 +0100
      Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node Chanwoo Choi <cwchoi00@gmail.com> - 2017-01-06 22:40 +0100
        Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node Chanwoo Choi <cwchoi00@gmail.com> - 2017-01-06 23:20 +0100
          Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node Andi Shyti <andi@etezian.org> - 2017-01-07 13:50 +0100
            Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node Chanwoo Choi <cwchoi00@gmail.com> - 2017-01-08 06:20 +0100
              Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node Andi Shyti <andi@etezian.org> - 2017-01-08 06:50 +0100
                Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node Chanwoo Choi <cwchoi00@gmail.com> - 2017-01-08 07:10 +0100
                  Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node Andi Shyti <andi@smida.it> - 2017-01-08 07:20 +0100
        Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node Chanwoo Choi <cwchoi00@gmail.com> - 2017-01-06 23:20 +0100
    [PATCH v5 1/5] arm64: dts: exynos5433: TM2/E: Fix wrong values for  ldo23 and ldo25 Andi Shyti <andi.shyti@samsung.com> - 2017-01-06 14:50 +0100
      Re: [PATCH v5 1/5] arm64: dts: exynos5433: TM2/E: Fix wrong values  for ldo23 and ldo25 Krzysztof Kozlowski <krzk@kernel.org> - 2017-01-06 15:10 +0100
    [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from  each other Andi Shyti <andi.shyti@samsung.com> - 2017-01-06 14:50 +0100
      Re: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent  from each other Andi Shyti <andi.shyti@samsung.com> - 2017-01-06 15:00 +0100
        Re: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent  from each other Krzysztof Kozlowski <krzk@kernel.org> - 2017-01-06 15:20 +0100
      Re: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent  from each other Krzysztof Kozlowski <krzk@kernel.org> - 2017-01-06 15:00 +0100
        Re: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent  from each other Javier Martinez Canillas <javier@osg.samsung.com> - 2017-01-06 15:20 +0100
      Re: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent  from each other Chanwoo Choi <cwchoi00@gmail.com> - 2017-01-06 22:30 +0100

#1552796 — [PATCH v5 0/5] Add touch key driver support for TM2

FromAndi Shyti <andi.shyti@samsung.com>
Date2017-01-06 14:50 +0100
Subject[PATCH v5 0/5] Add touch key driver support for TM2
Message-ID<sWD45-2DX-3@gated-at.bofh.it>
Hi,

I'll send this patch on behalf of Jaechul Lee
<jcsing.lee@samsung.com> becasue I don't want to block
anyone who wants to make changes to the exynos5433-tm2*dts*
files.

This patches are based on Krzysztof's branch for-next [1] and
this was the original Jaechul's mail:

    "This patchset adds support for the tm2 touchkey device.

     The driver has been ported from Tizen Kernel,
     originally written
     by Beomho. I ported it to the latest mainline Kernel."

Thanks and hopefully I got it right :)
Andi

[1] https://git.kernel.org/cgit/linux/kernel/git/krzk/linux.git/log/?h=for-next

Changes in v5:
 - patch 1: removed a spurious regulator-always-off inherited from
   a different patch. Thanks Krzysztof.
 - patch 2: fixed a slip on  the model, thanks Javier (this patch
   confuses me quite a lot, this was all right some patches ago
   and re appeared on this one).
 - patch 2: removed 'regulator' label and used the original ldo3x
   labels. Krzysztof: it looks better indeed.
 - added Javier's reviews and Krzysztof's acks on the related
   patches.

Changes in v4:
 - patch 1 has been rebased on top of 7c294e002641 (arm64: dts:
   exynos: Remove unsupported regulator-always-off property from
   TM2E)
 - patch 2 has been generated with -B50% diff option using git
   2.11

Changes in v3:
 - Changed the commit ordering, the tm2-touchkey related patches
   are the last 3.
 - Added Chanwoo's patch which fixes the wrong voltage of ldo23
   and ldo25.
 - Andi (patch 3) moves the ldo31 and ldo38 in the tm2 and tm2e
   files as they have different values.

Changes in v2:
 - fixed reviews from Javier, Dmitry
 - refactored power enable/disable functions.
 - reordered signed-offs in patch 2, while patch 4 is left as it
   was as Andi copy pasted the node to the new tm2.dts file
 - added Jarvier's (patch 1,2,4) and Krzysztof's (patch 4)
   reviews
   and Rob's Ack
 - patch 3 diff has been generated with -B50%

Andi Shyti (1):
  arm64: dts: exynos: make tm2 and tm2e independent from each other

Andi Shyti (1):
  arm64: dts: exynos: make tm2 and tm2e independent from each other

Chanwoo Choi (1):
  arm64: dts: exynos5433: TM2/E: Fix wrong values for ldo23 and ldo25

Jaechul Lee (3):
  input: Add support for the tm2 touchkey device driver
  input: tm2-touchkey: Add touchkey driver support for TM2
  arm64: dts: exynos: Add tm2 touchkey node

 .../bindings/input/samsung,tm2-touchkey.txt        |   27 +
 ...ynos5433-tm2.dts => exynos5433-tm2-common.dtsi} |   27 +-
 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts      | 1163 +-------------------
 arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts     |   11 +-
 drivers/input/keyboard/Kconfig                     |   11 +
 drivers/input/keyboard/Makefile                    |    1 +
 drivers/input/keyboard/tm2-touchkey.c              |  280 +++++
 7 files changed, 377 insertions(+), 1143 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/samsung,tm2-touchkey.txt
 copy arch/arm64/boot/dts/exynos/{exynos5433-tm2.dts => exynos5433-tm2-common.dtsi} (97%)
 rewrite arch/arm64/boot/dts/exynos/exynos5433-tm2.dts (97%)
 create mode 100644 drivers/input/keyboard/tm2-touchkey.c

-- 
2.11.0

[toc] | [next] | [standalone]


#1552798 — [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node

FromAndi Shyti <andi.shyti@samsung.com>
Date2017-01-06 14:50 +0100
Subject[PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node
Message-ID<sWD46-2DX-29@gated-at.bofh.it>
In reply to#1552796
From: Jaechul Lee <jcsing.lee@samsung.com>

Add DT node support for TM2 touchkey device.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
index 2449266b268f..92fcc4ec8319 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
@@ -18,6 +18,19 @@
 	compatible = "samsung,tm2", "samsung,exynos5433";
 };
 
+&hsi2c_9 {
+	status = "okay";
+
+	touchkey@20 {
+		compatible = "samsung,tm2-touchkey";
+		reg = <0x20>;
+		interrupt-parent = <&gpa3>;
+		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+		vcc-supply = <&ldo32_reg>;
+		vdd-supply = <&ldo33_reg>;
+	};
+};
+
 &ldo31_reg {
 	regulator-name = "TSP_VDD_1.85V_AP";
 	regulator-min-microvolt = <1850000>;
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1552807 — Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node

FromKrzysztof Kozlowski <krzk@kernel.org>
Date2017-01-06 15:10 +0100
SubjectRe: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node
Message-ID<sWDns-31z-1@gated-at.bofh.it>
In reply to#1552798
On Fri, Jan 06, 2017 at 10:43:50PM +0900, Andi Shyti wrote:
> From: Jaechul Lee <jcsing.lee@samsung.com>
> 
> Add DT node support for TM2 touchkey device.
> 
> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
> Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
> ---
>  arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 

Looks good, but I will wait with this one till the bindings and driver
got accepted.

Best regards,
Krzysztof

[toc] | [prev] | [next] | [standalone]


#1553150 — Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node

FromChanwoo Choi <cwchoi00@gmail.com>
Date2017-01-06 22:40 +0100
SubjectRe: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node
Message-ID<sWKoV-7NO-31@gated-at.bofh.it>
In reply to#1552798
Hi,

2017-01-06 22:43 GMT+09:00 Andi Shyti <andi.shyti@samsung.com>:
> From: Jaechul Lee <jcsing.lee@samsung.com>
>
> Add DT node support for TM2 touchkey device.
>
> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
> Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
> ---
>  arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> index 2449266b268f..92fcc4ec8319 100644
> --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> @@ -18,6 +18,19 @@
>         compatible = "samsung,tm2", "samsung,exynos5433";
>  };
>
> +&hsi2c_9 {
> +       status = "okay";
> +
> +       touchkey@20 {
> +               compatible = "samsung,tm2-touchkey";
> +               reg = <0x20>;
> +               interrupt-parent = <&gpa3>;
> +               interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> +               vcc-supply = <&ldo32_reg>;
> +               vdd-supply = <&ldo33_reg>;
> +       };
> +};
> +
>  &ldo31_reg {
>         regulator-name = "TSP_VDD_1.85V_AP";
>         regulator-min-microvolt = <1850000>;

Looks good to me.
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>

-- 
Best Regards,
Chanwoo Choi

[toc] | [prev] | [next] | [standalone]


#1553281 — Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node

FromChanwoo Choi <cwchoi00@gmail.com>
Date2017-01-06 23:20 +0100
SubjectRe: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node
Message-ID<sWL1D-8lb-11@gated-at.bofh.it>
In reply to#1553150
Hi,

2017-01-07 7:09 GMT+09:00 Chanwoo Choi <cwchoi00@gmail.com>:
> Hi,
>
> 2017-01-07 6:31 GMT+09:00 Chanwoo Choi <cwchoi00@gmail.com>:
>> Hi,
>>
>> 2017-01-06 22:43 GMT+09:00 Andi Shyti <andi.shyti@samsung.com>:
>>> From: Jaechul Lee <jcsing.lee@samsung.com>
>>>
>>> Add DT node support for TM2 touchkey device.
>>>
>>> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
>>> Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
>>> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
>>> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
>>> ---
>>>  arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 13 +++++++++++++
>>>  1 file changed, 13 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>>> index 2449266b268f..92fcc4ec8319 100644
>>> --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>>> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>>> @@ -18,6 +18,19 @@
>>>         compatible = "samsung,tm2", "samsung,exynos5433";
>>>  };
>>>
>>> +&hsi2c_9 {
>>> +       status = "okay";
>>> +
>>> +       touchkey@20 {
>>> +               compatible = "samsung,tm2-touchkey";
>>> +               reg = <0x20>;
>>> +               interrupt-parent = <&gpa3>;
>>> +               interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
>>> +               vcc-supply = <&ldo32_reg>;
>>> +               vdd-supply = <&ldo33_reg>;
>>> +       };
>>> +};
>>> +
>>>  &ldo31_reg {
>>>         regulator-name = "TSP_VDD_1.85V_AP";
>>>         regulator-min-microvolt = <1850000>;
>>
>> Looks good to me.
>> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>

I'm sorry to send the empty mail without any content.

I repiled the touchkey driver against compatible name.
Usually, when developing the device driver, we use the specific h/w name
but in this patch, the touckey dt node uses the h/w board name instead of
original touckhey name.

If this touckey device is used on other h/w board, I think the current
compatible name
is not proper.

So. please drop the my reviewed-by tag until completing the discussion.
I'm sorry to make the confusion.

-- 
Best Regards,
Chanwoo Choi

[toc] | [prev] | [next] | [standalone]


#1553653 — Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node

FromAndi Shyti <andi@etezian.org>
Date2017-01-07 13:50 +0100
SubjectRe: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node
Message-ID<sWYBA-rV-21@gated-at.bofh.it>
In reply to#1553281
Hi Chanwoo,

> >>> +       touchkey@20 {
> >>> +               compatible = "samsung,tm2-touchkey";
> >>> +               reg = <0x20>;
> >>> +               interrupt-parent = <&gpa3>;
> >>> +               interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> >>> +               vcc-supply = <&ldo32_reg>;
> >>> +               vdd-supply = <&ldo33_reg>;
> >>> +       };
> >>> +};
> >>> +
> >>>  &ldo31_reg {
> >>>         regulator-name = "TSP_VDD_1.85V_AP";
> >>>         regulator-min-microvolt = <1850000>;
> 
> I repiled the touchkey driver against compatible name.
> Usually, when developing the device driver, we use the specific h/w name
> but in this patch, the touckey dt node uses the h/w board name instead of
> original touckhey name.

this should be a device specifically done for the tm2 and we are
not sure who is the manufacturer of the device. In order to not
assign the device to the wrong manufacturer, we preferred calling
it Samsung as it is in a Samsung device.

Andi

[toc] | [prev] | [next] | [standalone]


#1553791 — Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node

FromChanwoo Choi <cwchoi00@gmail.com>
Date2017-01-08 06:20 +0100
SubjectRe: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node
Message-ID<sXe3D-203-5@gated-at.bofh.it>
In reply to#1553653
Hi Andi,

2017-01-07 21:40 GMT+09:00 Andi Shyti <andi@etezian.org>:
> Hi Chanwoo,
>
>> >>> +       touchkey@20 {
>> >>> +               compatible = "samsung,tm2-touchkey";
>> >>> +               reg = <0x20>;
>> >>> +               interrupt-parent = <&gpa3>;
>> >>> +               interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
>> >>> +               vcc-supply = <&ldo32_reg>;
>> >>> +               vdd-supply = <&ldo33_reg>;
>> >>> +       };
>> >>> +};
>> >>> +
>> >>>  &ldo31_reg {
>> >>>         regulator-name = "TSP_VDD_1.85V_AP";
>> >>>         regulator-min-microvolt = <1850000>;
>>
>> I repiled the touchkey driver against compatible name.
>> Usually, when developing the device driver, we use the specific h/w name
>> but in this patch, the touckey dt node uses the h/w board name instead of
>> original touckhey name.
>
> this should be a device specifically done for the tm2 and we are
> not sure who is the manufacturer of the device. In order to not

As I knew, this touchkey was made by Cypress semiconductor.
But, for more correct information, you may try to find it.

> assign the device to the wrong manufacturer, we preferred calling
> it Samsung as it is in a Samsung device.

As you mentioned, Samsung made not this touchkey device. It is
certainly wrong manufacturer. I have not seen to use the h/w board
name as the peripheral device name.

I don't prefer to use the inaccurate manufacturer and device name.

-- 
Best Regards,
Chanwoo Choi

[toc] | [prev] | [next] | [standalone]


#1553792 — Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node

FromAndi Shyti <andi@etezian.org>
Date2017-01-08 06:50 +0100
SubjectRe: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node
Message-ID<sXewG-2e3-11@gated-at.bofh.it>
In reply to#1553791
Hi Chanwoo,

> >> >>> +       touchkey@20 {
> >> >>> +               compatible = "samsung,tm2-touchkey";
> >> >>> +               reg = <0x20>;
> >> >>> +               interrupt-parent = <&gpa3>;
> >> >>> +               interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> >> >>> +               vcc-supply = <&ldo32_reg>;
> >> >>> +               vdd-supply = <&ldo33_reg>;
> >> >>> +       };
> >> >>> +};
> >> >>> +
> >> >>>  &ldo31_reg {
> >> >>>         regulator-name = "TSP_VDD_1.85V_AP";
> >> >>>         regulator-min-microvolt = <1850000>;
> >>
> >> I repiled the touchkey driver against compatible name.
> >> Usually, when developing the device driver, we use the specific h/w name
> >> but in this patch, the touckey dt node uses the h/w board name instead of
> >> original touckhey name.
> >
> > this should be a device specifically done for the tm2 and we are
> > not sure who is the manufacturer of the device. In order to not
> 
> As I knew, this touchkey was made by Cypress semiconductor.
> But, for more correct information, you may try to find it.

The Android Kernel says that this is the cy8cmbr3xxx. I
downloaded the datasheets, but it doesn't have any similarity
with the device. Which means that on tm2 we don't the
cy8cmbr3xxx bot something else that I even doubt comes from
cypress, but I strongly believe it's a dedicated hardware.

Now we have two choices:

1. drop support because we are not 100% sure on the device and
supplier.

2. call it Samsung and provide support anyway as, at the end, it
is a samsung hardware.

With Jaechul we chose option 2.

> > assign the device to the wrong manufacturer, we preferred calling
> > it Samsung as it is in a Samsung device.
> 
> As you mentioned, Samsung made not this touchkey device. It is
> certainly wrong manufacturer. I have not seen to use the h/w board
> name as the peripheral device name.
> 
> I don't prefer to use the inaccurate manufacturer and device name.

Eventually, Jaechul can assign the device to cypress, but the
name has to remain tm2-touchkey. Something like this:

	compatible = "cypress,tm2-touchkey";

What do you think?

Andi

[toc] | [prev] | [next] | [standalone]


#1553794 — Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node

FromChanwoo Choi <cwchoi00@gmail.com>
Date2017-01-08 07:10 +0100
SubjectRe: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node
Message-ID<sXeQ2-2Ap-3@gated-at.bofh.it>
In reply to#1553792
Hi Andi,

2017-01-08 14:45 GMT+09:00 Andi Shyti <andi@etezian.org>:
> Hi Chanwoo,
>
>> >> >>> +       touchkey@20 {
>> >> >>> +               compatible = "samsung,tm2-touchkey";
>> >> >>> +               reg = <0x20>;
>> >> >>> +               interrupt-parent = <&gpa3>;
>> >> >>> +               interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
>> >> >>> +               vcc-supply = <&ldo32_reg>;
>> >> >>> +               vdd-supply = <&ldo33_reg>;
>> >> >>> +       };
>> >> >>> +};
>> >> >>> +
>> >> >>>  &ldo31_reg {
>> >> >>>         regulator-name = "TSP_VDD_1.85V_AP";
>> >> >>>         regulator-min-microvolt = <1850000>;
>> >>
>> >> I repiled the touchkey driver against compatible name.
>> >> Usually, when developing the device driver, we use the specific h/w name
>> >> but in this patch, the touckey dt node uses the h/w board name instead of
>> >> original touckhey name.
>> >
>> > this should be a device specifically done for the tm2 and we are
>> > not sure who is the manufacturer of the device. In order to not
>>
>> As I knew, this touchkey was made by Cypress semiconductor.
>> But, for more correct information, you may try to find it.
>
> The Android Kernel says that this is the cy8cmbr3xxx. I
> downloaded the datasheets, but it doesn't have any similarity
> with the device. Which means that on tm2 we don't the
> cy8cmbr3xxx bot something else that I even doubt comes from
> cypress, but I strongly believe it's a dedicated hardware.

Although this device is a dedicated h/w, you should keep the principal.
Did you check the schematic document of TM2? The schematic document
might include the specific device name.

Sometimes, the downloaded datasheet does not include the
all of information of device because of confidential information.
But, I’m not sure. Just it is guess as my experience.

I want to check the manufacturer and name of device with you
on next Monday.

>
> Now we have two choices:
>
> 1. drop support because we are not 100% sure on the device and
> supplier.
>
> 2. call it Samsung and provide support anyway as, at the end, it
> is a samsung hardware.
>
> With Jaechul we chose option 2.
>
>> > assign the device to the wrong manufacturer, we preferred calling
>> > it Samsung as it is in a Samsung device.
>>
>> As you mentioned, Samsung made not this touchkey device. It is
>> certainly wrong manufacturer. I have not seen to use the h/w board
>> name as the peripheral device name.
>>
>> I don't prefer to use the inaccurate manufacturer and device name.
>
> Eventually, Jaechul can assign the device to cypress, but the
> name has to remain tm2-touchkey. Something like this:
>
>         compatible = "cypress,tm2-touchkey";
>
> What do you think?

If we never to find the correct device name, we might use your suggestion.
As I already said, I’d like to check it again with you.

-- 
Best Regards,
Chanwoo Choi
Samsung Electronics

[toc] | [prev] | [next] | [standalone]


#1553795 — Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node

FromAndi Shyti <andi@smida.it>
Date2017-01-08 07:20 +0100
SubjectRe: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node
Message-ID<sXeZH-2FM-3@gated-at.bofh.it>
In reply to#1553794
Hi Chanwoo,

> >> >> >>> +       touchkey@20 {
> >> >> >>> +               compatible = "samsung,tm2-touchkey";
> >> >> >>> +               reg = <0x20>;
> >> >> >>> +               interrupt-parent = <&gpa3>;
> >> >> >>> +               interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> >> >> >>> +               vcc-supply = <&ldo32_reg>;
> >> >> >>> +               vdd-supply = <&ldo33_reg>;
> >> >> >>> +       };
> >> >> >>> +};
> >> >> >>> +
> >> >> >>>  &ldo31_reg {
> >> >> >>>         regulator-name = "TSP_VDD_1.85V_AP";
> >> >> >>>         regulator-min-microvolt = <1850000>;
> >> >>
> >> >> I repiled the touchkey driver against compatible name.
> >> >> Usually, when developing the device driver, we use the specific h/w name
> >> >> but in this patch, the touckey dt node uses the h/w board name instead of
> >> >> original touckhey name.
> >> >
> >> > this should be a device specifically done for the tm2 and we are
> >> > not sure who is the manufacturer of the device. In order to not
> >>
> >> As I knew, this touchkey was made by Cypress semiconductor.
> >> But, for more correct information, you may try to find it.
> >
> > The Android Kernel says that this is the cy8cmbr3xxx. I
> > downloaded the datasheets, but it doesn't have any similarity
> > with the device. Which means that on tm2 we don't the
> > cy8cmbr3xxx bot something else that I even doubt comes from
> > cypress, but I strongly believe it's a dedicated hardware.
> 
> Although this device is a dedicated h/w, you should keep the principal.
> Did you check the schematic document of TM2? The schematic document
> might include the specific device name.
> 
> Sometimes, the downloaded datasheet does not include the
> all of information of device because of confidential information.
> But, I’m not sure. Just it is guess as my experience.
> 
> I want to check the manufacturer and name of device with you
> on next Monday.

Yes, I checked everything, but didn't find the exact device name.

Anyway, let's take this discussion offline and find the correct
way.

Andi

[toc] | [prev] | [next] | [standalone]


#1553291 — Re: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node

FromChanwoo Choi <cwchoi00@gmail.com>
Date2017-01-06 23:20 +0100
SubjectRe: [PATCH v5 5/5] arm64: dts: exynos: Add tm2 touchkey node
Message-ID<sWL1D-8lb-13@gated-at.bofh.it>
In reply to#1553150
Hi,

2017-01-07 6:31 GMT+09:00 Chanwoo Choi <cwchoi00@gmail.com>:
> Hi,
>
> 2017-01-06 22:43 GMT+09:00 Andi Shyti <andi.shyti@samsung.com>:
>> From: Jaechul Lee <jcsing.lee@samsung.com>
>>
>> Add DT node support for TM2 touchkey device.
>>
>> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
>> Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
>> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
>> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
>> ---
>>  arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 13 +++++++++++++
>>  1 file changed, 13 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>> index 2449266b268f..92fcc4ec8319 100644
>> --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>> @@ -18,6 +18,19 @@
>>         compatible = "samsung,tm2", "samsung,exynos5433";
>>  };
>>
>> +&hsi2c_9 {
>> +       status = "okay";
>> +
>> +       touchkey@20 {
>> +               compatible = "samsung,tm2-touchkey";
>> +               reg = <0x20>;
>> +               interrupt-parent = <&gpa3>;
>> +               interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
>> +               vcc-supply = <&ldo32_reg>;
>> +               vdd-supply = <&ldo33_reg>;
>> +       };
>> +};
>> +
>>  &ldo31_reg {
>>         regulator-name = "TSP_VDD_1.85V_AP";
>>         regulator-min-microvolt = <1850000>;
>
> Looks good to me.
> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
>
> --
> Best Regards,
> Chanwoo Choi



-- 
Best Regards,
Chanwoo Choi

[toc] | [prev] | [next] | [standalone]


#1552800 — [PATCH v5 1/5] arm64: dts: exynos5433: TM2/E: Fix wrong values for ldo23 and ldo25

FromAndi Shyti <andi.shyti@samsung.com>
Date2017-01-06 14:50 +0100
Subject[PATCH v5 1/5] arm64: dts: exynos5433: TM2/E: Fix wrong values for ldo23 and ldo25
Message-ID<sWD46-2DX-33@gated-at.bofh.it>
In reply to#1552796
From: Chanwoo Choi <cw00.choi@samsung.com>

This patch fixes wrong values assigned to ldo23 and ldo25 on both TM2 and TM2E.

Fixes: 01e5d2352152 ("arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board")
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
---
 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts  | 6 +++---
 arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts | 9 ---------
 2 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
index 3b5215c40fcd..640e4b9910ae 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
@@ -504,9 +504,9 @@
 			};
 
 			ldo23_reg: LDO23 {
-				regulator-name = "CAM_SEN_CORE_1.2V_AP";
+				regulator-name = "CAM_SEN_CORE_1.05V_AP";
 				regulator-min-microvolt = <1050000>;
-				regulator-max-microvolt = <1200000>;
+				regulator-max-microvolt = <1050000>;
 			};
 
 			ldo24_reg: LDO24 {
@@ -516,7 +516,7 @@
 			};
 
 			ldo25_reg: LDO25 {
-				regulator-name = "CAM_SEN_A2.8V_AP";
+				regulator-name = "UNUSED_LDO25";
 				regulator-min-microvolt = <2800000>;
 				regulator-max-microvolt = <2800000>;
 			};
diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts
index 398f5e092b02..854c583092d5 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts
@@ -18,15 +18,6 @@
 	compatible = "samsung,tm2e", "samsung,exynos5433";
 };
 
-&ldo23_reg {
-	regulator-name = "CAM_SEN_CORE_1.025V_AP";
-	regulator-max-microvolt = <1050000>;
-};
-
-&ldo25_reg {
-	regulator-name = "UNUSED_LDO25";
-};
-
 &ldo31_reg {
 	regulator-name = "TSP_VDD_1.8V_AP";
 	regulator-min-microvolt = <1800000>;
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1552808 — Re: [PATCH v5 1/5] arm64: dts: exynos5433: TM2/E: Fix wrong values for ldo23 and ldo25

FromKrzysztof Kozlowski <krzk@kernel.org>
Date2017-01-06 15:10 +0100
SubjectRe: [PATCH v5 1/5] arm64: dts: exynos5433: TM2/E: Fix wrong values for ldo23 and ldo25
Message-ID<sWDns-31z-13@gated-at.bofh.it>
In reply to#1552800
On Fri, Jan 06, 2017 at 10:43:46PM +0900, Andi Shyti wrote:
> From: Chanwoo Choi <cw00.choi@samsung.com>
> 
> This patch fixes wrong values assigned to ldo23 and ldo25 on both TM2 and TM2E.
> 
> Fixes: 01e5d2352152 ("arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board")
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
> ---
>  arch/arm64/boot/dts/exynos/exynos5433-tm2.dts  | 6 +++---
>  arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts | 9 ---------
>  2 files changed, 3 insertions(+), 12 deletions(-)
> 

Thanks, applied.

Best regards,
Krzysztof

[toc] | [prev] | [next] | [standalone]


#1552801 — [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other

FromAndi Shyti <andi.shyti@samsung.com>
Date2017-01-06 14:50 +0100
Subject[PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other
Message-ID<sWD46-2DX-37@gated-at.bofh.it>
In reply to#1552796
Currently tm2e dts includes tm2 but there are some differences
between the two boards and tm2 has some properties that tm2e
doesn't have.

That's why it's important to keep the two dts files independent
and put all the commonalities in a tm2-common.dtsi file.

At the current status the only two differences between the two
dts files (besides the board name) are ldo31 and ldo38.

Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
 ...ynos5433-tm2.dts => exynos5433-tm2-common.dtsi} |   21 +-
 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts      | 1150 +-------------------
 arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts     |    2 +-
 3 files changed, 42 insertions(+), 1131 deletions(-)
 copy arch/arm64/boot/dts/exynos/{exynos5433-tm2.dts => exynos5433-tm2-common.dtsi} (98%)
 rewrite arch/arm64/boot/dts/exynos/exynos5433-tm2.dts (98%)

diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
similarity index 98%
copy from arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
copy to arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
index 640e4b9910ae..cc6701b3bce4 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
@@ -3,8 +3,8 @@
  *
  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
  *
- * Device tree source file for Samsung's TM2 board which is based on
- * Samsung Exynos5433 SoC.
+ * Common device tree source file for Samsung's TM2 and TM2E boards
+ * which are based on Samsung Exynos5433 SoC.
  *
  * 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
@@ -19,9 +19,6 @@
 #include <dt-bindings/interrupt-controller/irq.h>
 
 / {
-	model = "Samsung TM2 board";
-	compatible = "samsung,tm2", "samsung,exynos5433";
-
 	aliases {
 		gsc0 = &gsc_0;
 		gsc1 = &gsc_1;
@@ -552,9 +549,10 @@
 			};
 
 			ldo31_reg: LDO31 {
-				regulator-name = "TSP_VDD_1.85V_AP";
-				regulator-min-microvolt = <1850000>;
-				regulator-max-microvolt = <1850000>;
+				/*
+				 * LDO31 differs from target to target,
+				 * its definition is in the .dts
+				 */
 			};
 
 			ldo32_reg: LDO32 {
@@ -595,9 +593,10 @@
 			};
 
 			ldo38_reg: LDO38 {
-				regulator-name = "VCC_3.0V_MOTOR_AP";
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3000000>;
+				/*
+				 * LDO38 differs from target to target,
+				 * its definition is in the .dts
+				 */
 			};
 
 			ldo39_reg: LDO39 {
diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
dissimilarity index 98%
index 640e4b9910ae..2449266b268f 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
@@ -1,1119 +1,31 @@
-/*
- * SAMSUNG Exynos5433 TM2 board device tree source
- *
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * Device tree source file for Samsung's TM2 board which is based on
- * Samsung Exynos5433 SoC.
- *
- * 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.
- */
-
-/dts-v1/;
-#include "exynos5433.dtsi"
-#include <dt-bindings/clock/samsung,s2mps11.h>
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-#include <dt-bindings/interrupt-controller/irq.h>
-
-/ {
-	model = "Samsung TM2 board";
-	compatible = "samsung,tm2", "samsung,exynos5433";
-
-	aliases {
-		gsc0 = &gsc_0;
-		gsc1 = &gsc_1;
-		gsc2 = &gsc_2;
-		pinctrl0 = &pinctrl_alive;
-		pinctrl1 = &pinctrl_aud;
-		pinctrl2 = &pinctrl_cpif;
-		pinctrl3 = &pinctrl_ese;
-		pinctrl4 = &pinctrl_finger;
-		pinctrl5 = &pinctrl_fsys;
-		pinctrl6 = &pinctrl_imem;
-		pinctrl7 = &pinctrl_nfc;
-		pinctrl8 = &pinctrl_peric;
-		pinctrl9 = &pinctrl_touch;
-		serial0 = &serial_0;
-		serial1 = &serial_1;
-		serial2 = &serial_2;
-		serial3 = &serial_3;
-		spi0 = &spi_0;
-		spi1 = &spi_1;
-		spi2 = &spi_2;
-		spi3 = &spi_3;
-		spi4 = &spi_4;
-		mshc0 = &mshc_0;
-		mshc2 = &mshc_2;
-	};
-
-	chosen {
-		stdout-path = &serial_1;
-	};
-
-	memory@20000000 {
-		device_type = "memory";
-		reg = <0x0 0x20000000 0x0 0xc0000000>;
-	};
-
-	gpio-keys {
-		compatible = "gpio-keys";
-
-		power-key {
-			gpios = <&gpa2 7 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_POWER>;
-			label = "power key";
-			debounce-interval = <10>;
-		};
-
-		volume-up-key {
-			gpios = <&gpa2 0 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_VOLUMEUP>;
-			label = "volume-up key";
-			debounce-interval = <10>;
-		};
-
-		volume-down-key {
-			gpios = <&gpa2 1 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_VOLUMEDOWN>;
-			label = "volume-down key";
-			debounce-interval = <10>;
-		};
-
-		homepage-key {
-			gpios = <&gpa0 3 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_MENU>;
-			label = "homepage key";
-			debounce-interval = <10>;
-		};
-	};
-
-	i2c_max98504: i2c-gpio-0 {
-		compatible = "i2c-gpio";
-		gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
-			 &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
-		i2c-gpio,delay-us = <2>;
-		#address-cells = <1>;
-		#size-cells = <0>;
-		status = "okay";
-
-		max98504: max98504@31 {
-			compatible = "maxim,max98504";
-			reg = <0x31>;
-			maxim,rx-path = <1>;
-			maxim,tx-path = <1>;
-			maxim,tx-channel-mask = <3>;
-			maxim,tx-channel-source = <2>;
-		};
-	};
-
-	sound {
-		compatible = "samsung,tm2-audio";
-		audio-codec = <&wm5110>;
-		i2s-controller = <&i2s0>;
-		audio-amplifier = <&max98504>;
-		mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>;
-		model = "wm5110";
-		samsung,audio-routing =
-			/* Headphone */
-			"HP", "HPOUT1L",
-			"HP", "HPOUT1R",
-
-			/* Speaker */
-			"SPK", "SPKOUT",
-			"SPKOUT", "HPOUT2L",
-			"SPKOUT", "HPOUT2R",
-
-			/* Receiver */
-			"RCV", "HPOUT3L",
-			"RCV", "HPOUT3R";
-		status = "okay";
-	};
-};
-
-&adc {
-	vdd-supply = <&ldo3_reg>;
-	status = "okay";
-
-	thermistor-ap {
-		compatible = "murata,ncp03wf104";
-		pullup-uv = <1800000>;
-		pullup-ohm = <100000>;
-		pulldown-ohm = <0>;
-		io-channels = <&adc 0>;
-	};
-
-	thermistor-battery {
-		compatible = "murata,ncp03wf104";
-		pullup-uv = <1800000>;
-		pullup-ohm = <100000>;
-		pulldown-ohm = <0>;
-		io-channels = <&adc 1>;
-		#thermal-sensor-cells = <0>;
-	};
-
-	thermistor-charger {
-		compatible = "murata,ncp03wf104";
-		pullup-uv = <1800000>;
-		pullup-ohm = <100000>;
-		pulldown-ohm = <0>;
-		io-channels = <&adc 2>;
-	};
-};
-
-&bus_g2d_400 {
-	devfreq-events = <&ppmu_event0_d0_general>, <&ppmu_event0_d1_general>;
-	vdd-supply = <&buck4_reg>;
-	exynos,saturation-ratio = <10>;
-	status = "okay";
-};
-
-&bus_g2d_266 {
-	devfreq = <&bus_g2d_400>;
-	status = "okay";
-};
-
-&bus_gscl {
-	devfreq = <&bus_g2d_400>;
-	status = "okay";
-};
-
-&bus_hevc {
-	devfreq = <&bus_g2d_400>;
-	status = "okay";
-};
-
-&bus_jpeg {
-	devfreq = <&bus_g2d_400>;
-	status = "okay";
-};
-
-&bus_mfc {
-	devfreq = <&bus_g2d_400>;
-	status = "okay";
-};
-
-&bus_mscl {
-	devfreq = <&bus_g2d_400>;
-	status = "okay";
-};
-
-&bus_noc0 {
-	devfreq = <&bus_g2d_400>;
-	status = "okay";
-};
-
-&bus_noc1 {
-	devfreq = <&bus_g2d_400>;
-	status = "okay";
-};
-
-&bus_noc2 {
-	devfreq = <&bus_g2d_400>;
-	status = "okay";
-};
-
-&cmu_aud {
-	assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>;
-	assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>;
-};
-
-&cmu_fsys {
-	assigned-clocks = <&cmu_top CLK_MOUT_SCLK_USBDRD30>,
-		<&cmu_top CLK_MOUT_SCLK_USBHOST30>,
-		<&cmu_fsys CLK_MOUT_SCLK_USBDRD30_USER>,
-		<&cmu_fsys CLK_MOUT_SCLK_USBHOST30_USER>,
-		<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER>,
-		<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER>,
-		<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER>,
-		<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER>,
-		<&cmu_top CLK_DIV_SCLK_USBDRD30>,
-		<&cmu_top CLK_DIV_SCLK_USBHOST30>;
-	assigned-clock-parents = <&cmu_top CLK_MOUT_BUS_PLL_USER>,
-		<&cmu_top CLK_MOUT_BUS_PLL_USER>,
-		<&cmu_top CLK_SCLK_USBDRD30_FSYS>,
-		<&cmu_top CLK_SCLK_USBHOST30_FSYS>,
-		<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY>,
-		<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY>,
-		<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY>,
-		<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY>;
-	assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>,
-			       <66700000>, <66700000>;
-};
-
-&cmu_gscl {
-	assigned-clocks = <&cmu_gscl CLK_MOUT_ACLK_GSCL_111_USER>,
-			  <&cmu_gscl CLK_MOUT_ACLK_GSCL_333_USER>;
-	assigned-clock-parents = <&cmu_top CLK_ACLK_GSCL_111>,
-				 <&cmu_top CLK_ACLK_GSCL_333>;
-};
-
-&cmu_mfc {
-	assigned-clocks = <&cmu_mfc CLK_MOUT_ACLK_MFC_400_USER>;
-	assigned-clock-parents = <&cmu_top CLK_ACLK_MFC_400>;
-};
-
-&cmu_mscl {
-	assigned-clocks = <&cmu_mscl CLK_MOUT_ACLK_MSCL_400_USER>,
-			  <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
-			  <&cmu_mscl CLK_MOUT_SCLK_JPEG>,
-			  <&cmu_top CLK_MOUT_SCLK_JPEG_A>;
-	assigned-clock-parents = <&cmu_top CLK_ACLK_MSCL_400>,
-				 <&cmu_top CLK_SCLK_JPEG_MSCL>,
-				 <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
-				 <&cmu_top CLK_MOUT_BUS_PLL_USER>;
-};
-
-&cpu0 {
-	cpu-supply = <&buck3_reg>;
-};
-
-&cpu4 {
-	cpu-supply = <&buck2_reg>;
-};
-
-&decon {
-	status = "okay";
-
-	i80-if-timings {
-	};
-};
-
-&dsi {
-	status = "okay";
-	vddcore-supply = <&ldo6_reg>;
-	vddio-supply = <&ldo7_reg>;
-	samsung,pll-clock-frequency = <24000000>;
-	pinctrl-names = "default";
-	pinctrl-0 = <&te_irq>;
-
-	ports {
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		port@1 {
-			reg = <1>;
-
-			dsi_out: endpoint {
-				samsung,burst-clock-frequency = <512000000>;
-				samsung,esc-clock-frequency = <16000000>;
-			};
-		};
-	};
-};
-
-&hsi2c_0 {
-	status = "okay";
-	clock-frequency = <2500000>;
-
-	s2mps13-pmic@66 {
-		compatible = "samsung,s2mps13-pmic";
-		interrupt-parent = <&gpa0>;
-		interrupts = <7 IRQ_TYPE_NONE>;
-		reg = <0x66>;
-		samsung,s2mps11-wrstbi-ground;
-
-		s2mps13_osc: clocks {
-			compatible = "samsung,s2mps13-clk";
-			#clock-cells = <1>;
-			clock-output-names = "s2mps13_ap", "s2mps13_cp",
-				"s2mps13_bt";
-		};
-
-		regulators {
-			ldo1_reg: LDO1 {
-				regulator-name = "VDD_ALIVE_0.9V_AP";
-				regulator-min-microvolt = <900000>;
-				regulator-max-microvolt = <900000>;
-				regulator-always-on;
-			};
-
-			ldo2_reg: LDO2 {
-				regulator-name = "VDDQ_MMC2_2.8V_AP";
-				regulator-min-microvolt = <2800000>;
-				regulator-max-microvolt = <2800000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo3_reg: LDO3 {
-				regulator-name = "VDD1_E_1.8V_AP";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-always-on;
-			};
-
-			ldo4_reg: LDO4 {
-				regulator-name = "VDD10_MIF_PLL_1.0V_AP";
-				regulator-min-microvolt = <1300000>;
-				regulator-max-microvolt = <1300000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo5_reg: LDO5 {
-				regulator-name = "VDD10_DPLL_1.0V_AP";
-				regulator-min-microvolt = <1000000>;
-				regulator-max-microvolt = <1000000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo6_reg: LDO6 {
-				regulator-name = "VDD10_MIPI2L_1.0V_AP";
-				regulator-min-microvolt = <1000000>;
-				regulator-max-microvolt = <1000000>;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo7_reg: LDO7 {
-				regulator-name = "VDD18_MIPI2L_1.8V_AP";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-			};
-
-			ldo8_reg: LDO8 {
-				regulator-name = "VDD18_LLI_1.8V_AP";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo9_reg: LDO9 {
-				regulator-name = "VDD18_ABB_ETC_1.8V_AP";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo10_reg: LDO10 {
-				regulator-name = "VDD33_USB30_3.0V_AP";
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3000000>;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo11_reg: LDO11 {
-				regulator-name = "VDD_INT_M_1.0V_AP";
-				regulator-min-microvolt = <1000000>;
-				regulator-max-microvolt = <1000000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo12_reg: LDO12 {
-				regulator-name = "VDD_KFC_M_1.1V_AP";
-				regulator-min-microvolt = <800000>;
-				regulator-max-microvolt = <1350000>;
-				regulator-always-on;
-			};
-
-			ldo13_reg: LDO13 {
-				regulator-name = "VDD_G3D_M_0.95V_AP";
-				regulator-min-microvolt = <950000>;
-				regulator-max-microvolt = <950000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo14_reg: LDO14 {
-				regulator-name = "VDDQ_M1_LDO_1.2V_AP";
-				regulator-min-microvolt = <1200000>;
-				regulator-max-microvolt = <1200000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo15_reg: LDO15 {
-				regulator-name = "VDDQ_M2_LDO_1.2V_AP";
-				regulator-min-microvolt = <1200000>;
-				regulator-max-microvolt = <1200000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			ldo16_reg: LDO16 {
-				regulator-name = "VDDQ_EFUSE";
-				regulator-min-microvolt = <1400000>;
-				regulator-max-microvolt = <3400000>;
-				regulator-always-on;
-			};
-
-			ldo17_reg: LDO17 {
-				regulator-name = "V_TFLASH_2.8V_AP";
-				regulator-min-microvolt = <2800000>;
-				regulator-max-microvolt = <2800000>;
-			};
-
-			ldo18_reg: LDO18 {
-				regulator-name = "V_CODEC_1.8V_AP";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-			};
-
-			ldo19_reg: LDO19 {
-				regulator-name = "VDDA_1.8V_COMP";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-always-on;
-			};
-
-			ldo20_reg: LDO20 {
-				regulator-name = "VCC_2.8V_AP";
-				regulator-min-microvolt = <2800000>;
-				regulator-max-microvolt = <2800000>;
-				regulator-always-on;
-			};
-
-			ldo21_reg: LDO21 {
-				regulator-name = "VT_CAM_1.8V";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-			};
-
-			ldo22_reg: LDO22 {
-				regulator-name = "CAM_IO_1.8V_AP";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-			};
-
-			ldo23_reg: LDO23 {
-				regulator-name = "CAM_SEN_CORE_1.05V_AP";
-				regulator-min-microvolt = <1050000>;
-				regulator-max-microvolt = <1050000>;
-			};
-
-			ldo24_reg: LDO24 {
-				regulator-name = "VT_CAM_1.2V";
-				regulator-min-microvolt = <1200000>;
-				regulator-max-microvolt = <1200000>;
-			};
-
-			ldo25_reg: LDO25 {
-				regulator-name = "UNUSED_LDO25";
-				regulator-min-microvolt = <2800000>;
-				regulator-max-microvolt = <2800000>;
-			};
-
-			ldo26_reg: LDO26 {
-				regulator-name = "CAM_AF_2.8V_AP";
-				regulator-min-microvolt = <2800000>;
-				regulator-max-microvolt = <2800000>;
-			};
-
-			ldo27_reg: LDO27 {
-				regulator-name = "VCC_3.0V_LCD_AP";
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3000000>;
-			};
-
-			ldo28_reg: LDO28 {
-				regulator-name = "VCC_1.8V_LCD_AP";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-			};
-
-			ldo29_reg: LDO29 {
-				regulator-name = "VT_CAM_2.8V";
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3000000>;
-			};
-
-			ldo30_reg: LDO30 {
-				regulator-name = "TSP_AVDD_3.3V_AP";
-				regulator-min-microvolt = <3300000>;
-				regulator-max-microvolt = <3300000>;
-			};
-
-			ldo31_reg: LDO31 {
-				regulator-name = "TSP_VDD_1.85V_AP";
-				regulator-min-microvolt = <1850000>;
-				regulator-max-microvolt = <1850000>;
-			};
-
-			ldo32_reg: LDO32 {
-				regulator-name = "VTOUCH_1.8V_AP";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-			};
-
-			ldo33_reg: LDO33 {
-				regulator-name = "VTOUCH_LED_3.3V";
-				regulator-min-microvolt = <2500000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-ramp-delay = <12500>;
-			};
-
-			ldo34_reg: LDO34 {
-				regulator-name = "VCC_1.8V_MHL_AP";
-				regulator-min-microvolt = <1000000>;
-				regulator-max-microvolt = <2100000>;
-			};
-
-			ldo35_reg: LDO35 {
-				regulator-name = "OIS_VM_2.8V";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <2800000>;
-			};
-
-			ldo36_reg: LDO36 {
-				regulator-name = "VSIL_1.0V";
-				regulator-min-microvolt = <1000000>;
-				regulator-max-microvolt = <1000000>;
-			};
-
-			ldo37_reg: LDO37 {
-				regulator-name = "VF_1.8V";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-			};
-
-			ldo38_reg: LDO38 {
-				regulator-name = "VCC_3.0V_MOTOR_AP";
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3000000>;
-			};
-
-			ldo39_reg: LDO39 {
-				regulator-name = "V_HRM_1.8V";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-			};
-
-			ldo40_reg: LDO40 {
-				regulator-name = "V_HRM_3.3V";
-				regulator-min-microvolt = <3300000>;
-				regulator-max-microvolt = <3300000>;
-			};
-
-			buck1_reg: BUCK1 {
-				regulator-name = "VDD_MIF_0.9V_AP";
-				regulator-min-microvolt = <600000>;
-				regulator-max-microvolt = <1500000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			buck2_reg: BUCK2 {
-				regulator-name = "VDD_EGL_1.0V_AP";
-				regulator-min-microvolt = <900000>;
-				regulator-max-microvolt = <1300000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			buck3_reg: BUCK3 {
-				regulator-name = "VDD_KFC_1.0V_AP";
-				regulator-min-microvolt = <800000>;
-				regulator-max-microvolt = <1200000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			buck4_reg: BUCK4 {
-				regulator-name = "VDD_INT_0.95V_AP";
-				regulator-min-microvolt = <600000>;
-				regulator-max-microvolt = <1500000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			buck5_reg: BUCK5 {
-				regulator-name = "VDD_DISP_CAM0_0.9V_AP";
-				regulator-min-microvolt = <600000>;
-				regulator-max-microvolt = <1500000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			buck6_reg: BUCK6 {
-				regulator-name = "VDD_G3D_0.9V_AP";
-				regulator-min-microvolt = <600000>;
-				regulator-max-microvolt = <1500000>;
-				regulator-always-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			buck7_reg: BUCK7 {
-				regulator-name = "VDD_MEM1_1.2V_AP";
-				regulator-min-microvolt = <1200000>;
-				regulator-max-microvolt = <1200000>;
-				regulator-always-on;
-			};
-
-			buck8_reg: BUCK8 {
-				regulator-name = "VDD_LLDO_1.35V_AP";
-				regulator-min-microvolt = <1350000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-always-on;
-			};
-
-			buck9_reg: BUCK9 {
-				regulator-name = "VDD_MLDO_2.0V_AP";
-				regulator-min-microvolt = <1350000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-always-on;
-			};
-
-			buck10_reg: BUCK10 {
-				regulator-name = "vdd_mem2";
-				regulator-min-microvolt = <550000>;
-				regulator-max-microvolt = <1500000>;
-				regulator-always-on;
-			};
-		};
-	};
-};
-
-&hsi2c_8 {
-	status = "okay";
-
-	max77843@66 {
-		compatible = "maxim,max77843";
-		interrupt-parent = <&gpa1>;
-		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
-		reg = <0x66>;
-
-		muic: max77843-muic {
-			compatible = "maxim,max77843-muic";
-		};
-
-		regulators {
-			compatible = "maxim,max77843-regulator";
-			safeout1_reg: SAFEOUT1 {
-				regulator-name = "SAFEOUT1";
-				regulator-min-microvolt = <3300000>;
-				regulator-max-microvolt = <4950000>;
-			};
-
-			safeout2_reg: SAFEOUT2 {
-				regulator-name = "SAFEOUT2";
-				regulator-min-microvolt = <3300000>;
-				regulator-max-microvolt = <4950000>;
-			};
-
-			charger_reg: CHARGER {
-				regulator-name = "CHARGER";
-				regulator-min-microamp = <100000>;
-				regulator-max-microamp = <3150000>;
-			};
-		};
-
-		haptic: max77843-haptic {
-			compatible = "maxim,max77843-haptic";
-			haptic-supply = <&ldo38_reg>;
-			pwms = <&pwm 0 33670 0>;
-			pwm-names = "haptic";
-		};
-	};
-};
-
-&i2s0 {
-	status = "okay";
-};
-
-&mshc_0 {
-	status = "okay";
-	num-slots = <1>;
-	mmc-hs200-1_8v;
-	mmc-hs400-1_8v;
-	cap-mmc-highspeed;
-	non-removable;
-	card-detect-delay = <200>;
-	samsung,dw-mshc-ciu-div = <3>;
-	samsung,dw-mshc-sdr-timing = <0 4>;
-	samsung,dw-mshc-ddr-timing = <0 2>;
-	samsung,dw-mshc-hs400-timing = <0 3>;
-	samsung,read-strobe-delay = <90>;
-	fifo-depth = <0x80>;
-	pinctrl-names = "default";
-	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4
-			&sd0_bus8 &sd0_rdqs>;
-	bus-width = <8>;
-	assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>;
-	assigned-clock-rates = <800000000>;
-};
-
-&mshc_2 {
-	status = "okay";
-	num-slots = <1>;
-	cap-sd-highspeed;
-	disable-wp;
-	cd-gpios = <&gpa2 4 GPIO_ACTIVE_HIGH>;
-	cd-inverted;
-	card-detect-delay = <200>;
-	samsung,dw-mshc-ciu-div = <3>;
-	samsung,dw-mshc-sdr-timing = <0 4>;
-	samsung,dw-mshc-ddr-timing = <0 2>;
-	fifo-depth = <0x80>;
-	pinctrl-names = "default";
-	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>;
-	bus-width = <4>;
-};
-
-&ppmu_d0_general {
-	status = "okay";
-	events {
-		ppmu_event0_d0_general: ppmu-event0-d0-general {
-			event-name = "ppmu-event0-d0-general";
-		};
-	};
-};
-
-&ppmu_d1_general {
-	status = "okay";
-	events {
-		ppmu_event0_d1_general: ppmu-event0-d1-general {
-		       event-name = "ppmu-event0-d1-general";
-	       };
-       };
-};
-
-&pinctrl_alive {
-	pinctrl-names = "default";
-	pinctrl-0 = <&initial_alive>;
-
-	initial_alive: initial-state {
-		PIN(INPUT, gpa0-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpa0-1, NONE, FAST_SR1);
-		PIN(INPUT, gpa0-2, DOWN, FAST_SR1);
-		PIN(INPUT, gpa0-3, NONE, FAST_SR1);
-		PIN(INPUT, gpa0-4, NONE, FAST_SR1);
-		PIN(INPUT, gpa0-5, DOWN, FAST_SR1);
-		PIN(INPUT, gpa0-6, NONE, FAST_SR1);
-		PIN(INPUT, gpa0-7, NONE, FAST_SR1);
-
-		PIN(INPUT, gpa1-0, UP, FAST_SR1);
-		PIN(INPUT, gpa1-1, NONE, FAST_SR1);
-		PIN(INPUT, gpa1-2, NONE, FAST_SR1);
-		PIN(INPUT, gpa1-3, DOWN, FAST_SR1);
-		PIN(INPUT, gpa1-4, DOWN, FAST_SR1);
-		PIN(INPUT, gpa1-5, NONE, FAST_SR1);
-		PIN(INPUT, gpa1-6, NONE, FAST_SR1);
-		PIN(INPUT, gpa1-7, NONE, FAST_SR1);
-
-		PIN(INPUT, gpa2-0, NONE, FAST_SR1);
-		PIN(INPUT, gpa2-1, NONE, FAST_SR1);
-		PIN(INPUT, gpa2-2, NONE, FAST_SR1);
-		PIN(INPUT, gpa2-3, DOWN, FAST_SR1);
-		PIN(INPUT, gpa2-4, NONE, FAST_SR1);
-		PIN(INPUT, gpa2-5, DOWN, FAST_SR1);
-		PIN(INPUT, gpa2-6, DOWN, FAST_SR1);
-		PIN(INPUT, gpa2-7, NONE, FAST_SR1);
-
-		PIN(INPUT, gpa3-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpa3-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpa3-2, NONE, FAST_SR1);
-		PIN(INPUT, gpa3-3, DOWN, FAST_SR1);
-		PIN(INPUT, gpa3-4, NONE, FAST_SR1);
-		PIN(INPUT, gpa3-5, DOWN, FAST_SR1);
-		PIN(INPUT, gpa3-6, DOWN, FAST_SR1);
-		PIN(INPUT, gpa3-7, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpf1-0, NONE, FAST_SR1);
-		PIN(INPUT, gpf1-1, NONE, FAST_SR1);
-		PIN(INPUT, gpf1-2, DOWN, FAST_SR1);
-		PIN(INPUT, gpf1-4, UP, FAST_SR1);
-		PIN(OUTPUT, gpf1-5, NONE, FAST_SR1);
-		PIN(INPUT, gpf1-6, DOWN, FAST_SR1);
-		PIN(INPUT, gpf1-7, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpf2-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpf2-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpf2-2, DOWN, FAST_SR1);
-		PIN(INPUT, gpf2-3, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpf3-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpf3-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpf3-2, NONE, FAST_SR1);
-		PIN(INPUT, gpf3-3, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpf4-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpf4-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpf4-2, DOWN, FAST_SR1);
-		PIN(INPUT, gpf4-3, DOWN, FAST_SR1);
-		PIN(INPUT, gpf4-4, DOWN, FAST_SR1);
-		PIN(INPUT, gpf4-5, DOWN, FAST_SR1);
-		PIN(INPUT, gpf4-6, DOWN, FAST_SR1);
-		PIN(INPUT, gpf4-7, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpf5-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpf5-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpf5-2, DOWN, FAST_SR1);
-		PIN(INPUT, gpf5-3, DOWN, FAST_SR1);
-		PIN(OUTPUT, gpf5-4, NONE, FAST_SR1);
-		PIN(INPUT, gpf5-5, DOWN, FAST_SR1);
-		PIN(INPUT, gpf5-6, DOWN, FAST_SR1);
-		PIN(INPUT, gpf5-7, DOWN, FAST_SR1);
-	};
-
-	te_irq: te_irq {
-		samsung,pins = "gpf1-3";
-		samsung,pin-function = <0xf>;
-	};
-};
-
-&pinctrl_cpif {
-	pinctrl-names = "default";
-	pinctrl-0 = <&initial_cpif>;
-
-	initial_cpif: initial-state {
-		PIN(INPUT, gpv6-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpv6-1, DOWN, FAST_SR1);
-	};
-};
-
-&pinctrl_ese {
-	pinctrl-names = "default";
-	pinctrl-0 = <&initial_ese>;
-
-	initial_ese: initial-state {
-		PIN(INPUT, gpj2-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpj2-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpj2-2, DOWN, FAST_SR1);
-	};
-};
-
-&pinctrl_fsys {
-	pinctrl-names = "default";
-	pinctrl-0 = <&initial_fsys>;
-
-	initial_fsys: initial-state {
-		PIN(INPUT, gpr3-0, NONE, FAST_SR1);
-		PIN(INPUT, gpr3-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpr3-2, DOWN, FAST_SR1);
-		PIN(INPUT, gpr3-3, DOWN, FAST_SR1);
-		PIN(INPUT, gpr3-7, NONE, FAST_SR1);
-	};
-};
-
-&pinctrl_imem {
-	pinctrl-names = "default";
-	pinctrl-0 = <&initial_imem>;
-
-	initial_imem: initial-state {
-		PIN(INPUT, gpf0-0, UP, FAST_SR1);
-		PIN(INPUT, gpf0-1, UP, FAST_SR1);
-		PIN(INPUT, gpf0-2, DOWN, FAST_SR1);
-		PIN(INPUT, gpf0-3, UP, FAST_SR1);
-		PIN(INPUT, gpf0-4, DOWN, FAST_SR1);
-		PIN(INPUT, gpf0-5, NONE, FAST_SR1);
-		PIN(INPUT, gpf0-6, DOWN, FAST_SR1);
-		PIN(INPUT, gpf0-7, UP, FAST_SR1);
-	};
-};
-
-&pinctrl_nfc {
-	pinctrl-names = "default";
-	pinctrl-0 = <&initial_nfc>;
-
-	initial_nfc: initial-state {
-		PIN(INPUT, gpj0-2, DOWN, FAST_SR1);
-	};
-};
-
-&pinctrl_peric {
-	pinctrl-names = "default";
-	pinctrl-0 = <&initial_peric>;
-
-	initial_peric: initial-state {
-		PIN(INPUT, gpv7-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpv7-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpv7-2, NONE, FAST_SR1);
-		PIN(INPUT, gpv7-3, DOWN, FAST_SR1);
-		PIN(INPUT, gpv7-4, DOWN, FAST_SR1);
-		PIN(INPUT, gpv7-5, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpb0-4, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpc0-2, DOWN, FAST_SR1);
-		PIN(INPUT, gpc0-5, DOWN, FAST_SR1);
-		PIN(INPUT, gpc0-7, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpc1-1, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpc3-4, NONE, FAST_SR1);
-		PIN(INPUT, gpc3-5, NONE, FAST_SR1);
-		PIN(INPUT, gpc3-6, NONE, FAST_SR1);
-		PIN(INPUT, gpc3-7, NONE, FAST_SR1);
-
-		PIN(OUTPUT, gpg0-0, NONE, FAST_SR1);
-		PIN(2, gpg0-1, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpd2-5, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpd4-0, NONE, FAST_SR1);
-		PIN(INPUT, gpd4-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpd4-2, DOWN, FAST_SR1);
-		PIN(INPUT, gpd4-3, DOWN, FAST_SR1);
-		PIN(INPUT, gpd4-4, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpd6-3, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpd8-1, UP, FAST_SR1);
-
-		PIN(INPUT, gpg1-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpg1-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpg1-2, DOWN, FAST_SR1);
-		PIN(INPUT, gpg1-3, DOWN, FAST_SR1);
-		PIN(INPUT, gpg1-4, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpg2-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpg2-1, DOWN, FAST_SR1);
-
-		PIN(INPUT, gpg3-0, DOWN, FAST_SR1);
-		PIN(INPUT, gpg3-1, DOWN, FAST_SR1);
-		PIN(INPUT, gpg3-5, DOWN, FAST_SR1);
-		PIN(INPUT, gpg3-7, DOWN, FAST_SR1);
-	};
-};
-
-&pinctrl_touch {
-	pinctrl-names = "default";
-	pinctrl-0 = <&initial_touch>;
-
-	initial_touch: initial-state {
-		PIN(INPUT, gpj1-2, DOWN, FAST_SR1);
-	};
-};
-
-&pwm {
-	pinctrl-0 = <&pwm0_out>;
-	pinctrl-names = "default";
-	status = "okay";
-};
-
-&mic {
-	status = "okay";
-
-	i80-if-timings {
-	};
-};
-
-&pmu_system_controller {
-	assigned-clocks = <&pmu_system_controller 0>;
-	assigned-clock-parents = <&xxti>;
-};
-
-&serial_1 {
-	status = "okay";
-};
-
-&spi_1 {
-	cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
-	status = "okay";
-
-	wm5110: wm5110-codec@0 {
-		compatible = "wlf,wm5110";
-		reg = <0x0>;
-		spi-max-frequency = <20000000>;
-		interrupt-parent = <&gpa0>;
-		interrupts = <4 IRQ_TYPE_NONE>;
-		clocks = <&pmu_system_controller 0>,
-			<&s2mps13_osc S2MPS11_CLK_BT>;
-		clock-names = "mclk1", "mclk2";
-
-		gpio-controller;
-		#gpio-cells = <2>;
-
-		wlf,micd-detect-debounce = <300>;
-		wlf,micd-bias-start-time = <0x1>;
-		wlf,micd-rate = <0x7>;
-		wlf,micd-dbtime = <0x1>;
-		wlf,micd-force-micbias;
-		wlf,micd-configs = <0x0 1 0>;
-		wlf,hpdet-channel = <1>;
-		wlf,gpsw = <0x1>;
-		wlf,inmode = <2 0 2 0>;
-
-		wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>;
-		wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>;
-
-		/* core supplies */
-		AVDD-supply = <&ldo18_reg>;
-		DBVDD1-supply = <&ldo18_reg>;
-		CPVDD-supply = <&ldo18_reg>;
-		DBVDD2-supply = <&ldo18_reg>;
-		DBVDD3-supply = <&ldo18_reg>;
-
-		controller-data {
-			samsung,spi-feedback-delay = <0>;
-		};
-	};
-};
-
-&timer {
-	clock-frequency = <24000000>;
-};
-
-&tmu_atlas0 {
-	vtmu-supply = <&ldo3_reg>;
-	status = "okay";
-};
-
-&tmu_apollo {
-	vtmu-supply = <&ldo3_reg>;
-	status = "okay";
-};
-
-&tmu_g3d {
-	vtmu-supply = <&ldo3_reg>;
-	status = "okay";
-};
-
-&usbdrd30 {
-	vdd33-supply = <&ldo10_reg>;
-	vdd10-supply = <&ldo6_reg>;
-	status = "okay";
-};
-
-&usbdrd_dwc3_0 {
-	dr_mode = "otg";
-};
-
-&usbdrd30_phy {
-	vbus-supply = <&safeout1_reg>;
-	status = "okay";
-};
-
-&xxti {
-	clock-frequency = <24000000>;
-};
+/*
+ * SAMSUNG Exynos5433 TM2 board device tree source
+ *
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ *
+ * Device tree source file for Samsung's TM2 board which is based on
+ * Samsung Exynos5433 SoC.
+ *
+ * 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.
+ */
+
+#include "exynos5433-tm2-common.dtsi"
+
+/ {
+	model = "Samsung TM2 board";
+	compatible = "samsung,tm2", "samsung,exynos5433";
+};
+
+&ldo31_reg {
+	regulator-name = "TSP_VDD_1.85V_AP";
+	regulator-min-microvolt = <1850000>;
+	regulator-max-microvolt = <1850000>;
+};
+
+&ldo38_reg {
+	regulator-name = "VCC_3.0V_MOTOR_AP";
+	regulator-min-microvolt = <3000000>;
+	regulator-max-microvolt = <3000000>;
+};
diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts
index 854c583092d5..2fbf3a860316 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts
@@ -11,7 +11,7 @@
  * published by the Free Software Foundation.
  */
 
-#include "exynos5433-tm2.dts"
+#include "exynos5433-tm2-common.dtsi"
 
 / {
 	model = "Samsung TM2E board";
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1552803 — Re: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other

FromAndi Shyti <andi.shyti@samsung.com>
Date2017-01-06 15:00 +0100
SubjectRe: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other
Message-ID<sWDdL-2Hu-9@gated-at.bofh.it>
In reply to#1552801
Hi Krzysztof,

> > -#include "exynos5433-tm2.dts"
> > +#include "exynos5433-tm2-common.dtsi"
> >  
> >  / {
> >  	model = "Samsung TM2E board";
> 
> Where are the regulators?

No need, they were already overwriting the original property, so
with your suggestion they didn't change in tm2e. That's why I like
your suggestion.

Originally I added the 'regulator' label to not have empty nodes.

Andi

[toc] | [prev] | [next] | [standalone]


#1552818 — Re: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other

FromKrzysztof Kozlowski <krzk@kernel.org>
Date2017-01-06 15:20 +0100
SubjectRe: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other
Message-ID<sWDx8-36h-5@gated-at.bofh.it>
In reply to#1552803
On Fri, Jan 6, 2017 at 3:53 PM, Andi Shyti <andi.shyti@samsung.com> wrote:
> Hi Krzysztof,
>
>> > -#include "exynos5433-tm2.dts"
>> > +#include "exynos5433-tm2-common.dtsi"
>> >
>> >  / {
>> >     model = "Samsung TM2E board";
>>
>> Where are the regulators?
>
> No need, they were already overwriting the original property, so
> with your suggestion they didn't change in tm2e. That's why I like
> your suggestion.
>
> Originally I added the 'regulator' label to not have empty nodes.

Yes, I understand, I spotted it right now. Everything looks good, thanks.

Applied.

BR,
Krzysztof

[toc] | [prev] | [next] | [standalone]


#1552805 — Re: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other

FromKrzysztof Kozlowski <krzk@kernel.org>
Date2017-01-06 15:00 +0100
SubjectRe: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other
Message-ID<sWDdL-2Hu-1@gated-at.bofh.it>
In reply to#1552801
On Fri, Jan 06, 2017 at 10:43:47PM +0900, Andi Shyti wrote:
> Currently tm2e dts includes tm2 but there are some differences
> between the two boards and tm2 has some properties that tm2e
> doesn't have.
> 
> That's why it's important to keep the two dts files independent
> and put all the commonalities in a tm2-common.dtsi file.
> 
> At the current status the only two differences between the two
> dts files (besides the board name) are ldo31 and ldo38.
> 
> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
> ---
>  ...ynos5433-tm2.dts => exynos5433-tm2-common.dtsi} |   21 +-
>  arch/arm64/boot/dts/exynos/exynos5433-tm2.dts      | 1150 +-------------------
>  arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts     |    2 +-
>  3 files changed, 42 insertions(+), 1131 deletions(-)
>  copy arch/arm64/boot/dts/exynos/{exynos5433-tm2.dts => exynos5433-tm2-common.dtsi} (98%)
>  rewrite arch/arm64/boot/dts/exynos/exynos5433-tm2.dts (98%)
> 
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> similarity index 98%
> copy from arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> copy to arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> index 640e4b9910ae..cc6701b3bce4 100644
> --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> @@ -3,8 +3,8 @@
>   *
>   * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>   *
> - * Device tree source file for Samsung's TM2 board which is based on
> - * Samsung Exynos5433 SoC.
> + * Common device tree source file for Samsung's TM2 and TM2E boards
> + * which are based on Samsung Exynos5433 SoC.
>   *
>   * 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
> @@ -19,9 +19,6 @@
>  #include <dt-bindings/interrupt-controller/irq.h>
>  
>  / {
> -	model = "Samsung TM2 board";
> -	compatible = "samsung,tm2", "samsung,exynos5433";
> -
>  	aliases {
>  		gsc0 = &gsc_0;
>  		gsc1 = &gsc_1;
> @@ -552,9 +549,10 @@
>  			};
>  
>  			ldo31_reg: LDO31 {
> -				regulator-name = "TSP_VDD_1.85V_AP";
> -				regulator-min-microvolt = <1850000>;
> -				regulator-max-microvolt = <1850000>;
> +				/*
> +				 * LDO31 differs from target to target,
> +				 * its definition is in the .dts
> +				 */
>  			};
>  
>  			ldo32_reg: LDO32 {
> @@ -595,9 +593,10 @@
>  			};
>  
>  			ldo38_reg: LDO38 {
> -				regulator-name = "VCC_3.0V_MOTOR_AP";
> -				regulator-min-microvolt = <3000000>;
> -				regulator-max-microvolt = <3000000>;
> +				/*
> +				 * LDO38 differs from target to target,
> +				 * its definition is in the .dts
> +				 */
>  			};
>  
>  			ldo39_reg: LDO39 {
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> dissimilarity index 98%
> index 640e4b9910ae..2449266b268f 100644
> --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> @@ -1,1119 +1,31 @@
> -/*
> - * SAMSUNG Exynos5433 TM2 board device tree source
> - *
> - * Copyright (c) 2016 Samsung Electronics Co., Ltd.
> - *
> - * Device tree source file for Samsung's TM2 board which is based on
> - * Samsung Exynos5433 SoC.
> - *
> - * 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.
> - */
> -
> -/dts-v1/;
> -#include "exynos5433.dtsi"
> -#include <dt-bindings/clock/samsung,s2mps11.h>
> -#include <dt-bindings/gpio/gpio.h>
> -#include <dt-bindings/input/input.h>
> -#include <dt-bindings/interrupt-controller/irq.h>
> -
> -/ {
> -	model = "Samsung TM2 board";
> -	compatible = "samsung,tm2", "samsung,exynos5433";
> -
> -	aliases {
> -		gsc0 = &gsc_0;
> -		gsc1 = &gsc_1;
> -		gsc2 = &gsc_2;
> -		pinctrl0 = &pinctrl_alive;
> -		pinctrl1 = &pinctrl_aud;
> -		pinctrl2 = &pinctrl_cpif;
> -		pinctrl3 = &pinctrl_ese;
> -		pinctrl4 = &pinctrl_finger;
> -		pinctrl5 = &pinctrl_fsys;
> -		pinctrl6 = &pinctrl_imem;
> -		pinctrl7 = &pinctrl_nfc;
> -		pinctrl8 = &pinctrl_peric;
> -		pinctrl9 = &pinctrl_touch;
> -		serial0 = &serial_0;
> -		serial1 = &serial_1;
> -		serial2 = &serial_2;
> -		serial3 = &serial_3;
> -		spi0 = &spi_0;
> -		spi1 = &spi_1;
> -		spi2 = &spi_2;
> -		spi3 = &spi_3;
> -		spi4 = &spi_4;
> -		mshc0 = &mshc_0;
> -		mshc2 = &mshc_2;
> -	};
> -
> -	chosen {
> -		stdout-path = &serial_1;
> -	};
> -
> -	memory@20000000 {
> -		device_type = "memory";
> -		reg = <0x0 0x20000000 0x0 0xc0000000>;
> -	};
> -
> -	gpio-keys {
> -		compatible = "gpio-keys";
> -
> -		power-key {
> -			gpios = <&gpa2 7 GPIO_ACTIVE_LOW>;
> -			linux,code = <KEY_POWER>;
> -			label = "power key";
> -			debounce-interval = <10>;
> -		};
> -
> -		volume-up-key {
> -			gpios = <&gpa2 0 GPIO_ACTIVE_LOW>;
> -			linux,code = <KEY_VOLUMEUP>;
> -			label = "volume-up key";
> -			debounce-interval = <10>;
> -		};
> -
> -		volume-down-key {
> -			gpios = <&gpa2 1 GPIO_ACTIVE_LOW>;
> -			linux,code = <KEY_VOLUMEDOWN>;
> -			label = "volume-down key";
> -			debounce-interval = <10>;
> -		};
> -
> -		homepage-key {
> -			gpios = <&gpa0 3 GPIO_ACTIVE_LOW>;
> -			linux,code = <KEY_MENU>;
> -			label = "homepage key";
> -			debounce-interval = <10>;
> -		};
> -	};
> -
> -	i2c_max98504: i2c-gpio-0 {
> -		compatible = "i2c-gpio";
> -		gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
> -			 &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
> -		i2c-gpio,delay-us = <2>;
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -		status = "okay";
> -
> -		max98504: max98504@31 {
> -			compatible = "maxim,max98504";
> -			reg = <0x31>;
> -			maxim,rx-path = <1>;
> -			maxim,tx-path = <1>;
> -			maxim,tx-channel-mask = <3>;
> -			maxim,tx-channel-source = <2>;
> -		};
> -	};
> -
> -	sound {
> -		compatible = "samsung,tm2-audio";
> -		audio-codec = <&wm5110>;
> -		i2s-controller = <&i2s0>;
> -		audio-amplifier = <&max98504>;
> -		mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>;
> -		model = "wm5110";
> -		samsung,audio-routing =
> -			/* Headphone */
> -			"HP", "HPOUT1L",
> -			"HP", "HPOUT1R",
> -
> -			/* Speaker */
> -			"SPK", "SPKOUT",
> -			"SPKOUT", "HPOUT2L",
> -			"SPKOUT", "HPOUT2R",
> -
> -			/* Receiver */
> -			"RCV", "HPOUT3L",
> -			"RCV", "HPOUT3R";
> -		status = "okay";
> -	};
> -};
> -
> -&adc {
> -	vdd-supply = <&ldo3_reg>;
> -	status = "okay";
> -
> -	thermistor-ap {
> -		compatible = "murata,ncp03wf104";
> -		pullup-uv = <1800000>;
> -		pullup-ohm = <100000>;
> -		pulldown-ohm = <0>;
> -		io-channels = <&adc 0>;
> -	};
> -
> -	thermistor-battery {
> -		compatible = "murata,ncp03wf104";
> -		pullup-uv = <1800000>;
> -		pullup-ohm = <100000>;
> -		pulldown-ohm = <0>;
> -		io-channels = <&adc 1>;
> -		#thermal-sensor-cells = <0>;
> -	};
> -
> -	thermistor-charger {
> -		compatible = "murata,ncp03wf104";
> -		pullup-uv = <1800000>;
> -		pullup-ohm = <100000>;
> -		pulldown-ohm = <0>;
> -		io-channels = <&adc 2>;
> -	};
> -};
> -
> -&bus_g2d_400 {
> -	devfreq-events = <&ppmu_event0_d0_general>, <&ppmu_event0_d1_general>;
> -	vdd-supply = <&buck4_reg>;
> -	exynos,saturation-ratio = <10>;
> -	status = "okay";
> -};
> -
> -&bus_g2d_266 {
> -	devfreq = <&bus_g2d_400>;
> -	status = "okay";
> -};
> -
> -&bus_gscl {
> -	devfreq = <&bus_g2d_400>;
> -	status = "okay";
> -};
> -
> -&bus_hevc {
> -	devfreq = <&bus_g2d_400>;
> -	status = "okay";
> -};
> -
> -&bus_jpeg {
> -	devfreq = <&bus_g2d_400>;
> -	status = "okay";
> -};
> -
> -&bus_mfc {
> -	devfreq = <&bus_g2d_400>;
> -	status = "okay";
> -};
> -
> -&bus_mscl {
> -	devfreq = <&bus_g2d_400>;
> -	status = "okay";
> -};
> -
> -&bus_noc0 {
> -	devfreq = <&bus_g2d_400>;
> -	status = "okay";
> -};
> -
> -&bus_noc1 {
> -	devfreq = <&bus_g2d_400>;
> -	status = "okay";
> -};
> -
> -&bus_noc2 {
> -	devfreq = <&bus_g2d_400>;
> -	status = "okay";
> -};
> -
> -&cmu_aud {
> -	assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>;
> -	assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>;
> -};
> -
> -&cmu_fsys {
> -	assigned-clocks = <&cmu_top CLK_MOUT_SCLK_USBDRD30>,
> -		<&cmu_top CLK_MOUT_SCLK_USBHOST30>,
> -		<&cmu_fsys CLK_MOUT_SCLK_USBDRD30_USER>,
> -		<&cmu_fsys CLK_MOUT_SCLK_USBHOST30_USER>,
> -		<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER>,
> -		<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER>,
> -		<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER>,
> -		<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER>,
> -		<&cmu_top CLK_DIV_SCLK_USBDRD30>,
> -		<&cmu_top CLK_DIV_SCLK_USBHOST30>;
> -	assigned-clock-parents = <&cmu_top CLK_MOUT_BUS_PLL_USER>,
> -		<&cmu_top CLK_MOUT_BUS_PLL_USER>,
> -		<&cmu_top CLK_SCLK_USBDRD30_FSYS>,
> -		<&cmu_top CLK_SCLK_USBHOST30_FSYS>,
> -		<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY>,
> -		<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY>,
> -		<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY>,
> -		<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY>;
> -	assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>,
> -			       <66700000>, <66700000>;
> -};
> -
> -&cmu_gscl {
> -	assigned-clocks = <&cmu_gscl CLK_MOUT_ACLK_GSCL_111_USER>,
> -			  <&cmu_gscl CLK_MOUT_ACLK_GSCL_333_USER>;
> -	assigned-clock-parents = <&cmu_top CLK_ACLK_GSCL_111>,
> -				 <&cmu_top CLK_ACLK_GSCL_333>;
> -};
> -
> -&cmu_mfc {
> -	assigned-clocks = <&cmu_mfc CLK_MOUT_ACLK_MFC_400_USER>;
> -	assigned-clock-parents = <&cmu_top CLK_ACLK_MFC_400>;
> -};
> -
> -&cmu_mscl {
> -	assigned-clocks = <&cmu_mscl CLK_MOUT_ACLK_MSCL_400_USER>,
> -			  <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
> -			  <&cmu_mscl CLK_MOUT_SCLK_JPEG>,
> -			  <&cmu_top CLK_MOUT_SCLK_JPEG_A>;
> -	assigned-clock-parents = <&cmu_top CLK_ACLK_MSCL_400>,
> -				 <&cmu_top CLK_SCLK_JPEG_MSCL>,
> -				 <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
> -				 <&cmu_top CLK_MOUT_BUS_PLL_USER>;
> -};
> -
> -&cpu0 {
> -	cpu-supply = <&buck3_reg>;
> -};
> -
> -&cpu4 {
> -	cpu-supply = <&buck2_reg>;
> -};
> -
> -&decon {
> -	status = "okay";
> -
> -	i80-if-timings {
> -	};
> -};
> -
> -&dsi {
> -	status = "okay";
> -	vddcore-supply = <&ldo6_reg>;
> -	vddio-supply = <&ldo7_reg>;
> -	samsung,pll-clock-frequency = <24000000>;
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&te_irq>;
> -
> -	ports {
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		port@1 {
> -			reg = <1>;
> -
> -			dsi_out: endpoint {
> -				samsung,burst-clock-frequency = <512000000>;
> -				samsung,esc-clock-frequency = <16000000>;
> -			};
> -		};
> -	};
> -};
> -
> -&hsi2c_0 {
> -	status = "okay";
> -	clock-frequency = <2500000>;
> -
> -	s2mps13-pmic@66 {
> -		compatible = "samsung,s2mps13-pmic";
> -		interrupt-parent = <&gpa0>;
> -		interrupts = <7 IRQ_TYPE_NONE>;
> -		reg = <0x66>;
> -		samsung,s2mps11-wrstbi-ground;
> -
> -		s2mps13_osc: clocks {
> -			compatible = "samsung,s2mps13-clk";
> -			#clock-cells = <1>;
> -			clock-output-names = "s2mps13_ap", "s2mps13_cp",
> -				"s2mps13_bt";
> -		};
> -
> -		regulators {
> -			ldo1_reg: LDO1 {
> -				regulator-name = "VDD_ALIVE_0.9V_AP";
> -				regulator-min-microvolt = <900000>;
> -				regulator-max-microvolt = <900000>;
> -				regulator-always-on;
> -			};
> -
> -			ldo2_reg: LDO2 {
> -				regulator-name = "VDDQ_MMC2_2.8V_AP";
> -				regulator-min-microvolt = <2800000>;
> -				regulator-max-microvolt = <2800000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo3_reg: LDO3 {
> -				regulator-name = "VDD1_E_1.8V_AP";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -				regulator-always-on;
> -			};
> -
> -			ldo4_reg: LDO4 {
> -				regulator-name = "VDD10_MIF_PLL_1.0V_AP";
> -				regulator-min-microvolt = <1300000>;
> -				regulator-max-microvolt = <1300000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo5_reg: LDO5 {
> -				regulator-name = "VDD10_DPLL_1.0V_AP";
> -				regulator-min-microvolt = <1000000>;
> -				regulator-max-microvolt = <1000000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo6_reg: LDO6 {
> -				regulator-name = "VDD10_MIPI2L_1.0V_AP";
> -				regulator-min-microvolt = <1000000>;
> -				regulator-max-microvolt = <1000000>;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo7_reg: LDO7 {
> -				regulator-name = "VDD18_MIPI2L_1.8V_AP";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -			};
> -
> -			ldo8_reg: LDO8 {
> -				regulator-name = "VDD18_LLI_1.8V_AP";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo9_reg: LDO9 {
> -				regulator-name = "VDD18_ABB_ETC_1.8V_AP";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo10_reg: LDO10 {
> -				regulator-name = "VDD33_USB30_3.0V_AP";
> -				regulator-min-microvolt = <3000000>;
> -				regulator-max-microvolt = <3000000>;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo11_reg: LDO11 {
> -				regulator-name = "VDD_INT_M_1.0V_AP";
> -				regulator-min-microvolt = <1000000>;
> -				regulator-max-microvolt = <1000000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo12_reg: LDO12 {
> -				regulator-name = "VDD_KFC_M_1.1V_AP";
> -				regulator-min-microvolt = <800000>;
> -				regulator-max-microvolt = <1350000>;
> -				regulator-always-on;
> -			};
> -
> -			ldo13_reg: LDO13 {
> -				regulator-name = "VDD_G3D_M_0.95V_AP";
> -				regulator-min-microvolt = <950000>;
> -				regulator-max-microvolt = <950000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo14_reg: LDO14 {
> -				regulator-name = "VDDQ_M1_LDO_1.2V_AP";
> -				regulator-min-microvolt = <1200000>;
> -				regulator-max-microvolt = <1200000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo15_reg: LDO15 {
> -				regulator-name = "VDDQ_M2_LDO_1.2V_AP";
> -				regulator-min-microvolt = <1200000>;
> -				regulator-max-microvolt = <1200000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			ldo16_reg: LDO16 {
> -				regulator-name = "VDDQ_EFUSE";
> -				regulator-min-microvolt = <1400000>;
> -				regulator-max-microvolt = <3400000>;
> -				regulator-always-on;
> -			};
> -
> -			ldo17_reg: LDO17 {
> -				regulator-name = "V_TFLASH_2.8V_AP";
> -				regulator-min-microvolt = <2800000>;
> -				regulator-max-microvolt = <2800000>;
> -			};
> -
> -			ldo18_reg: LDO18 {
> -				regulator-name = "V_CODEC_1.8V_AP";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -			};
> -
> -			ldo19_reg: LDO19 {
> -				regulator-name = "VDDA_1.8V_COMP";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -				regulator-always-on;
> -			};
> -
> -			ldo20_reg: LDO20 {
> -				regulator-name = "VCC_2.8V_AP";
> -				regulator-min-microvolt = <2800000>;
> -				regulator-max-microvolt = <2800000>;
> -				regulator-always-on;
> -			};
> -
> -			ldo21_reg: LDO21 {
> -				regulator-name = "VT_CAM_1.8V";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -			};
> -
> -			ldo22_reg: LDO22 {
> -				regulator-name = "CAM_IO_1.8V_AP";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -			};
> -
> -			ldo23_reg: LDO23 {
> -				regulator-name = "CAM_SEN_CORE_1.05V_AP";
> -				regulator-min-microvolt = <1050000>;
> -				regulator-max-microvolt = <1050000>;
> -			};
> -
> -			ldo24_reg: LDO24 {
> -				regulator-name = "VT_CAM_1.2V";
> -				regulator-min-microvolt = <1200000>;
> -				regulator-max-microvolt = <1200000>;
> -			};
> -
> -			ldo25_reg: LDO25 {
> -				regulator-name = "UNUSED_LDO25";
> -				regulator-min-microvolt = <2800000>;
> -				regulator-max-microvolt = <2800000>;
> -			};
> -
> -			ldo26_reg: LDO26 {
> -				regulator-name = "CAM_AF_2.8V_AP";
> -				regulator-min-microvolt = <2800000>;
> -				regulator-max-microvolt = <2800000>;
> -			};
> -
> -			ldo27_reg: LDO27 {
> -				regulator-name = "VCC_3.0V_LCD_AP";
> -				regulator-min-microvolt = <3000000>;
> -				regulator-max-microvolt = <3000000>;
> -			};
> -
> -			ldo28_reg: LDO28 {
> -				regulator-name = "VCC_1.8V_LCD_AP";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -			};
> -
> -			ldo29_reg: LDO29 {
> -				regulator-name = "VT_CAM_2.8V";
> -				regulator-min-microvolt = <3000000>;
> -				regulator-max-microvolt = <3000000>;
> -			};
> -
> -			ldo30_reg: LDO30 {
> -				regulator-name = "TSP_AVDD_3.3V_AP";
> -				regulator-min-microvolt = <3300000>;
> -				regulator-max-microvolt = <3300000>;
> -			};
> -
> -			ldo31_reg: LDO31 {
> -				regulator-name = "TSP_VDD_1.85V_AP";
> -				regulator-min-microvolt = <1850000>;
> -				regulator-max-microvolt = <1850000>;
> -			};
> -
> -			ldo32_reg: LDO32 {
> -				regulator-name = "VTOUCH_1.8V_AP";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -			};
> -
> -			ldo33_reg: LDO33 {
> -				regulator-name = "VTOUCH_LED_3.3V";
> -				regulator-min-microvolt = <2500000>;
> -				regulator-max-microvolt = <3300000>;
> -				regulator-ramp-delay = <12500>;
> -			};
> -
> -			ldo34_reg: LDO34 {
> -				regulator-name = "VCC_1.8V_MHL_AP";
> -				regulator-min-microvolt = <1000000>;
> -				regulator-max-microvolt = <2100000>;
> -			};
> -
> -			ldo35_reg: LDO35 {
> -				regulator-name = "OIS_VM_2.8V";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <2800000>;
> -			};
> -
> -			ldo36_reg: LDO36 {
> -				regulator-name = "VSIL_1.0V";
> -				regulator-min-microvolt = <1000000>;
> -				regulator-max-microvolt = <1000000>;
> -			};
> -
> -			ldo37_reg: LDO37 {
> -				regulator-name = "VF_1.8V";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -			};
> -
> -			ldo38_reg: LDO38 {
> -				regulator-name = "VCC_3.0V_MOTOR_AP";
> -				regulator-min-microvolt = <3000000>;
> -				regulator-max-microvolt = <3000000>;
> -			};
> -
> -			ldo39_reg: LDO39 {
> -				regulator-name = "V_HRM_1.8V";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -			};
> -
> -			ldo40_reg: LDO40 {
> -				regulator-name = "V_HRM_3.3V";
> -				regulator-min-microvolt = <3300000>;
> -				regulator-max-microvolt = <3300000>;
> -			};
> -
> -			buck1_reg: BUCK1 {
> -				regulator-name = "VDD_MIF_0.9V_AP";
> -				regulator-min-microvolt = <600000>;
> -				regulator-max-microvolt = <1500000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			buck2_reg: BUCK2 {
> -				regulator-name = "VDD_EGL_1.0V_AP";
> -				regulator-min-microvolt = <900000>;
> -				regulator-max-microvolt = <1300000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			buck3_reg: BUCK3 {
> -				regulator-name = "VDD_KFC_1.0V_AP";
> -				regulator-min-microvolt = <800000>;
> -				regulator-max-microvolt = <1200000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			buck4_reg: BUCK4 {
> -				regulator-name = "VDD_INT_0.95V_AP";
> -				regulator-min-microvolt = <600000>;
> -				regulator-max-microvolt = <1500000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			buck5_reg: BUCK5 {
> -				regulator-name = "VDD_DISP_CAM0_0.9V_AP";
> -				regulator-min-microvolt = <600000>;
> -				regulator-max-microvolt = <1500000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			buck6_reg: BUCK6 {
> -				regulator-name = "VDD_G3D_0.9V_AP";
> -				regulator-min-microvolt = <600000>;
> -				regulator-max-microvolt = <1500000>;
> -				regulator-always-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			buck7_reg: BUCK7 {
> -				regulator-name = "VDD_MEM1_1.2V_AP";
> -				regulator-min-microvolt = <1200000>;
> -				regulator-max-microvolt = <1200000>;
> -				regulator-always-on;
> -			};
> -
> -			buck8_reg: BUCK8 {
> -				regulator-name = "VDD_LLDO_1.35V_AP";
> -				regulator-min-microvolt = <1350000>;
> -				regulator-max-microvolt = <3300000>;
> -				regulator-always-on;
> -			};
> -
> -			buck9_reg: BUCK9 {
> -				regulator-name = "VDD_MLDO_2.0V_AP";
> -				regulator-min-microvolt = <1350000>;
> -				regulator-max-microvolt = <3300000>;
> -				regulator-always-on;
> -			};
> -
> -			buck10_reg: BUCK10 {
> -				regulator-name = "vdd_mem2";
> -				regulator-min-microvolt = <550000>;
> -				regulator-max-microvolt = <1500000>;
> -				regulator-always-on;
> -			};
> -		};
> -	};
> -};
> -
> -&hsi2c_8 {
> -	status = "okay";
> -
> -	max77843@66 {
> -		compatible = "maxim,max77843";
> -		interrupt-parent = <&gpa1>;
> -		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
> -		reg = <0x66>;
> -
> -		muic: max77843-muic {
> -			compatible = "maxim,max77843-muic";
> -		};
> -
> -		regulators {
> -			compatible = "maxim,max77843-regulator";
> -			safeout1_reg: SAFEOUT1 {
> -				regulator-name = "SAFEOUT1";
> -				regulator-min-microvolt = <3300000>;
> -				regulator-max-microvolt = <4950000>;
> -			};
> -
> -			safeout2_reg: SAFEOUT2 {
> -				regulator-name = "SAFEOUT2";
> -				regulator-min-microvolt = <3300000>;
> -				regulator-max-microvolt = <4950000>;
> -			};
> -
> -			charger_reg: CHARGER {
> -				regulator-name = "CHARGER";
> -				regulator-min-microamp = <100000>;
> -				regulator-max-microamp = <3150000>;
> -			};
> -		};
> -
> -		haptic: max77843-haptic {
> -			compatible = "maxim,max77843-haptic";
> -			haptic-supply = <&ldo38_reg>;
> -			pwms = <&pwm 0 33670 0>;
> -			pwm-names = "haptic";
> -		};
> -	};
> -};
> -
> -&i2s0 {
> -	status = "okay";
> -};
> -
> -&mshc_0 {
> -	status = "okay";
> -	num-slots = <1>;
> -	mmc-hs200-1_8v;
> -	mmc-hs400-1_8v;
> -	cap-mmc-highspeed;
> -	non-removable;
> -	card-detect-delay = <200>;
> -	samsung,dw-mshc-ciu-div = <3>;
> -	samsung,dw-mshc-sdr-timing = <0 4>;
> -	samsung,dw-mshc-ddr-timing = <0 2>;
> -	samsung,dw-mshc-hs400-timing = <0 3>;
> -	samsung,read-strobe-delay = <90>;
> -	fifo-depth = <0x80>;
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4
> -			&sd0_bus8 &sd0_rdqs>;
> -	bus-width = <8>;
> -	assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>;
> -	assigned-clock-rates = <800000000>;
> -};
> -
> -&mshc_2 {
> -	status = "okay";
> -	num-slots = <1>;
> -	cap-sd-highspeed;
> -	disable-wp;
> -	cd-gpios = <&gpa2 4 GPIO_ACTIVE_HIGH>;
> -	cd-inverted;
> -	card-detect-delay = <200>;
> -	samsung,dw-mshc-ciu-div = <3>;
> -	samsung,dw-mshc-sdr-timing = <0 4>;
> -	samsung,dw-mshc-ddr-timing = <0 2>;
> -	fifo-depth = <0x80>;
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>;
> -	bus-width = <4>;
> -};
> -
> -&ppmu_d0_general {
> -	status = "okay";
> -	events {
> -		ppmu_event0_d0_general: ppmu-event0-d0-general {
> -			event-name = "ppmu-event0-d0-general";
> -		};
> -	};
> -};
> -
> -&ppmu_d1_general {
> -	status = "okay";
> -	events {
> -		ppmu_event0_d1_general: ppmu-event0-d1-general {
> -		       event-name = "ppmu-event0-d1-general";
> -	       };
> -       };
> -};
> -
> -&pinctrl_alive {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&initial_alive>;
> -
> -	initial_alive: initial-state {
> -		PIN(INPUT, gpa0-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa0-1, NONE, FAST_SR1);
> -		PIN(INPUT, gpa0-2, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa0-3, NONE, FAST_SR1);
> -		PIN(INPUT, gpa0-4, NONE, FAST_SR1);
> -		PIN(INPUT, gpa0-5, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa0-6, NONE, FAST_SR1);
> -		PIN(INPUT, gpa0-7, NONE, FAST_SR1);
> -
> -		PIN(INPUT, gpa1-0, UP, FAST_SR1);
> -		PIN(INPUT, gpa1-1, NONE, FAST_SR1);
> -		PIN(INPUT, gpa1-2, NONE, FAST_SR1);
> -		PIN(INPUT, gpa1-3, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa1-4, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa1-5, NONE, FAST_SR1);
> -		PIN(INPUT, gpa1-6, NONE, FAST_SR1);
> -		PIN(INPUT, gpa1-7, NONE, FAST_SR1);
> -
> -		PIN(INPUT, gpa2-0, NONE, FAST_SR1);
> -		PIN(INPUT, gpa2-1, NONE, FAST_SR1);
> -		PIN(INPUT, gpa2-2, NONE, FAST_SR1);
> -		PIN(INPUT, gpa2-3, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa2-4, NONE, FAST_SR1);
> -		PIN(INPUT, gpa2-5, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa2-6, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa2-7, NONE, FAST_SR1);
> -
> -		PIN(INPUT, gpa3-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa3-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa3-2, NONE, FAST_SR1);
> -		PIN(INPUT, gpa3-3, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa3-4, NONE, FAST_SR1);
> -		PIN(INPUT, gpa3-5, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa3-6, DOWN, FAST_SR1);
> -		PIN(INPUT, gpa3-7, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpf1-0, NONE, FAST_SR1);
> -		PIN(INPUT, gpf1-1, NONE, FAST_SR1);
> -		PIN(INPUT, gpf1-2, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf1-4, UP, FAST_SR1);
> -		PIN(OUTPUT, gpf1-5, NONE, FAST_SR1);
> -		PIN(INPUT, gpf1-6, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf1-7, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpf2-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf2-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf2-2, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf2-3, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpf3-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf3-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf3-2, NONE, FAST_SR1);
> -		PIN(INPUT, gpf3-3, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpf4-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf4-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf4-2, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf4-3, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf4-4, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf4-5, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf4-6, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf4-7, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpf5-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf5-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf5-2, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf5-3, DOWN, FAST_SR1);
> -		PIN(OUTPUT, gpf5-4, NONE, FAST_SR1);
> -		PIN(INPUT, gpf5-5, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf5-6, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf5-7, DOWN, FAST_SR1);
> -	};
> -
> -	te_irq: te_irq {
> -		samsung,pins = "gpf1-3";
> -		samsung,pin-function = <0xf>;
> -	};
> -};
> -
> -&pinctrl_cpif {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&initial_cpif>;
> -
> -	initial_cpif: initial-state {
> -		PIN(INPUT, gpv6-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpv6-1, DOWN, FAST_SR1);
> -	};
> -};
> -
> -&pinctrl_ese {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&initial_ese>;
> -
> -	initial_ese: initial-state {
> -		PIN(INPUT, gpj2-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpj2-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpj2-2, DOWN, FAST_SR1);
> -	};
> -};
> -
> -&pinctrl_fsys {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&initial_fsys>;
> -
> -	initial_fsys: initial-state {
> -		PIN(INPUT, gpr3-0, NONE, FAST_SR1);
> -		PIN(INPUT, gpr3-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpr3-2, DOWN, FAST_SR1);
> -		PIN(INPUT, gpr3-3, DOWN, FAST_SR1);
> -		PIN(INPUT, gpr3-7, NONE, FAST_SR1);
> -	};
> -};
> -
> -&pinctrl_imem {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&initial_imem>;
> -
> -	initial_imem: initial-state {
> -		PIN(INPUT, gpf0-0, UP, FAST_SR1);
> -		PIN(INPUT, gpf0-1, UP, FAST_SR1);
> -		PIN(INPUT, gpf0-2, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf0-3, UP, FAST_SR1);
> -		PIN(INPUT, gpf0-4, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf0-5, NONE, FAST_SR1);
> -		PIN(INPUT, gpf0-6, DOWN, FAST_SR1);
> -		PIN(INPUT, gpf0-7, UP, FAST_SR1);
> -	};
> -};
> -
> -&pinctrl_nfc {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&initial_nfc>;
> -
> -	initial_nfc: initial-state {
> -		PIN(INPUT, gpj0-2, DOWN, FAST_SR1);
> -	};
> -};
> -
> -&pinctrl_peric {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&initial_peric>;
> -
> -	initial_peric: initial-state {
> -		PIN(INPUT, gpv7-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpv7-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpv7-2, NONE, FAST_SR1);
> -		PIN(INPUT, gpv7-3, DOWN, FAST_SR1);
> -		PIN(INPUT, gpv7-4, DOWN, FAST_SR1);
> -		PIN(INPUT, gpv7-5, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpb0-4, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpc0-2, DOWN, FAST_SR1);
> -		PIN(INPUT, gpc0-5, DOWN, FAST_SR1);
> -		PIN(INPUT, gpc0-7, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpc1-1, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpc3-4, NONE, FAST_SR1);
> -		PIN(INPUT, gpc3-5, NONE, FAST_SR1);
> -		PIN(INPUT, gpc3-6, NONE, FAST_SR1);
> -		PIN(INPUT, gpc3-7, NONE, FAST_SR1);
> -
> -		PIN(OUTPUT, gpg0-0, NONE, FAST_SR1);
> -		PIN(2, gpg0-1, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpd2-5, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpd4-0, NONE, FAST_SR1);
> -		PIN(INPUT, gpd4-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpd4-2, DOWN, FAST_SR1);
> -		PIN(INPUT, gpd4-3, DOWN, FAST_SR1);
> -		PIN(INPUT, gpd4-4, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpd6-3, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpd8-1, UP, FAST_SR1);
> -
> -		PIN(INPUT, gpg1-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpg1-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpg1-2, DOWN, FAST_SR1);
> -		PIN(INPUT, gpg1-3, DOWN, FAST_SR1);
> -		PIN(INPUT, gpg1-4, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpg2-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpg2-1, DOWN, FAST_SR1);
> -
> -		PIN(INPUT, gpg3-0, DOWN, FAST_SR1);
> -		PIN(INPUT, gpg3-1, DOWN, FAST_SR1);
> -		PIN(INPUT, gpg3-5, DOWN, FAST_SR1);
> -		PIN(INPUT, gpg3-7, DOWN, FAST_SR1);
> -	};
> -};
> -
> -&pinctrl_touch {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&initial_touch>;
> -
> -	initial_touch: initial-state {
> -		PIN(INPUT, gpj1-2, DOWN, FAST_SR1);
> -	};
> -};
> -
> -&pwm {
> -	pinctrl-0 = <&pwm0_out>;
> -	pinctrl-names = "default";
> -	status = "okay";
> -};
> -
> -&mic {
> -	status = "okay";
> -
> -	i80-if-timings {
> -	};
> -};
> -
> -&pmu_system_controller {
> -	assigned-clocks = <&pmu_system_controller 0>;
> -	assigned-clock-parents = <&xxti>;
> -};
> -
> -&serial_1 {
> -	status = "okay";
> -};
> -
> -&spi_1 {
> -	cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
> -	status = "okay";
> -
> -	wm5110: wm5110-codec@0 {
> -		compatible = "wlf,wm5110";
> -		reg = <0x0>;
> -		spi-max-frequency = <20000000>;
> -		interrupt-parent = <&gpa0>;
> -		interrupts = <4 IRQ_TYPE_NONE>;
> -		clocks = <&pmu_system_controller 0>,
> -			<&s2mps13_osc S2MPS11_CLK_BT>;
> -		clock-names = "mclk1", "mclk2";
> -
> -		gpio-controller;
> -		#gpio-cells = <2>;
> -
> -		wlf,micd-detect-debounce = <300>;
> -		wlf,micd-bias-start-time = <0x1>;
> -		wlf,micd-rate = <0x7>;
> -		wlf,micd-dbtime = <0x1>;
> -		wlf,micd-force-micbias;
> -		wlf,micd-configs = <0x0 1 0>;
> -		wlf,hpdet-channel = <1>;
> -		wlf,gpsw = <0x1>;
> -		wlf,inmode = <2 0 2 0>;
> -
> -		wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>;
> -		wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>;
> -
> -		/* core supplies */
> -		AVDD-supply = <&ldo18_reg>;
> -		DBVDD1-supply = <&ldo18_reg>;
> -		CPVDD-supply = <&ldo18_reg>;
> -		DBVDD2-supply = <&ldo18_reg>;
> -		DBVDD3-supply = <&ldo18_reg>;
> -
> -		controller-data {
> -			samsung,spi-feedback-delay = <0>;
> -		};
> -	};
> -};
> -
> -&timer {
> -	clock-frequency = <24000000>;
> -};
> -
> -&tmu_atlas0 {
> -	vtmu-supply = <&ldo3_reg>;
> -	status = "okay";
> -};
> -
> -&tmu_apollo {
> -	vtmu-supply = <&ldo3_reg>;
> -	status = "okay";
> -};
> -
> -&tmu_g3d {
> -	vtmu-supply = <&ldo3_reg>;
> -	status = "okay";
> -};
> -
> -&usbdrd30 {
> -	vdd33-supply = <&ldo10_reg>;
> -	vdd10-supply = <&ldo6_reg>;
> -	status = "okay";
> -};
> -
> -&usbdrd_dwc3_0 {
> -	dr_mode = "otg";
> -};
> -
> -&usbdrd30_phy {
> -	vbus-supply = <&safeout1_reg>;
> -	status = "okay";
> -};
> -
> -&xxti {
> -	clock-frequency = <24000000>;
> -};
> +/*
> + * SAMSUNG Exynos5433 TM2 board device tree source
> + *
> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
> + *
> + * Device tree source file for Samsung's TM2 board which is based on
> + * Samsung Exynos5433 SoC.
> + *
> + * 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.
> + */
> +
> +#include "exynos5433-tm2-common.dtsi"
> +
> +/ {
> +	model = "Samsung TM2 board";
> +	compatible = "samsung,tm2", "samsung,exynos5433";
> +};
> +
> +&ldo31_reg {
> +	regulator-name = "TSP_VDD_1.85V_AP";
> +	regulator-min-microvolt = <1850000>;
> +	regulator-max-microvolt = <1850000>;
> +};
> +
> +&ldo38_reg {
> +	regulator-name = "VCC_3.0V_MOTOR_AP";
> +	regulator-min-microvolt = <3000000>;
> +	regulator-max-microvolt = <3000000>;
> +};
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts
> index 854c583092d5..2fbf3a860316 100644
> --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts
> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts
> @@ -11,7 +11,7 @@
>   * published by the Free Software Foundation.
>   */
>  
> -#include "exynos5433-tm2.dts"
> +#include "exynos5433-tm2-common.dtsi"
>  
>  / {
>  	model = "Samsung TM2E board";

Where are the regulators?

Beside that it is starting to look good. I didn't find anything else but
maybe Javier's eagle eye will catch something.


Best regards,
Krzysztof

[toc] | [prev] | [next] | [standalone]


#1552819 — Re: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other

FromJavier Martinez Canillas <javier@osg.samsung.com>
Date2017-01-06 15:20 +0100
SubjectRe: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other
Message-ID<sWDx8-36h-11@gated-at.bofh.it>
In reply to#1552805
Hello Krzysztof,

On 01/06/2017 10:49 AM, Krzysztof Kozlowski wrote:
> On Fri, Jan 06, 2017 at 10:43:47PM +0900, Andi Shyti wrote:
>> Currently tm2e dts includes tm2 but there are some differences
>> between the two boards and tm2 has some properties that tm2e
>> doesn't have.
>>
>> That's why it's important to keep the two dts files independent
>> and put all the commonalities in a tm2-common.dtsi file.
>>
>> At the current status the only two differences between the two
>> dts files (besides the board name) are ldo31 and ldo38.
>>
>> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
>> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
>> ---

[snip]

 > Beside that it is starting to look good. I didn't find anything else but
> maybe Javier's eagle eye will catch something.
>

I didn't find anything else, the patch looks good to me now.
 
> 
> Best regards,
> Krzysztof
> 

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

[toc] | [prev] | [next] | [standalone]


#1553145 — Re: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other

FromChanwoo Choi <cwchoi00@gmail.com>
Date2017-01-06 22:30 +0100
SubjectRe: [PATCH v5 2/5] arm64: dts: exynos: make tm2 and tm2e independent from each other
Message-ID<sWKff-7Ju-15@gated-at.bofh.it>
In reply to#1552801
Hi Andi,

2017-01-06 22:43 GMT+09:00 Andi Shyti <andi.shyti@samsung.com>:
> Currently tm2e dts includes tm2 but there are some differences
> between the two boards and tm2 has some properties that tm2e
> doesn't have.
>
> That's why it's important to keep the two dts files independent
> and put all the commonalities in a tm2-common.dtsi file.
>
> At the current status the only two differences between the two
> dts files (besides the board name) are ldo31 and ldo38.
>
> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
> ---
>  ...ynos5433-tm2.dts => exynos5433-tm2-common.dtsi} |   21 +-
>  arch/arm64/boot/dts/exynos/exynos5433-tm2.dts      | 1150 +-------------------
>  arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts     |    2 +-
>  3 files changed, 42 insertions(+), 1131 deletions(-)
>  copy arch/arm64/boot/dts/exynos/{exynos5433-tm2.dts => exynos5433-tm2-common.dtsi} (98%)
>  rewrite arch/arm64/boot/dts/exynos/exynos5433-tm2.dts (98%)

Looks good to me.
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>

[snip]

-- 
Best Regards,
Chanwoo Choi

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web