From: Krzysztof Kozlowski <krzk@kernel.org>
To: Simon Shields <simon@lineageos.org>
Cc: linux-samsung-soc@vger.kernel.org,
"Kukjin Kim" <kgene@kernel.org>,
devicetree@vger.kernel.org,
"Marek Szyprowski" <m.szyprowski@samsung.com>,
"Bartłomiej Żołnierkiewicz" <b.zolnierkie@samsung.com>
Subject: Re: [PATCH v3 2/4] ARM: dts: split trats2 DTS in preparation for midas boards
Date: Wed, 20 Dec 2017 16:38:25 +0100 [thread overview]
Message-ID: <CAJKOXPcdKmhKZ71hmpyiJszhA5DtVpet5irfAuqc5-QNW2i62g@mail.gmail.com> (raw)
In-Reply-To: <20171220152713.GA23127@lineageos.org>
On Wed, Dec 20, 2017 at 4:27 PM, Simon Shields <simon@lineageos.org> wrote:
(...)
>> > @@ -68,17 +60,8 @@
>> > regulator-name = "CAM_SENSOR_A";
>> > regulator-min-microvolt = <2800000>;
>> > regulator-max-microvolt = <2800000>;
>> > - gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>;
>> > - enable-active-high;
>> > - };
>> > -
>> > - lcd_vdd3_reg: voltage-regulator-2 {
>> > - compatible = "regulator-fixed";
>> > - regulator-name = "LCD_VDD_2.2V";
>> > - regulator-min-microvolt = <2200000>;
>> > - regulator-max-microvolt = <2200000>;
>> > - gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
>> > enable-active-high;
>> > + status = "disabled";
>>
>> Why disabled?
>
> The GPIO which controls CAM_SENSOR_A differs between boards (gpm0-2 on
> s3, gpm0-7 on t0).
Hmm, okay, makes sense then.
>
>>
>> > };
>> >
>> > cam_af_reg: voltage-regulator-3 {
>> > @@ -86,17 +69,8 @@
>> > regulator-name = "CAM_AF";
>> > regulator-min-microvolt = <2800000>;
>> > regulator-max-microvolt = <2800000>;
>> > - gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>;
>> > - enable-active-high;
>> > - };
>> > -
>> > - ps_als_reg: voltage-regulator-5 {
>> > - compatible = "regulator-fixed";
>> > - regulator-name = "LED_A_3.0V";
>> > - regulator-min-microvolt = <3000000>;
>> > - regulator-max-microvolt = <3000000>;
>> > - gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
>> > enable-active-high;
>> > + status = "disabled";
>>
>> Why disabled?
>
> Same as above. gpm0-4 on s3, gpm1-1 on t0.
>>
>> > };
>> >
>> > vsil12: voltage-regulator-6 {
>> > @@ -227,37 +201,6 @@
>> > };
>> > };
>> >
>> > - i2c_ak8975: i2c-gpio-0 {
>> > - compatible = "i2c-gpio";
>> > - gpios = <&gpy2 4 GPIO_ACTIVE_HIGH>, <&gpy2 5 GPIO_ACTIVE_HIGH>;
>> > - i2c-gpio,delay-us = <2>;
>> > - #address-cells = <1>;
>> > - #size-cells = <0>;
>> > - status = "okay";
>> > -
>> > - ak8975@c {
>> > - compatible = "asahi-kasei,ak8975";
>> > - reg = <0x0c>;
>> > - gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
>> > - };
>> > - };
>> > -
>> > - i2c_cm36651: i2c-gpio-2 {
>> > - compatible = "i2c-gpio";
>> > - gpios = <&gpf0 0 GPIO_ACTIVE_LOW>, <&gpf0 1 GPIO_ACTIVE_LOW>;
>> > - i2c-gpio,delay-us = <2>;
>> > - #address-cells = <1>;
>> > - #size-cells = <0>;
>> > -
>> > - cm36651@18 {
>> > - compatible = "capella,cm36651";
>> > - reg = <0x18>;
>> > - interrupt-parent = <&gpx0>;
>> > - interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
>> > - vled-supply = <&ps_als_reg>;
>> > - };
>> > - };
>> > -
>> > i2c-mhl {
>> > compatible = "i2c-gpio";
>> > gpios = <&gpf0 4 GPIO_ACTIVE_HIGH>, <&gpf0 6 GPIO_ACTIVE_HIGH>;
>> > @@ -296,8 +239,6 @@
>> > <&clock CLK_MOUT_CAM1>;
>> > assigned-clock-parents = <&clock CLK_XUSBXTI>,
>> > <&clock CLK_XUSBXTI>;
>> > -
>> > -
>> > };
>> >
>> > wlan_pwrseq: sdhci3-pwrseq {
>> > @@ -454,36 +395,7 @@
>> > samsung,burst-clock-frequency = <500000000>;
>> > samsung,esc-clock-frequency = <20000000>;
>> > samsung,pll-clock-frequency = <24000000>;
>> > - status = "okay";
>> > -
>> > - panel@0 {
>> > - compatible = "samsung,s6e8aa0";
>> > - reg = <0>;
>> > - vdd3-supply = <&lcd_vdd3_reg>;
>> > - vci-supply = <&ldo25_reg>;
>> > - reset-gpios = <&gpf2 1 GPIO_ACTIVE_HIGH>;
>> > - power-on-delay= <50>;
>> > - reset-delay = <100>;
>> > - init-delay = <100>;
>> > - flip-horizontal;
>> > - flip-vertical;
>> > - panel-width-mm = <58>;
>> > - panel-height-mm = <103>;
>> > -
>> > - display-timings {
>> > - timing-0 {
>> > - clock-frequency = <57153600>;
>> > - hactive = <720>;
>> > - vactive = <1280>;
>> > - hfront-porch = <5>;
>> > - hback-porch = <5>;
>> > - hsync-len = <5>;
>> > - vfront-porch = <13>;
>> > - vback-porch = <1>;
>> > - vsync-len = <2>;
>> > - };
>> > - };
>> > - };
>> > + status = "disabled";
>>
>> It is already disabled by exynos4.dtsi, no need to duplicate properties.
>>
>> > };
>> >
>> > &exynos_usbphy {
>> > @@ -603,7 +515,7 @@
>> > samsung,i2c-max-bus-freq = <400000>;
>> > pinctrl-0 = <&i2c0_bus>;
>> > pinctrl-names = "default";
>> > - status = "okay";
>> > + status = "disabled";
>>
>> I do not get this node. It sits in midas.dtsi and s3.dtsi just enables
>> it. Why not enabling it here?
> Initially, I thought that T0 had some extra regulator that needed to be enabled,
> but in reality it's just a different vdda supply - so vdda should be
> moved down to galaxy-s3
Yes, please and then only for s5c73m3@3c. The i2c node should stay
enabled, I think.
>
>>
>> > s5c73m3@3c {
>> > compatible = "samsung,s5c73m3";
>> > @@ -635,18 +547,7 @@
>> > samsung,i2c-max-bus-freq = <400000>;
>> > pinctrl-0 = <&i2c3_bus>;
>> > pinctrl-names = "default";
>> > - status = "okay";
>> > -
>> > - mms114-touchscreen@48 {
>> > - compatible = "melfas,mms114";
>> > - reg = <0x48>;
>> > - interrupt-parent = <&gpm2>;
>> > - interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
>> > - x-size = <720>;
>> > - y-size = <1280>;
>> > - avdd-supply = <&ldo23_reg>;
>> > - vdd-supply = <&ldo24_reg>;
>> > - };
>> > + status = "disabled";
>> > };
>> >
>> > &i2c_4 {
>> > @@ -827,6 +728,7 @@
>> > regulator-name = "CAM_SENSOR_CORE_1.2V";
>> > regulator-min-microvolt = <1200000>;
>> > regulator-max-microvolt = <1200000>;
>> > + status = "okay";
>>
>> Regulator should not be disabled or enabled. It is not a device. I do
>> not get the logic behind...
>>
>> The ''status = disabled" usually is added in DTSI files to nodes which
>> are not fully configured at this point, e.g. they require external
>> resources (clocks, regulators). These external resources will be
>> provided when extending in DTS (or further DTSI) while enabling it.
>> However regulator has always all necessary resources.
>>
>
> Ack. This one shouldn't be here.
>
>> > };
>> >
>> > ldo18_reg: LDO18 {
>> > @@ -874,9 +776,7 @@
>> > };
>> >
>> > ldo25_reg: LDO25 {
>> > - regulator-name = "LCD_VCC_3.3V";
>> > - regulator-min-microvolt = <2800000>;
>> > - regulator-max-microvolt = <2800000>;
>> > + status = "disabled";
>>
>> Ditto.
>
> In this case, s3 and t0 have different regulator voltages/names
> (3.0V vs 2.8V), but it doesn't really seem to make sense to me
> to leave ldo25 out of the common dts altogether, since it's there on all
> boards. If you would prefer, I can remove ldo25 and leave it completely
> in the t0/s3 config files
So leave empty ldo25, like:
ldo25_reg: LDO25 {
regulator-name = "LDO25";
};
Something like buck8_reg in
arch/arm/boot/dts/exynos4412-odroid-common.dtsi. The point is to
provide entire description of max77686 regulators in basic DTSI. The
driver anyway knows the constraints (min/max voltages) so in case of
missing entries in DTS, default will be applied. Then in child-DTS you
can customize the voltage and/or name to necessary value.
Best regards,
Krzysztof
next prev parent reply other threads:[~2017-12-20 15:38 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-18 12:38 [PATCH v3 0/4] Add Exynos4412-based midas boards support Simon Shields
[not found] ` <20171218123805.26345-1-simon-WP75azK+jQYgsBAKwltoeQ@public.gmane.org>
2017-12-18 12:38 ` [PATCH v3 1/4] dt-bindings: samsung: document bindings for Midas family boards Simon Shields
2017-12-20 18:17 ` Rob Herring
2017-12-21 1:42 ` Simon Shields
[not found] ` <20171221014246.GA23568-WP75azK+jQYgsBAKwltoeQ@public.gmane.org>
2017-12-26 18:02 ` Rob Herring
2017-12-18 12:38 ` [PATCH v3 3/4] ARM: dts: add Samsung's exynos4412-based midas boards Simon Shields
2017-12-20 14:08 ` Krzysztof Kozlowski
2017-12-20 15:33 ` Simon Shields
[not found] ` <20171220153315.GB23127-WP75azK+jQYgsBAKwltoeQ@public.gmane.org>
2017-12-20 15:39 ` Krzysztof Kozlowski
2017-12-18 12:38 ` [PATCH v3 2/4] ARM: dts: split trats2 DTS in preparation for " Simon Shields
2017-12-20 14:05 ` Krzysztof Kozlowski
2017-12-20 15:27 ` Simon Shields
2017-12-20 15:38 ` Krzysztof Kozlowski [this message]
[not found] ` <CAJKOXPdzAvsaAOo6P+UA8VWYd7YjmtSqtkyKtNaz7jNdUXUH4A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-20 18:19 ` Rob Herring
2017-12-21 1:54 ` Simon Shields
2017-12-21 7:57 ` Krzysztof Kozlowski
2017-12-18 12:38 ` [PATCH v3 4/4] ARM: exynos: extend cpuidle support to " Simon Shields
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAJKOXPcdKmhKZ71hmpyiJszhA5DtVpet5irfAuqc5-QNW2i62g@mail.gmail.com \
--to=krzk@kernel.org \
--cc=b.zolnierkie@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=kgene@kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=simon@lineageos.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).