arm64: dts: qcom: sc7180: Reorganize trogdor rt5682 audio codec dts
authorDouglas Anderson <dianders@chromium.org>
Wed, 16 Aug 2023 18:21:54 +0000 (11:21 -0700)
committerBjorn Andersson <andersson@kernel.org>
Wed, 20 Sep 2023 01:12:52 +0000 (18:12 -0700)
It was asserted that the "/delete-property/ VBAT-supply;" that we
needed to do in the rt5682s dts fragment was ugly. Let's change up all
the trogdor device trees to make it explicit which version of "rt5682"
we have and avoid the need for the "delete-property".

As a side effect, this nicely gets rid of the need for a delete-node
in coachz, which doesn't use "rt5682" at all.

A few notes:
- This doesn't get rid of every "/delete-node/" in trogdor, just the
  one that was used for rt5682s.
- Though we no longer have any "/delete-node/", we do still override
  the "model" in the "sound" node in one case (in pompom) since that
  uses the "2mic" sound setup.

This is validated to produce the same result (other than a few
properties being reordered) when taking the dtbs generated by the
kernel build and then doing:

  for dtb in *trogdor*.dtb; do
    dtc -I dtb -O dts $dtb -o out/$dtb.dts;
  done

Suggested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Sheng-Liang Pan <sheng-liang.pan@quanta.corp-partner.google.com>
Link: https://lore.kernel.org/r/20230816112143.2.I29a5a330b6994afca81871f74bbacaf55b155937@changeid
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
27 files changed:
arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots-r5.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots-r9.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-r4.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-r9.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3-kb.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3-lte.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r9-kb.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r9-lte.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r9.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel-lte-parade.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel-lte-ti.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel-parade.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel-ti.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi
arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick.dtsi
arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-rt5682i-sku.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/qcom/sc7180-trogdor-rt5682s-sku.dtsi
arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler-rev1-boe-rt5682s.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler-rev1-boe.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler-rev1-inx-rt5682s.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler-rev1-inx.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi

index 722f246b8b77c37ca4d5b141aae60265570bc3c7..7765c8f64905034d605e6eba894bc566c66e0825 100644 (file)
@@ -10,7 +10,6 @@
 
 /* Deleted nodes from sc7180-trogdor.dtsi */
 
-/delete-node/ &alc5682;
 /delete-node/ &pp3300_codec;
 
 / {
index 062dbe7826674372d1cb8d8121c8f6588c5d2f2c..2ba3bbf3b9add2bea1d99cb70fe525a6fc511510 100644 (file)
@@ -7,6 +7,8 @@
 
 /* This file must be included after sc7180-trogdor.dtsi */
 
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
+
 / {
        /* BOARD-SPECIFIC TOP LEVEL NODES */
 
index 7f01573b55435225cbac8f5155eaa1ff314701a1..e7da0d6e8ef5eeab21cf130cfbe54b9b9281430e 100644 (file)
@@ -11,6 +11,7 @@
 #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
 #include "sc7180-trogdor-lte-sku.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Lazor Limozeen without Touchscreen (rev5 - rev8)";
index 913b5fc3ba76f07d7f680e32960dbeb1c84bbb73..400f9e18977f7148ff52e66c6766a930aca6c023 100644 (file)
@@ -11,6 +11,7 @@
 #include "sc7180-trogdor-parade-ps8640.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
 #include "sc7180-trogdor-lte-sku.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Lazor Limozeen without Touchscreen (rev9+)";
index d42dcd421146b1a19c2938fe5a490ce30f86b1be..8a24812b9a00b3113fabd15b6d89ace3dec7c78e 100644 (file)
@@ -11,6 +11,8 @@
 #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
 #include "sc7180-trogdor-lte-sku.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
+
 
 / {
        model = "Google Lazor Limozeen (rev4 - rev8)";
index 15d77dc5f956619ff6d6f41634f5f962b8df0315..09a4ff13f07206b57a998921596b2c4cbcf0aff8 100644 (file)
@@ -11,6 +11,7 @@
 #include "sc7180-trogdor-parade-ps8640.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
 #include "sc7180-trogdor-lte-sku.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Lazor Limozeen (rev9+)";
index 80c7108bc51b194f1dce54c0b10301a318a93338..b60060a384267fbb7540240205a1017a3046da86 100644 (file)
@@ -10,6 +10,7 @@
 #include "sc7180-trogdor.dtsi"
 #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Lazor (rev1 - 2)";
index 6ff81c1f7c441cfcda89bfa4aaf191e93fe62a07..3459b81c56283f314e0ebf474eb0355c738c2a7a 100644 (file)
@@ -10,6 +10,7 @@
 #include "sc7180-trogdor.dtsi"
 #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 #include "sc7180-lite.dtsi"
 
 / {
index e58e36e359507ebed8ffcb55ef00bd3134499e1d..ff8f47da109d817ca9f3b6b958f012de09f0364a 100644 (file)
@@ -11,6 +11,7 @@
 #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
 #include "sc7180-trogdor-lte-sku.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Lazor (rev3 - 8) with LTE";
index 76c83f88cb417129b51d053261456d4b06628e35..dd8f6d95655e3fb26949321c444690d2abc872b6 100644 (file)
@@ -10,6 +10,7 @@
 #include "sc7180-trogdor.dtsi"
 #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 #include "sc7180-lite.dtsi"
 
 / {
index 960f7b7ce09442d09c6755480b84096e31b50f69..1c4f0773a242200af555800f22ff123d884c3273 100644 (file)
@@ -10,6 +10,7 @@
 #include "sc7180-trogdor.dtsi"
 #include "sc7180-trogdor-parade-ps8640.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 #include "sc7180-lite.dtsi"
 
 / {
index 38027f13b9d0848a23e7398f6982dd01d4038d0f..ec73943abc4cccf092b4dcd7f49ec5d6447769fc 100644 (file)
@@ -11,6 +11,7 @@
 #include "sc7180-trogdor-parade-ps8640.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
 #include "sc7180-trogdor-lte-sku.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Lazor (rev9+) with LTE";
index 56dd222650d3bbde5b300a5f13486a155223db81..6cedc0ba96538bd7538c50ef6146a0629c7da80b 100644 (file)
@@ -10,6 +10,7 @@
 #include "sc7180-trogdor.dtsi"
 #include "sc7180-trogdor-parade-ps8640.dtsi"
 #include "sc7180-trogdor-lazor.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 #include "sc7180-lite.dtsi"
 
 / {
index 767cb7450c0d81b8d3bc50437ad66c018612a6b9..1c3d9f1381cae9869983315515fceb8cfc4c990f 100644 (file)
@@ -11,6 +11,7 @@
 #include "sc7180-trogdor-parade-ps8640.dtsi"
 #include "sc7180-trogdor-pazquel.dtsi"
 #include "sc7180-trogdor-lte-sku.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Pazquel (Parade,LTE)";
index 9145b74e9009211c1ba71bb60355fbd0648bd7da..bf170471b00c36f4a709d54b3b1dc41cfc5cb9fc 100644 (file)
@@ -11,6 +11,7 @@
 #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
 #include "sc7180-trogdor-pazquel.dtsi"
 #include "sc7180-trogdor-lte-sku.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Pazquel (TI,LTE)";
index 9a0e6632a7864002c8d50f8dc5a6e9f8afcc32d4..60ae129b83c9c4815935cd4f4915da852729a0c3 100644 (file)
@@ -10,6 +10,7 @@
 #include "sc7180-trogdor.dtsi"
 #include "sc7180-trogdor-parade-ps8640.dtsi"
 #include "sc7180-trogdor-pazquel.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Pazquel (Parade)";
index 47c5970d8c220570ac1c1cd34d2781c038e2a529..31678a98ce2c4c00bba2fd71042b795ca9f188a1 100644 (file)
@@ -10,6 +10,7 @@
 #include "sc7180-trogdor.dtsi"
 #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
 #include "sc7180-trogdor-pazquel.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Pazquel (TI)";
index d325bb52ae5f75697c665a31a280db9c84be7dad..0be62331f9825c93431a679e3d4f85af9ec046f1 100644 (file)
@@ -8,6 +8,7 @@
 #include "sc7180-trogdor.dtsi"
 /* Must come after sc7180-trogdor.dtsi to modify cros_ec */
 #include <arm/cros-ec-keyboard.dtsi>
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
 
 / {
index e5d6a7898f8c93a472985c8e6942546cc171f6d1..5f06842c683b5797ab06d34cf5a226169db3b89e 100644 (file)
@@ -8,6 +8,7 @@
 /dts-v1/;
 
 #include "sc7180-trogdor.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 /* This board only has 1 USB Type-C port. */
 /delete-node/ &usb_c1;
index 671b3691f1bb43c9eba133c21f5f73565628a321..c9667751a99072b617e11c5c77b4a9329227c941 100644 (file)
@@ -10,6 +10,7 @@
 #include "sc7180-trogdor.dtsi"
 /* Must come after sc7180-trogdor.dtsi to modify cros_ec */
 #include <arm/cros-ec-keyboard.dtsi>
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
 
 / {
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-rt5682i-sku.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-rt5682i-sku.dtsi
new file mode 100644 (file)
index 0000000..26f2f5d
--- /dev/null
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Google Trogdor dts fragment for SKUs with rt5682i
+ *
+ * Copyright 2023 Google LLC.
+ */
+
+&hp_i2c {
+       alc5682: codec@1a {
+               compatible = "realtek,rt5682i";
+               reg = <0x1a>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&hp_irq>;
+
+               #sound-dai-cells = <1>;
+
+               interrupt-parent = <&tlmm>;
+               /*
+                * This will get ignored because the interrupt type
+                * is set in rt5682.c.
+                */
+               interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
+
+               AVDD-supply = <&pp1800_alc5682>;
+               DBVDD-supply = <&pp1800_alc5682>;
+               LDO1-IN-supply = <&pp1800_alc5682>;
+               MICVDD-supply = <&pp3300_codec>;
+               VBAT-supply = <&pp3300_audio>;
+
+               realtek,dmic1-data-pin = <1>;
+               realtek,dmic1-clk-pin = <1>;
+               realtek,jd-src = <1>;
+       };
+};
+
+&sound {
+       model = "sc7180-rt5682-max98357a-1mic";
+};
index 66b8773309d4a0b07c8e26a19235d3dcde9a2564..ea036a73f875b43f570a2389cd1068db02208e24 100644 (file)
@@ -1,15 +1,36 @@
 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 /*
- * Google Trogdor dts fragment for SKUs with
+ * Google Trogdor dts fragment for SKUs with rt5682s
  *
  * Copyright 2023 Google LLC.
  */
 
-&alc5682 {
-       compatible = "realtek,rt5682s";
-       /delete-property/ VBAT-supply;
-       realtek,dmic1-clk-pin = <2>;
-       realtek,dmic-clk-rate-hz = <2048000>;
+&hp_i2c {
+       alc5682: codec@1a {
+               compatible = "realtek,rt5682s";
+               reg = <0x1a>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&hp_irq>;
+
+               #sound-dai-cells = <1>;
+
+               interrupt-parent = <&tlmm>;
+               /*
+                * This will get ignored because the interrupt type
+                * is set in rt5682.c.
+                */
+               interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
+
+               AVDD-supply = <&pp1800_alc5682>;
+               DBVDD-supply = <&pp1800_alc5682>;
+               LDO1-IN-supply = <&pp1800_alc5682>;
+               MICVDD-supply = <&pp3300_codec>;
+
+               realtek,dmic1-data-pin = <1>;
+               realtek,dmic1-clk-pin = <2>;
+               realtek,dmic-clk-rate-hz = <2048000>;
+               realtek,jd-src = <1>;
+       };
 };
 
 &sound {
index 842f07f16ed16e69cff02839840f8df1016ec51b..116f79c25a5dbd68c26fe34ff93bc3b499f17ce6 100644 (file)
 
 /dts-v1/;
 
-#include "sc7180-trogdor-wormdingler-rev1-boe.dts"
+#include "sc7180-trogdor-wormdingler.dtsi"
 #include "sc7180-trogdor-rt5682s-sku.dtsi"
 
 / {
        model = "Google Wormdingler rev1+ (BOE, rt5682s)";
        compatible = "google,wormdingler-sku1025", "qcom,sc7180";
 };
+
+&mdss_dsi0_phy {
+       qcom,phy-rescode-offset-top = /bits/ 8 <31 31 31 31 (-32)>;
+       qcom,phy-rescode-offset-bot = /bits/ 8 <31 31 31 31 (-32)>;
+       qcom,phy-drive-ldo-level = <450>;
+};
+
+&panel {
+       compatible = "boe,tv110c9m-ll3";
+};
index 6eeead70d3eb3d489768259ea3af4ffdd411570c..72627760e2a4589cb016e28b12566b5837a126df 100644 (file)
@@ -11,6 +11,7 @@
 /dts-v1/;
 
 #include "sc7180-trogdor-wormdingler.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Wormdingler rev1+ BOE panel board";
index 084870323606279bb4390144b5cf5ce19f234cc7..0bf355e08f78ea1afe803d9a39c09b8f405d494e 100644 (file)
 
 /dts-v1/;
 
-#include "sc7180-trogdor-wormdingler-rev1-inx.dts"
+#include "sc7180-trogdor-wormdingler.dtsi"
 #include "sc7180-trogdor-rt5682s-sku.dtsi"
 
 / {
        model = "Google Wormdingler rev1+ (INX, rt5682s)";
        compatible = "google,wormdingler-sku1", "qcom,sc7180";
 };
+
+&panel {
+       compatible = "innolux,hj110iz-01a";
+};
index dd34a2297ea01e389a2ad318f027e0a14beeede7..4b165b826ab331a58a66cd3780ba40d41f209b64 100644 (file)
@@ -11,6 +11,7 @@
 /dts-v1/;
 
 #include "sc7180-trogdor-wormdingler.dtsi"
+#include "sc7180-trogdor-rt5682i-sku.dtsi"
 
 / {
        model = "Google Wormdingler rev1+ INX panel board";
index 5a33e16a8b6776b315762ffe633970eda19b03bb..46aaeba286047a074fe79db418254a2e382591f3 100644 (file)
 
        sound: sound {
                compatible = "google,sc7180-trogdor";
-               model = "sc7180-rt5682-max98357a-1mic";
 
                audio-routing =
                        "Headphone Jack", "HPOL",
@@ -747,32 +746,6 @@ ap_tp_i2c: &i2c7 {
 hp_i2c: &i2c9 {
        status = "okay";
        clock-frequency = <400000>;
-
-       alc5682: codec@1a {
-               compatible = "realtek,rt5682i";
-               reg = <0x1a>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&hp_irq>;
-
-               #sound-dai-cells = <1>;
-
-               interrupt-parent = <&tlmm>;
-               /*
-                * This will get ignored because the interrupt type
-                * is set in rt5682.c.
-                */
-               interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
-
-               AVDD-supply = <&pp1800_alc5682>;
-               DBVDD-supply = <&pp1800_alc5682>;
-               LDO1-IN-supply = <&pp1800_alc5682>;
-               MICVDD-supply = <&pp3300_codec>;
-               VBAT-supply = <&pp3300_audio>;
-
-               realtek,dmic1-data-pin = <1>;
-               realtek,dmic1-clk-pin = <1>;
-               realtek,jd-src = <1>;
-       };
 };
 
 &lpasscc {