platform/kernel/linux-starfive.git
22 months agoarm64: dts: qcom: sc7280: align TLMM pin configuration with DT schema
Krzysztof Kozlowski [Mon, 12 Sep 2022 06:17:45 +0000 (08:17 +0200)]
arm64: dts: qcom: sc7280: align TLMM pin configuration with DT schema

DT schema expects TLMM pin configuration nodes to be named with '-state'
suffix and their optional children with '-pins' suffix.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220912061746.6311-40-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sm8450: align TLMM pin configuration with DT schema
Krzysztof Kozlowski [Mon, 12 Sep 2022 06:17:44 +0000 (08:17 +0200)]
arm64: dts: qcom: sm8450: align TLMM pin configuration with DT schema

DT schema expects TLMM pin configuration nodes to be named with '-state'
suffix and their optional children with '-pins' suffix.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220912061746.6311-39-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sm8350: align TLMM pin configuration with DT schema
Krzysztof Kozlowski [Mon, 12 Sep 2022 06:17:43 +0000 (08:17 +0200)]
arm64: dts: qcom: sm8350: align TLMM pin configuration with DT schema

DT schema expects TLMM pin configuration nodes to be named with '-state'
suffix and their optional children with '-pins' suffix.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220912061746.6311-38-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sm8350-sagami: correct TS pin property
Krzysztof Kozlowski [Mon, 12 Sep 2022 06:17:42 +0000 (08:17 +0200)]
arm64: dts: qcom: sm8350-sagami: correct TS pin property

The pin configuration is selected with "pins", not "pin" property.

Fixes: 1209e9246632 ("arm64: dts: qcom: sm8350-sagami: Enable and populate I2C/SPI nodes")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220912061746.6311-37-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sm6350: align TLMM pin configuration with DT schema
Krzysztof Kozlowski [Mon, 12 Sep 2022 06:17:41 +0000 (08:17 +0200)]
arm64: dts: qcom: sm6350: align TLMM pin configuration with DT schema

DT schema expects TLMM pin configuration nodes to be named with '-state'
suffix and their optional children with '-pins' suffix.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220912061746.6311-36-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sm6125: align TLMM pin configuration with DT schema
Krzysztof Kozlowski [Mon, 12 Sep 2022 06:17:40 +0000 (08:17 +0200)]
arm64: dts: qcom: sm6125: align TLMM pin configuration with DT schema

DT schema expects TLMM pin configuration nodes to be named with '-state'
suffix and their optional children with '-pins' suffix.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220912061746.6311-35-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sc7280: Fix Dmic no sound on villager-r1
Judy Hsiao [Fri, 26 Aug 2022 06:56:21 +0000 (06:56 +0000)]
arm64: dts: qcom: sc7280: Fix Dmic no sound on villager-r1

Fix the DMIC no sound issue of villager-r1 by using "PP1800_L2C" as the
DMIC power source to match the hardware schematic.

This patch:
   1. set vdd-micb-supply to PP1800_L2C as the MIC Bias voltage regulator.
   2. In audio-routing, set VA DMIC01~VA DMIC03 to use the vdd-micb-supply
      setting.

Co-developed-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Signed-off-by: Judy Hsiao <judyhsiao@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220826065621.2255795-1-judyhsiao@chromium.org
22 months agoarm64: dts: qcom: sc7280: Add sound node for CRD 3.0/3.1
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:23:04 +0000 (18:53 +0530)]
arm64: dts: qcom: sc7280: Add sound node for CRD 3.0/3.1

Add dt nodes for sound card support on rev5+ (aka CRD 3.0/3.1) boards,
which is using WCD9385 headset playback, capture, I2S speaker playback
and DMICs via VA macro.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-13-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Add sound node for CRD 1.0/2.0 and IDP boards
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:23:03 +0000 (18:53 +0530)]
arm64: dts: qcom: sc7280: Add sound node for CRD 1.0/2.0 and IDP boards

Add dt nodes for sound card support on revision 3, 4
(aka CRD 1.0 and 2.0) and IDP boards, which is using WCD9385 headset
playback, capture, I2S speaker playback and DMICs via VA macro.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-12-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Enable lpass cpu node for CRD 3.0/3.1
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:23:02 +0000 (18:53 +0530)]
arm64: dts: qcom: sc7280: Enable lpass cpu node for CRD 3.0/3.1

Enable lpass cpu node and add pin control and dai-links for audio on
sc7280 based platforms of rev5+ (aka CRD 3.0/3.1) boards.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-11-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Enable lpass cpu node for CRD 1.0/2.0 and IDP boards.
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:23:01 +0000 (18:53 +0530)]
arm64: dts: qcom: sc7280: Enable lpass cpu node for CRD 1.0/2.0 and IDP boards.

Enable lpass cpu node and add pin control and dai-links for audio on sc7280
based platforms of revision 3, 4 (aka CRD 1.0 and 2.0) and IDP boards.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-10-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Add lpass cpu node
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:23:00 +0000 (18:53 +0530)]
arm64: dts: qcom: sc7280: Add lpass cpu node

Add lpass cpu node for audio on sc7280 based platforms.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-9-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: herobrine: Add max98360a codec node
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:22:59 +0000 (18:52 +0530)]
arm64: dts: qcom: sc7280: herobrine: Add max98360a codec node

Add max98360a codec node for audio use case on all herobrine boards.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-8-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Add max98360a codec for CRD 1.0/2.0 and IDP boards
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:22:58 +0000 (18:52 +0530)]
arm64: dts: qcom: sc7280: Add max98360a codec for CRD 1.0/2.0 and IDP boards

Add max98360a codec node for audio use case on revision 3, 4
(aka CRD 1.0 and 2.0) and IDP boards.
Add amp_en node for max98360a codec pin control.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-7-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Add wcd9385 codec node for CRD 3.0/3.1
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:22:57 +0000 (18:52 +0530)]
arm64: dts: qcom: sc7280: Add wcd9385 codec node for CRD 3.0/3.1

Add wcd9385 codec node for audio use case on CRD rev5+ (aka CRD 3.0/3.1)
boards. Add tlmm gpio property for switching CTIA/OMTP Headset.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-6-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Add wcd9385 codec node for CRD 1.0/2.0 and IDP boards
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:22:56 +0000 (18:52 +0530)]
arm64: dts: qcom: sc7280: Add wcd9385 codec node for CRD 1.0/2.0 and IDP boards

Add wcd9385 codec node for audio use case on sc7280 based platforms
of revision 3, 4 (aka CRD 1.0 and 2.0) and IDP boards.
Add tlmm gpio property for switching CTIA/OMTP Headset.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-5-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Enable digital codecs and soundwire for CRD 3.0/3.1
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:22:55 +0000 (18:52 +0530)]
arm64: dts: qcom: sc7280: Enable digital codecs and soundwire for CRD 3.0/3.1

Enable rx, tx and va macro codecs and soundwire nodes for
CRD rev5+ (aka CRD 3.0/3.1) boards.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-4-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Enable digital codecs and soundwire for CRD 1.0/2.0 and...
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:22:54 +0000 (18:52 +0530)]
arm64: dts: qcom: sc7280: Enable digital codecs and soundwire for CRD 1.0/2.0 and IDP boards

Enable rx, tx and va macro codecs and soundwire nodes on revision 3,
4 (aka CRD 1.0 and 2.0) and IDP boards.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-3-git-send-email-quic_srivasam@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Add nodes for soundwire and va tx rx digital macro codecs
Srinivasa Rao Mandadapu [Thu, 7 Jul 2022 13:22:53 +0000 (18:52 +0530)]
arm64: dts: qcom: sc7280: Add nodes for soundwire and va tx rx digital macro codecs

SC7280 has VA, TX and RX macros with SoundWire Controllers to attach with
external codecs using soundwire masters. Add these nodes for sc7280 based
platforms audio use case.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1657200184-29565-2-git-send-email-quic_srivasam@quicinc.com
22 months agodt-bindings: clock: Add support for external MCLKs for LPASS on SC7280
Taniya Das [Thu, 1 Sep 2022 04:17:25 +0000 (09:47 +0530)]
dt-bindings: clock: Add support for external MCLKs for LPASS on SC7280

Support external mclk to interface external MI2S clocks for SC7280.

Fixes: 4185b27b3bef ("dt-bindings: clock: Add YAML schemas for LPASS clocks on SC7280")
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1662005846-4838-5-git-send-email-quic_c_skakit@quicinc.com
22 months agodt-bindings: clock: Add resets for LPASS audio clock controller for SC7280
Taniya Das [Thu, 1 Sep 2022 04:17:24 +0000 (09:47 +0530)]
dt-bindings: clock: Add resets for LPASS audio clock controller for SC7280

Add support for LPASS audio clock gating for RX/TX/SWA core bus clocks
for SC7280. Update reg property min/max items in YAML schema.

Fixes: 4185b27b3bef ("dt-bindings: clock: Add YAML schemas for LPASS clocks on SC7280")
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1662005846-4838-4-git-send-email-quic_c_skakit@quicinc.com
22 months agodt-bindings: clock: Add "qcom,adsp-pil-mode" property
Taniya Das [Thu, 1 Sep 2022 04:17:22 +0000 (09:47 +0530)]
dt-bindings: clock: Add "qcom,adsp-pil-mode" property

When this property is set, the remoteproc is used to boot the
LPASS and therefore lpass_q6ss_ahbm_clk and lpass_q6ss_ahbs_clk
clocks would be used to bring LPASS out of reset and the rest of
the lpass clocks would be controlled directly by the remoteproc.

This is a cleanup done to handle overlap of regmap of
lpasscc and lpass_aon blocks.

Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
Signed-off-by: Satya Priya <quic_c_skakit@quicinc.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1662005846-4838-2-git-send-email-quic_c_skakit@quicinc.com
22 months agoarm64: dts: qcom: Add LTE SKUs for sc7280-villager family
Jimmy Chen [Tue, 26 Jul 2022 09:45:49 +0000 (17:45 +0800)]
arm64: dts: qcom: Add LTE SKUs for sc7280-villager family

This adds LTE skus for villager device tree files.

Signed-off-by: Jimmy Chen <jinghung.chen3@hotmail.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/SG2PR03MB5006B0C3E57803E3B1E0EDBCCC949@SG2PR03MB5006.apcprd03.prod.outlook.com
22 months agoarm64: dts: qcom: sc7280: Add herobrine-villager-r1
Jimmy Chen [Tue, 26 Jul 2022 09:45:48 +0000 (17:45 +0800)]
arm64: dts: qcom: sc7280: Add herobrine-villager-r1

This adds sc7280-herobrine-villager-r1.dts for villager device tree files.
Herobrine-r1 is exactly the same as -r0 except that it uses a
different audio solution (it uses the same one as the CRD).

Signed-off-by: Jimmy Chen <jinghung.chen3@hotmail.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/SG2PR03MB500667CFE3F5F59585F8BA77CC949@SG2PR03MB5006.apcprd03.prod.outlook.com
22 months agodt-bindings: arm: qcom: document sc7280 and villager board
Jimmy Chen [Tue, 26 Jul 2022 09:45:47 +0000 (17:45 +0800)]
dt-bindings: arm: qcom: document sc7280 and villager board

This adds a LTE skus for Chromebook Villager to the yaml.

Signed-off-by: Jimmy Chen <jinghung.chen3@hotmail.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/SG2PR03MB5006CE1EB9BFD95511133CA6CC949@SG2PR03MB5006.apcprd03.prod.outlook.com
22 months agoarm64: dts: qcom: sa8155p-adp: Remove unused properties from eth node
Bhupesh Sharma [Wed, 7 Sep 2022 20:41:53 +0000 (02:11 +0530)]
arm64: dts: qcom: sa8155p-adp: Remove unused properties from eth node

The 'snps,ptp-ref-clk-rate' and 'snps,ptp-req-clk-rate' properties
are not supported by the stmmac driver currently, so remove
them from the sa8155p-adp ethernet node as well.

Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220907204153.2039776-1-bhupesh.sharma@linaro.org
22 months agoarm64: dts: qcom: sc7280: correct CPU BWMON unit address
Krzysztof Kozlowski [Thu, 8 Sep 2022 08:58:30 +0000 (10:58 +0200)]
arm64: dts: qcom: sc7280: correct CPU BWMON unit address

Correct CPU BWMON unit address to match the "reg" property.

Reported-by: Stephen Boyd <swboyd@chromium.org>
Fixes: b2f3eac1b77c ("arm64: dts: qcom: sc7280: Add cpu and llcc BWMON")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220908085830.39141-1-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: msm8916-samsung-serranove: Add magnetometer
Jakob Hauser [Sun, 4 Sep 2022 21:49:35 +0000 (23:49 +0200)]
arm64: dts: qcom: msm8916-samsung-serranove: Add magnetometer

Add magnetometer Yamaha YAS537 to the DeviceTree of samsung-serranove.

The YAS537 variant was recently added to the Yamaha YAS magnetometers
driver [1].

In the DeviceTree of samsung-serranove for the Android kernel, there is
unfortunately no information on interrupts or pinctrl [2].

In the Android kernel driver for magnetometer Yamaha YAS537, there is a
device-specific matrix to correct an ellipsoid shape of the measure values
into a sphere shape [3]. This could be converted and applied to a mount-matrix.
However, the current state of the mainline Yamaha YAS537 driver needs
post-process calibration in userspace anyway, as it lacks a formula to center
the measure values around zero. The correction of the ellipsoid into a sphere
can be done in the post-process calibration as well.

A mount-matrix is needed nonetheless. When putting samsung-serranove flat on
a table in portrait orientation heading north, the Yamaha YAS537 magnetometer
axes natively point X+ to north, Y+ to east and Z+ into the ground, which
corresponds to a common way to define the Earth's magnetic field coordinate
system [4]. According to the IIO definition, it should be Y+ to north, X+ to
east and Z+ upwards [5], which corresponds to a common device coordinate system
and eases sensor fusing.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/iio/magnetometer/yamaha-yas530.c?id=65f79b501030678393eae0ae03d60a8151fbef55
[2] https://github.com/msm8916-mainline/android_kernel_qcom_msm8916/blob/GT-I9195I/arch/arm/boot/dts/samsung/msm8916/msm8916-sec-serranovelte-eur-r03.dtsi#L318-L321
[3] https://github.com/msm8916-mainline/android_kernel_qcom_msm8916/blob/GT-I9195I/drivers/iio/magnetometer/yas_mag_drv-yas537.c#L105-L106
[4] https://en.wikipedia.org/wiki/Earth%27s_magnetic_field#Characteristics
[5] https://github.com/torvalds/linux/blob/v5.19/Documentation/devicetree/bindings/iio/mount-matrix.txt#L93-L126

Cc: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Jakob Hauser <jahau@rocketmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220904214935.31032-1-jahau@rocketmail.com
22 months agoarm64: dts: qcom: sc8280xp-pmics: Remove reg entry & use correct node name for pmc828...
Bhupesh Sharma [Mon, 5 Sep 2022 07:02:40 +0000 (12:32 +0530)]
arm64: dts: qcom: sc8280xp-pmics: Remove reg entry & use correct node name for pmc8280c_lpg node

Commit eeca7d46217c ("arm64: dts: qcom: pm8350c: Drop PWM reg declaration")
dropped PWM reg declaration for pm8350c pwm(s), but there is a leftover
'reg' entry inside the lpg/pwm node in sc8280xp dts file. Remove the same.

While at it, also remove the unused unit address in the node
label.

Also, since dt-bindings expect LPG/PWM node name to be "pwm",
use correct node name as well, to fix the following
error reported by 'make dtbs_check':

  'lpg' does not match any of the regexes

Fixes: eeca7d46217c ("arm64: dts: qcom: pm8350c: Drop PWM reg declaration")
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Cc: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220905070240.1634997-1-bhupesh.sharma@linaro.org
22 months agoarm64: dts: qcom: sm7225-fairphone-fp4: Add pm7250b PMIC
Luca Weiss [Fri, 2 Sep 2022 11:10:55 +0000 (13:10 +0200)]
arm64: dts: qcom: sm7225-fairphone-fp4: Add pm7250b PMIC

The PM7250B is primarily used for charger and fuel gauge on Fairphone 4
but also has some thermal zones that we can configure already.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220902111055.106814-3-luca.weiss@fairphone.com
22 months agoarm64: dts: qcom: Add pm7250b PMIC
Luca Weiss [Fri, 2 Sep 2022 11:10:54 +0000 (13:10 +0200)]
arm64: dts: qcom: Add pm7250b PMIC

PM7250B is a PMIC primarily used for charging and fuel gauge but also
has some of the standard functionality like temp-alarm, adc, etc.

Add the .dtsi with some of the functionality added.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220902111055.106814-2-luca.weiss@fairphone.com
22 months agoarm64: dts: qcom: fix syscon node names
Johan Hovold [Mon, 5 Sep 2022 09:16:02 +0000 (11:16 +0200)]
arm64: dts: qcom: fix syscon node names

Some recent changes that added new syscon nodes used misspelled node names.

Fixes: 86d7c9460e2c arm64: dts: qcom: sm8150: split TCSR halt regs out of mutex
Fixes: 0da603387225 arm64: dts: qcom: sdm630: split TCSR halt regs out of mutex
Fixes: 8a8531e69b2d arm64: dts: qcom: sdm845: split TCSR halt regs out of mutex
Fixes: d9a2214d6ba5 arm64: dts: qcom: sc7280: split TCSR halt regs out of mutex
Fixes: ce1ac53c7faa arm64: dts: qcom: sc7180: split TCSR halt regs out of mutex
Fixes: fc10cfa38580 arm64: dts: qcom: msm8998: split TCSR halt regs out of mutex
Fixes: 100ce2205924 arm64: dts: qcom: msm8996: split TCSR halt regs out of mutex
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220905091602.20364-1-johan+linaro@kernel.org
22 months agoarm64: dts: qcom: sc8280xp: mark USB controllers as wakeup-sources
Johan Hovold [Fri, 2 Sep 2022 08:16:52 +0000 (10:16 +0200)]
arm64: dts: qcom: sc8280xp: mark USB controllers as wakeup-sources

The primary and secondary USB controllers can be used to wake the system
from suspend so mark them accordingly.

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Tested-by: Steev Klimaszewski <steev@kali.org> #Lenovo Thinkpad X13s
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220902081652.12631-1-johan+linaro@kernel.org
22 months agoarm64: dts: qcom: sc7280: Add device tree for herobrine evoker
Sheng-Liang Pan [Fri, 2 Sep 2022 08:09:11 +0000 (16:09 +0800)]
arm64: dts: qcom: sc7280: Add device tree for herobrine evoker

Add a basic device tree for the herobrine evoker board.

Signed-off-by: Sheng-Liang Pan <sheng-liang.pan@quanta.corp-partner.google.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220902160845.v5.2.I7dd7a79c4cc5fe91c3feb004473feb3b34b7b2d8@changeid
22 months agodt-bindings: arm: qcom: document sc7280 and evoker board
Sheng-Liang Pan [Fri, 2 Sep 2022 08:09:10 +0000 (16:09 +0800)]
dt-bindings: arm: qcom: document sc7280 and evoker board

This adds Chromebook Evoker to the yaml.

Signed-off-by: Sheng-Liang Pan <sheng-liang.pan@quanta.corp-partner.google.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220902160845.v5.1.Ief93544cd0cbfa412092f5de92de10d59a2a5b3a@changeid
22 months agoarm64: dts: qcom: sc7280: Add cpu and llcc BWMON
Rajendra Nayak [Fri, 2 Sep 2022 04:35:11 +0000 (10:05 +0530)]
arm64: dts: qcom: sc7280: Add cpu and llcc BWMON

Add cpu and llcc BWMON nodes and their corresponding
OPP tables for sc7280 SoC.

Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220902043511.17130-5-quic_rjendra@quicinc.com
22 months agoarm64: dts: qcom: sdm845-mtp: correct ADC settle time
Krzysztof Kozlowski [Sun, 28 Aug 2022 08:43:39 +0000 (11:43 +0300)]
arm64: dts: qcom: sdm845-mtp: correct ADC settle time

The PMIC's VADC property for settle time is qcom,hw-settle-time, not
qcom,hw-settle-time-us.  The latter is used in PMIC's TM ADC.

  qcom/sdm845-mtp.dtb: pmic@0: adc@3100:adc-chan@4c: 'qcom,hw-settle-time-us' does not match any of the regexes: 'pinctrl-[0-9]+'

Fixes: d5e12f3823ae ("arm64: dts: qcom: sdm845: mtp: Add vadc channels and thermal zones")
Cc: <stable@vger.kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-13-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sc7280-idp: correct ADC channel node name and unit address
Krzysztof Kozlowski [Sun, 28 Aug 2022 08:43:38 +0000 (11:43 +0300)]
arm64: dts: qcom: sc7280-idp: correct ADC channel node name and unit address

Correct SPMI PMIC VADC channel node name:
1. Use hyphens instead of underscores,
2. Add missing unit address.

This fixes `make dtbs_check` warnings like:

  qcom/sc7280-idp.dtb: pmic@0: adc@3100: 'pmk8350_die_temp', 'pmr735a_die_temp' do not match any of the regexes: '^.*@[0-9a-f]+$', 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-12-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: align PMIC GPIO pin configuration with DT schema
Krzysztof Kozlowski [Sun, 28 Aug 2022 08:43:37 +0000 (11:43 +0300)]
arm64: dts: qcom: align PMIC GPIO pin configuration with DT schema

DT schema expects PMIC GPIO pin configuration nodes to be named with
'-state' suffix:

  qcom/sc7280-herobrine-crd.dtb: pmic@2: gpio@8800: 'edp-bl-reg-en' does not match any of the regexes: '-state$', 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-11-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: align SPMI PMIC Power-on node name with dtschema
Krzysztof Kozlowski [Sun, 28 Aug 2022 08:43:36 +0000 (11:43 +0300)]
arm64: dts: qcom: align SPMI PMIC Power-on node name with dtschema

Bindings expect Power-on node name to be "pon":

  'power-on@800' do not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-10-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: align SPMI PMIC LPG node name with dtschema
Krzysztof Kozlowski [Sun, 28 Aug 2022 08:43:35 +0000 (11:43 +0300)]
arm64: dts: qcom: align SPMI PMIC LPG node name with dtschema

Bindings expect LPG/PWM node name to be "pwm":

  pmic@5: 'lpg' does not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-9-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: align SPMI PMIC regulators node name with dtschema
Krzysztof Kozlowski [Sun, 28 Aug 2022 08:43:34 +0000 (11:43 +0300)]
arm64: dts: qcom: align SPMI PMIC regulators node name with dtschema

Bindings expect regulators node name to be "regulators":

  qcom/sdm630-sony-xperia-nile-voyager.dtb: pmic@3: 'pm660l-regulators' does not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-8-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: align SPMI PMIC ADC node name with dtschema
Krzysztof Kozlowski [Sun, 28 Aug 2022 08:43:33 +0000 (11:43 +0300)]
arm64: dts: qcom: align SPMI PMIC ADC node name with dtschema

Bindings expect VADC node name to be "adc":

  pmic@0: 'vadc@3100' does not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-7-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: pmk8350: drop interrupt-names from ADC
Krzysztof Kozlowski [Sun, 28 Aug 2022 08:43:32 +0000 (11:43 +0300)]
arm64: dts: qcom: pmk8350: drop interrupt-names from ADC

The SPMI PMIC VADC and Thermal Monitoring ADC have only one interrupt
line and their bindings do not allow interrupt-names.  None of other
variants use them, so drop it from DTSI.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-6-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: pmk8350: drop incorrect io-channel-ranges
Krzysztof Kozlowski [Sun, 28 Aug 2022 08:43:31 +0000 (11:43 +0300)]
arm64: dts: qcom: pmk8350: drop incorrect io-channel-ranges

Since commit 044b32fa5229 ("dt-bindings:iio:qcom-spmi-vadc drop
incorrect io-channel-ranges from example") the io-channel-ranges are not
allowed in the Qualcomm SPMI PMIC ADC and anyway they are not correct
for IIO provider.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-5-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sc7280: Update gpu opp table
Akhil P Oommen [Sun, 28 Aug 2022 19:40:55 +0000 (01:10 +0530)]
arm64: dts: qcom: sc7280: Update gpu opp table

On the lite sku where GPU Fmax is 550Mhz, voting for a slightly higher
bandwidth at the highest gpu opp helps to improve "Manhattan offscreen"
score by 10%. Update the gpu opp table such that this is applicable only
on SKUs which has 550Mhz as GPU Fmax.

Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220829011035.1.Ie3564662150e038571b7e2779cac7229191cf3bf@changeid
22 months agoarm64: dts: qcom: sc7280-qcard: Add alias 'wifi0'
Matthias Kaehlcke [Mon, 29 Aug 2022 16:44:38 +0000 (09:44 -0700)]
arm64: dts: qcom: sc7280-qcard: Add alias 'wifi0'

Add the alias 'wifi0' for the WiFi interface on the Qcard. The alias
is needed by the BIOS which patches the WiFi MAC address read from
the VPD (Vital Product Data) into the device tree.

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220829094435.1.I4534cf408373478dd6e84dc8b9ddd0d4e1a3f143@changeid
22 months agoarm64: dts: qcom: sm8250: move DSI opp table to the dsi0 node
Dmitry Baryshkov [Mon, 22 Aug 2022 19:11:38 +0000 (22:11 +0300)]
arm64: dts: qcom: sm8250: move DSI opp table to the dsi0 node

It makes no sense to have the OPP table for the DSI controllers in the
DSI1 PHY node. Move it to more logical dsi0 device node.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Caleb Connolly <caleb@connolly.tech>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220822191138.316912-1-dmitry.baryshkov@linaro.org
22 months agoarm64: dts: qcom: sm8450: add Inline Crypto Engine registers and clock
Eric Biggers [Fri, 26 Aug 2022 07:12:44 +0000 (00:12 -0700)]
arm64: dts: qcom: sm8450: add Inline Crypto Engine registers and clock

Add the registers and clock for the Inline Crypto Engine (ICE) to the
device tree node for the UFS host controller on sm8450.  This makes
ufs_qcom support inline encryption when CONFIG_SCSI_UFS_CRYPTO=y.

The address and size of the register range, and the minimum and maximum
frequency of the ICE core clock, all match the values used downstream.

I've validated this on an SM8450 HDK using the 'encrypt' group of
xfstests on ext4 with MOUNT_OPTIONS="-o inlinecrypt".

Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220826071244.185584-1-ebiggers@kernel.org
22 months agoarm64: dts: qcom: sc7280-herobrine: Don't enable the USB 2.0 port
Matthias Kaehlcke [Fri, 26 Aug 2022 15:48:27 +0000 (08:48 -0700)]
arm64: dts: qcom: sc7280-herobrine: Don't enable the USB 2.0 port

The USB 2.0 port of sc7280 is currently not used by any herobrine
board. Delete the device tree entries that enable it.

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220826084813.1.I8c9a771fcf4d1cfb6e8e0ef17a153143af9a644d@changeid
22 months agoarm64: dts: qcom: sc7180-trogdor: Keep pm6150_adc enabled for TZ
Stephen Boyd [Sat, 27 Aug 2022 00:49:00 +0000 (17:49 -0700)]
arm64: dts: qcom: sc7180-trogdor: Keep pm6150_adc enabled for TZ

There's still a thermal zone using pm6150_adc in the pm6150.dtsi file,
pm6150_thermal. It's not super obvious because it indirectly uses the
adc through an iio channel in pm6150_temp. Let's keep this enabled on
lazor and coachz so that reading the temperature of the pm6150_thermal
zone continues to work. Otherwise we get -EINVAL when reading the zone,
and I suspect the PMIC temperature trip doesn't work properly so we
don't shutdown when the PMIC overheats.

Cc: Matthias Kaehlcke <mka@chromium.org>
Fixes: b8d1e3d33487 ("arm64: dts: qcom: sc7180-trogdor: Delete ADC config for unused thermistors")
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220827004901.511543-1-swboyd@chromium.org
22 months agoarm64: dts: qcom: pm8350c: Drop PWM reg declaration
Bryan O'Donoghue [Sun, 28 Aug 2022 13:26:48 +0000 (14:26 +0100)]
arm64: dts: qcom: pm8350c: Drop PWM reg declaration

The PWM is a part of the SPMI PMIC block and maps several different
addresses within the SPMI block. It is not accurate to describe as pwm@reg
as a result.

Fixes: 5be66d2dc887 ("arm64: dts: qcom: pm8350c: Add pwm support")
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220828132648.3624126-3-bryan.odonoghue@linaro.org
22 months agoarm64: dts: qcom: sc7280: Add support for zoglin
Bob Moragues [Thu, 28 Jul 2022 21:33:21 +0000 (14:33 -0700)]
arm64: dts: qcom: sc7280: Add support for zoglin

Zoglin is a Hoglin Chromebook with SPI Flash reduced from 64MB to 8MB.
Zoglin is identical to Hoglin except for the SPI Flash.
The actual SPI Flash is dynamically probed at and not specified in DTS.

Signed-off-by: Bob Moragues <moragues@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220728143215.v3.2.I7d57fb9c4806a8b3fe3501c766b64f4987c271ef@changeid
22 months agodt-bindings: arm: qcom: document zoglin board
Bob Moragues [Thu, 28 Jul 2022 21:33:20 +0000 (14:33 -0700)]
dt-bindings: arm: qcom: document zoglin board

Zoglin is a Hoglin Chromebook with SPI Flash reduced from 64MB to 8MB.
Zoglin is identical to Hoglin except for the SPI Flash.
The actual SPI Flash is dynamically probed at and not specified in DTS.

Reviewed-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bob Moragues <moragues@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220728143215.v3.1.I5b9006878bdabd6493b866b46dbd6149968d545b@changeid
22 months agoarm64: dts: qcom: msm8996-xiaomi-*: Add LEDs
Yassine Oudjana [Thu, 28 Jul 2022 18:01:20 +0000 (19:01 +0100)]
arm64: dts: qcom: msm8996-xiaomi-*: Add LEDs

Add LEDs found on the Xiaomi MSM8996 devices. The devices share
a status RGB LED mounted on the front, as well as a PWM-driven
IR LED for remote control (sometimes known as an IR blaster).
The Mi Note 2 has an additional pair of white LEDs used as backlights
for the touchkeys driven by the PM8994 LPG block.

Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220728180120.97968-1-y.oudjana@protonmail.com
22 months agoarm64: dts: qcom: use GPIO flags for tlmm
Krzysztof Kozlowski [Tue, 2 Aug 2022 15:39:45 +0000 (17:39 +0200)]
arm64: dts: qcom: use GPIO flags for tlmm

Use respective GPIO_ACTIVE_LOW/HIGH flags for tlmm GPIOs.  Include
gpio.h header if this is first usage of that flag.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220802153947.44457-4-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sdm845-db845c: drop gpios from CCI I2C sensors
Krzysztof Kozlowski [Tue, 2 Aug 2022 15:39:44 +0000 (17:39 +0200)]
arm64: dts: qcom: sdm845-db845c: drop gpios from CCI I2C sensors

The OV7251 and OV8856 camera sensor bindings do not allow
property "gpios" and Linux driver does not parse it.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Robert Foss <robert.foss@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220802153947.44457-3-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sdm845-db845c: drop power-domains from CCI I2C sensors
Krzysztof Kozlowski [Tue, 2 Aug 2022 15:39:43 +0000 (17:39 +0200)]
arm64: dts: qcom: sdm845-db845c: drop power-domains from CCI I2C sensors

The Camera Control Interface I2C controller device node belongs to
TITAN_TOP_GDSC power domain, so its children do not need to specify it
again.  The OV7251 and OV8856 camera sensor bindings do not allow
power-domains.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220802153947.44457-2-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sa8295p-adp: disallow regulator mode switches
Johan Hovold [Wed, 3 Aug 2022 12:19:42 +0000 (14:19 +0200)]
arm64: dts: qcom: sa8295p-adp: disallow regulator mode switches

Do not allow the RPMh regulators to switch to low-power mode with an
exception for the UFS regulators (l3c, l6c, l10c and l17c) as UFS
supports an idle mode.

This specifically avoids having regulators be but in low-power mode when
only some consumers specify loads while the actual total load really
warrants high-power mode.

Fixes: 519183af39b2 ("arm64: dts: qcom: add SA8540P and ADP")
Link: https://lore.kernel.org/all/YtkrDcjTGhpaU1e0@hovoldconsulting.com
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220803121942.30236-4-johan+linaro@kernel.org
22 months agoarm64: dts: qcom: sc8280xp-lenovo-thinkpad-x13s: disallow regulator mode switches
Johan Hovold [Wed, 3 Aug 2022 12:19:41 +0000 (14:19 +0200)]
arm64: dts: qcom: sc8280xp-lenovo-thinkpad-x13s: disallow regulator mode switches

Do not allow the RPMh regulators to switch to low-power mode.

This specifically avoids having regulators be but in low-power mode when
only some consumers specify loads while the actual total load really
warrants high-power mode.

Fixes: 32c231385ed4 ("arm64: dts: qcom: sc8280xp: add Lenovo Thinkpad X13s devicetree")
Link: https://lore.kernel.org/all/YtkrDcjTGhpaU1e0@hovoldconsulting.com
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220803121942.30236-3-johan+linaro@kernel.org
22 months agoarm64: dts: qcom: sc8280xp-crd: disallow regulator mode switches
Johan Hovold [Wed, 3 Aug 2022 12:19:40 +0000 (14:19 +0200)]
arm64: dts: qcom: sc8280xp-crd: disallow regulator mode switches

Do not allow the RPMh regulators to switch to low-power mode with an
exception for the UFS regulators (l7c and l3d) as UFS supports an idle
mode.

This specifically avoids having regulators be but in low-power mode when
only some consumers specify loads while the actual total load really
warrants high-power mode.

Fixes: ccd3517faf18 ("arm64: dts: qcom: sc8280xp: Add reference device")
Link: https://lore.kernel.org/all/YtkrDcjTGhpaU1e0@hovoldconsulting.com
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220803121942.30236-2-johan+linaro@kernel.org
22 months agoarm64: dts: qcom: sc7280: Update lpasscore node
Satya Priya [Wed, 10 Aug 2022 05:05:09 +0000 (10:35 +0530)]
arm64: dts: qcom: sc7280: Update lpasscore node

To maintain consistency with other lpass nodes(lpass_audiocc,
lpass_aon and lpass_hm), update lpasscore to lpass_core.

Fixes: 9499240d15f2 ("arm64: dts: qcom: sc7280: Add lpasscore & lpassaudio clock controllers")
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
Signed-off-by: Satya Priya <quic_c_skakit@quicinc.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1660107909-27947-4-git-send-email-quic_c_skakit@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Update lpassaudio clock controller for resets
Taniya Das [Wed, 10 Aug 2022 05:05:08 +0000 (10:35 +0530)]
arm64: dts: qcom: sc7280: Update lpassaudio clock controller for resets

The lpass audio supports TX/RX/WSA block resets.

Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
Signed-off-by: Satya Priya <quic_c_skakit@quicinc.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1660107909-27947-3-git-send-email-quic_c_skakit@quicinc.com
22 months agoarm64: dts: qcom: sc7280: Cleanup the lpasscc node
Satya Priya [Wed, 10 Aug 2022 05:05:07 +0000 (10:35 +0530)]
arm64: dts: qcom: sc7280: Cleanup the lpasscc node

Remove "cc" regmap from lpasscc node which is overlapping
with the lpass_aon regmap.

Fixes: 422a295221bb ("arm64: dts: qcom: sc7280: Add clock controller nodes")
Signed-off-by: Satya Priya <quic_c_skakit@quicinc.com>
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1660107909-27947-2-git-send-email-quic_c_skakit@quicinc.com
22 months agoarm64: dts: qcom: sm6350: Add GPI DMA nodes
Luca Weiss [Fri, 12 Aug 2022 08:27:21 +0000 (10:27 +0200)]
arm64: dts: qcom: sm6350: Add GPI DMA nodes

Add nodes for the gpi_dma0 and gpi_dma1 which are (optionally) used for
various i2c busses based on the qup firmware configuration.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220812082721.1125759-4-luca.weiss@fairphone.com
22 months agoarm64: dts: qcom: sdm845: Add the RPMh stats node
Abel Vesa [Fri, 12 Aug 2022 10:12:39 +0000 (13:12 +0300)]
arm64: dts: qcom: sdm845: Add the RPMh stats node

SDM845 is a special case compared to the other platforms that use RPMh
stats, since it only has 2 stats (aosd and cxsd), while the others have
a 3rd one (ddr).

So lets add the node but with a SDM845 dedicated compatible to make
the driver aware of the different stats config.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Tested-by: Caleb Connolly <caleb.connolly@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220812101240.1869605-3-abel.vesa@linaro.org
22 months agoarm64: dts: qcom: sdm845: Reduce reg size for aoss_qmp
Abel Vesa [Fri, 12 Aug 2022 10:12:37 +0000 (13:12 +0300)]
arm64: dts: qcom: sdm845: Reduce reg size for aoss_qmp

Like on the other platforms that provide RPMh stats, on SDM845, the
aoss_qmp reg size needs to be reduced to its actual size of 0x400,
otherwise it will overlap with the RPMh stats reg base, node that will
be added later on.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220812101240.1869605-1-abel.vesa@linaro.org
22 months agoarm64: dts: qcom: pm6150l: add missing adc channels
Luca Weiss [Fri, 12 Aug 2022 11:46:15 +0000 (13:46 +0200)]
arm64: dts: qcom: pm6150l: add missing adc channels

Add the missing adc channels and add pre-scaling property to die_temp
channel, as per downstream dts.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220812114614.1195679-1-luca.weiss@fairphone.com
22 months agoarm64: dts: qcom: sm8150: switch TCSR mutex to MMIO
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:32:09 +0000 (11:32 +0300)]
arm64: dts: qcom: sm8150: switch TCSR mutex to MMIO

The TCSR mutex bindings allow device to be described only with address
space (so it uses MMIO, not syscon regmap).  This seems reasonable as
TCSR mutex is actually a dedicated IO address space and it also fixes DT
schema checks:

  qcom/sm8150-mtp.dtb: hwlock: 'reg' is a required property
  qcom/sm8150-mtp.dtb: hwlock: 'syscon' does not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-17-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sm8150: split TCSR halt regs out of mutex
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:32:08 +0000 (11:32 +0300)]
arm64: dts: qcom: sm8150: split TCSR halt regs out of mutex

The TCSR halt regs are next to TCSR mutex (in one address block called
TCSR_MUTEX), so before converting the TCSR mutex into device with
address space, we need to split the halt regs to its own syscon device.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-16-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sdm630: switch TCSR mutex to MMIO
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:32:07 +0000 (11:32 +0300)]
arm64: dts: qcom: sdm630: switch TCSR mutex to MMIO

The TCSR mutex bindings allow device to be described only with address
space (so it uses MMIO, not syscon regmap).  This seems reasonable as
TCSR mutex is actually a dedicated IO address space and it also fixes DT
schema checks:

  qcom/sdm636-sony-xperia-ganges-mermaid.dtb: hwlock: 'reg' is a required property
  qcom/sdm636-sony-xperia-ganges-mermaid.dtb: hwlock: 'syscon' does not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-15-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sdm630: split TCSR halt regs out of mutex
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:32:06 +0000 (11:32 +0300)]
arm64: dts: qcom: sdm630: split TCSR halt regs out of mutex

The TCSR halt regs are next to TCSR mutex (in one address block called
TCSR_MUTEX), so before converting the TCSR mutex into device with
address space, we need to split the halt regs to its own syscon device.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-14-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: qcs404: switch TCSR mutex to MMIO
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:32:05 +0000 (11:32 +0300)]
arm64: dts: qcom: qcs404: switch TCSR mutex to MMIO

The TCSR mutex bindings allow device to be described only with address
space (so it uses MMIO, not syscon regmap).  This seems reasonable as
TCSR mutex is actually a dedicated IO address space and it also fixes DT
schema checks:

  qcom/qcs404-evb-4000.dtb: hwlock: 'reg' is a required property
  qcom/qcs404-evb-4000.dtb: hwlock: 'syscon' does not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-13-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sdm845: switch TCSR mutex to MMIO
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:32:04 +0000 (11:32 +0300)]
arm64: dts: qcom: sdm845: switch TCSR mutex to MMIO

The TCSR mutex bindings allow device to be described only with address
space (so it uses MMIO, not syscon regmap).  This seems reasonable as
TCSR mutex is actually a dedicated IO address space and it also fixes DT
schema checks:

  qcom/sdm845-shift-axolotl.dtb: hwlock: 'reg' is a required property
  qcom/sdm845-shift-axolotl.dtb: hwlock: 'syscon' does not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-12-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sdm845: split TCSR halt regs out of mutex
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:32:03 +0000 (11:32 +0300)]
arm64: dts: qcom: sdm845: split TCSR halt regs out of mutex

The TCSR halt regs are next to TCSR mutex (in one address block called
TCSR_MUTEX), so before converting the TCSR mutex into device with
address space, we need to split the halt regs to its own syscon device.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-11-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sc7280: split TCSR halt regs out of mutex
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:32:02 +0000 (11:32 +0300)]
arm64: dts: qcom: sc7280: split TCSR halt regs out of mutex

The TCSR halt regs are next to TCSR mutex (in one address block called
TCSR_MUTEX), so before converting the TCSR mutex into device with
address space, we need to split the halt regs to its own syscon device.
This also describes more accurately the devices and their IO address
space, and allows to remove incorrect syscon compatible from TCSR mutex:

  qcom/sc7280-herobrine-crd.dtb: hwlock@1f40000: compatible: ['qcom,tcsr-mutex', 'syscon'] is too long

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-10-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sc7180: switch TCSR mutex to MMIO
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:32:01 +0000 (11:32 +0300)]
arm64: dts: qcom: sc7180: switch TCSR mutex to MMIO

The TCSR mutex bindings allow device to be described only with address
space (so it uses MMIO, not syscon regmap).  This seems reasonable as
TCSR mutex is actually a dedicated IO address space and it also fixes DT
schema checks:

  qcom/sc7180-trogdor-wormdingler-rev1-inx.dtb: hwlock: 'reg' is a required property
  qcom/sc7180-trogdor-wormdingler-rev1-inx.dtb: hwlock: 'syscon' does not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-9-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sc7180: split TCSR halt regs out of mutex
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:32:00 +0000 (11:32 +0300)]
arm64: dts: qcom: sc7180: split TCSR halt regs out of mutex

The TCSR halt regs are next to TCSR mutex (in one address block called
TCSR_MUTEX), so before converting the TCSR mutex into device with
address space, we need to split the halt regs to its own syscon device.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-8-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sc7180: add missing TCSR syscon compatible
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:31:59 +0000 (11:31 +0300)]
arm64: dts: qcom: sc7180: add missing TCSR syscon compatible

TCSR syscon node should come with dedicated compatible.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-7-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: msm8998: switch TCSR mutex to MMIO
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:31:58 +0000 (11:31 +0300)]
arm64: dts: qcom: msm8998: switch TCSR mutex to MMIO

The TCSR mutex bindings allow device to be described only with address
space (so it uses MMIO, not syscon regmap).  This seems reasonable as
TCSR mutex is actually a dedicated IO address space and it also fixes DT
schema checks:

  qcom/msm8998-asus-novago-tp370ql.dtb: hwlock: 'reg' is a required property
  qcom/msm8998-asus-novago-tp370ql.dtb: hwlock: 'syscon' does not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-6-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: msm8998: split TCSR halt regs out of mutex
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:31:57 +0000 (11:31 +0300)]
arm64: dts: qcom: msm8998: split TCSR halt regs out of mutex

The TCSR halt regs are next to TCSR mutex (in one address block called
TCSR_MUTEX), so before converting the TCSR mutex into device with
address space, we need to split the halt regs to its own syscon device.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-5-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: msm8996: switch TCSR mutex to MMIO
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:31:56 +0000 (11:31 +0300)]
arm64: dts: qcom: msm8996: switch TCSR mutex to MMIO

The TCSR mutex bindings allow device to be described only with address
space (so it uses MMIO, not syscon regmap).  This seems reasonable as
TCSR mutex is actually a dedicated IO address space and it also fixes DT
schema checks:

  qcom/msm8996-xiaomi-natrium.dtb: hwlock: 'reg' is a required property
  qcom/msm8996-xiaomi-natrium.dtb: hwlock: 'syscon' does not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-4-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: msm8996: split TCSR halt regs out of mutex
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:31:55 +0000 (11:31 +0300)]
arm64: dts: qcom: msm8996: split TCSR halt regs out of mutex

The TCSR halt regs are next to TCSR mutex (in one address block called
TCSR_MUTEX), so before converting the TCSR mutex into device with
address space, we need to split the halt regs to its own syscon device.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-3-krzysztof.kozlowski@linaro.org
22 months agodt-bindings: mfd: qcom,tcsr: add several devices
Krzysztof Kozlowski [Fri, 19 Aug 2022 08:31:54 +0000 (11:31 +0300)]
dt-bindings: mfd: qcom,tcsr: add several devices

Document existing (MSM8996, SC7280) and new compatibles for TCSR syscon
registers (QCS404, SC7180, SDM630, SDM845, SM8150, MSM8998).

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-2-krzysztof.kozlowski@linaro.org
22 months agoarm64: dts: qcom: sdm845-xiaomi-polaris: Fix sde_dsi_active pinctrl
Geert Uytterhoeven [Fri, 19 Aug 2022 10:14:23 +0000 (12:14 +0200)]
arm64: dts: qcom: sdm845-xiaomi-polaris: Fix sde_dsi_active pinctrl

"make dtbs_check" says:

    bias-disable: boolean property with value b'\x00\x00\x00\x00'

Fix this by dropping the offending value.

Fixes: be497abe19bf08fb ("arm64: dts: qcom: Add support for Xiaomi Mi Mix2s")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Caleb Connolly <caleb@connolly.tech>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/629afd26008c2b1ba5822799ea7ea5b5271895e8.1660903997.git.geert+renesas@glider.be
23 months agoarm64: dts: qcom: msm8916-samsung-a2015: Rename touchscreen analog regulator
Lin, Meng-Bo [Sun, 24 Jul 2022 09:55:44 +0000 (09:55 +0000)]
arm64: dts: qcom: msm8916-samsung-a2015: Rename touchscreen analog regulator

reg_vdd_tsp: regulator-vdd-tsp is actually used as an analog regulator for
touchscreen on all of a2015 and e2015 devices.
Rename it into reg_vdd_tsp_a: regulator-vdd-tsp-a to reduce confusion.

Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220724095438.14252-1-linmengbo0689@protonmail.com
23 months agoarm64: dts: qcom: msm8916-samsung-e2015: Add touchkey
Lin, Meng-Bo [Sun, 24 Jul 2022 09:55:43 +0000 (09:55 +0000)]
arm64: dts: qcom: msm8916-samsung-e2015: Add touchkey

On the Samsung Galaxy E5 and E7 the touch key is supplied by a single
fixed regulator (enabled via GPIO 97) that supplies both MCU and LED.
Add it to the device tree.

Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220724095426.14189-1-linmengbo0689@protonmail.com
23 months agoARM: dts: qcom-msm8916-samsung-e2015: Include dts from arm64
Lin, Meng-Bo [Sun, 24 Jul 2022 09:55:37 +0000 (09:55 +0000)]
ARM: dts: qcom-msm8916-samsung-e2015: Include dts from arm64

After adding all necessary support for MSM8916 SMP/cpuidle without PSCI
on ARM32, build the Samsung Galaxy E5/E7/Grand Max device trees from the
arm64 tree together with the ARM32 include to allow booting this device on
ARM32.

The approach to include device tree files from other architectures is
inspired from e.g. the Raspberry Pi (bcm2711-rpi-4-b.dts) where this is
used to build the device tree for both ARM32 and ARM64.

Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220724095413.14135-1-linmengbo0689@protonmail.com
23 months agoarm64: dts: qcom: msm8916-samsung-e2015: Add initial common dtsi
Lin, Meng-Bo [Sun, 24 Jul 2022 09:55:31 +0000 (09:55 +0000)]
arm64: dts: qcom: msm8916-samsung-e2015: Add initial common dtsi

Samsung Galaxy E5, E7 and Grand Max are smartphones using the MSM8916 SoC
released in 2015.

e2015 and a2015 are similar, with some differences in accelerometer,
MUIC and Vibrator. The common parts are shared in
msm8916-samsung-a2015-common.dtsi to reduce duplication.

Add a common device tree for with initial support for:

- GPIO keys
- GPIO LEDs for Grand Max
- Regulator haptic
- Hall sensor (except Grand Max)
- SDHCI (internal and external storage)
- USB Device Mode
- UART (on USB connector via the SM5504 MUIC)
- WCNSS (WiFi/BT)
- Regulators
- S3FWRN5 NFC (except Grand Max)

The three devices (and all other variants of E5/E7/Grand Max released in
2015) are very similar, with some differences in display, touchscreen,
sensors and NFC. The common parts are shared in
msm8916-samsung-e2015-common.dtsi to reduce duplication.

Unfortunately, some E5/E7/Grand Max were released with outdated 32-bit
only firmware and never received any update from Samsung. Since the 32-bit
TrustZone firmware is signed there seems to be no way currently to
actually boot this device tree on arm64 Linux on those variants at the
moment.

However, it is possible to use this device tree by compiling an ARM32
kernel instead. The device tree can be easily built on ARM32 with
an #include and it works really well there. To avoid confusion for others
it is still better to add this device tree on arm64. Otherwise it's easy
to forget to update this one when making some changes that affect all
MSM8916 devices.

Maybe someone finds a way to boot ARM64 Linux on those device at some
point. In this case I expect that this device tree can be simply used
as-is.

Co-developed-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220724095400.14081-1-linmengbo0689@protonmail.com
23 months agodt-bindings: qcom: Document bindings for new msm8916-samsung-e2015 devices
Lin, Meng-Bo [Sun, 24 Jul 2022 09:55:31 +0000 (09:55 +0000)]
dt-bindings: qcom: Document bindings for new msm8916-samsung-e2015 devices

Document the new samsung,e5/e7/grandmax device tree bindings used in their
device trees.

Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220724095346.14022-1-linmengbo0689@protonmail.com
23 months agodt-bindings: arm: qcom: Document additional sku6 for sc7180 pazquel
Yunlong Jia [Thu, 21 Jul 2022 03:58:43 +0000 (03:58 +0000)]
dt-bindings: arm: qcom: Document additional sku6 for sc7180 pazquel

The difference between sku6 and sku4 is that there is no esim

 The different SKUs are:

   LTE with physical SIM _and_ eSIM
   LTE with only a physical SIM
   WiFi only
 Both sku4 and sku6 are LTE SKUs.
 One has the eSIM stuffed and one doesn't.
 There is a single shared device tree for the two.

Signed-off-by: Yunlong Jia <yunlong.jia@ecs.corp-partner.google.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220721033918.v3.2.I7ecbb7eeb58c5e6a33e32a3abf4d6874e6cb725c@changeid
23 months agoarm64: dts: qcom: Add SKU6 for sc7180-trogdor-pazquel-lte-parade
Yunlong Jia [Thu, 21 Jul 2022 03:58:42 +0000 (03:58 +0000)]
arm64: dts: qcom: Add SKU6 for sc7180-trogdor-pazquel-lte-parade

SKU6 is LTE(w/o eSIM)+WIFI+Parade

Signed-off-by: Yunlong Jia <yunlong.jia@ecs.corp-partner.google.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220721033918.v3.1.I10519ca1bf88233702a90e296088808d18cdc7b1@changeid
23 months agoarm64: dts: qcom: Add device tree for Sony Xperia 1 IV
Konrad Dybcio [Thu, 14 Jul 2022 12:34:06 +0000 (14:34 +0200)]
arm64: dts: qcom: Add device tree for Sony Xperia 1 IV

Add support for Sony Xperia 1 IV, a.k.a PDX223. This device is a part
of the SoMC SM8450 Nagara platform and currently it is the only
device based on that board, so no -common DTSI is created until (if?)
other Nagara devices appear.

This commit brings support for:
* SD Card
* USB (*including SuperSpeed*)
* ADSP/CDSP/SLPI (modem remains untested for now)
* Most regulators (some GPIO-enabled ones require PMIC GPIOs but
trying to access any SPMI device crashes the device..)
* Part of I2C-connected peripherals (notably no touch due to a
driver bug)
* PCIe0 (PCIe1 is unused)

Do note display via simplefb is not supported, as the display is blanked
upon exiting XBL.

To create a working boot image, you need to run:
cat arch/arm64/boot/Image.gz arch/arm64/boot/dts/qcom/sm8450-sony-xperia-\
nagara-pdx223.dtb > .Image.gz-dtb

mkbootimg \
--kernel .Image.gz-dtb \
--ramdisk some_initrd.img \
--pagesize 4096 \
--base 0x0 \
--kernel_offset 0x8000 \
--ramdisk_offset 0x1000000 \
--tags_offset 0x100 \
--cmdline "SOME_CMDLINE" \
--dtb_offset 0x1f00000 \
--header_version 1 \
--os_version 12 \
--os_patch_level 2022-06 \ # or newer
-o boot.img-sony-xperia-pdx223

Then, you need to flash it on the device and get rid of all the
vendor_boot/dtbo mess:

// You have to either pull vbmeta{"","_system"} from
// /dev/block/bootdevice/by-name/ or build one as a part of AOSP build process
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_system \
vbmeta_system.img

fastboot flash boot boot.img-sony-xperia-pdx223
fastboot erase vendor_boot
fastboot erase recovery
fastboot flash dtbo emptydtbo.img
fastboot reboot

Where emptydtbo.img is a tiny file that consists of 2 bytes (all zeroes), doing
a "fastboot erase" won't cut it, the bootloader will go crazy and things will
fall apart when it tries to overlay random bytes from an empty partition onto a
perfectly good appended DTB.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220714123406.1919836-5-konrad.dybcio@somainline.org
23 months agoarm64: dts: qcom: sm8450: Add SDHCI2
Konrad Dybcio [Thu, 14 Jul 2022 12:34:05 +0000 (14:34 +0200)]
arm64: dts: qcom: sm8450: Add SDHCI2

Add and configure the SDHCI host responsible for (mostly) SD Card and
its corresponding pins' sleep states.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220714123406.1919836-4-konrad.dybcio@somainline.org
23 months agoarm64: dts: qcom: sm8450: Adjust memory map
Konrad Dybcio [Thu, 14 Jul 2022 12:34:04 +0000 (14:34 +0200)]
arm64: dts: qcom: sm8450: Adjust memory map

Fix up the camera region (cross-referenced different vendors' msm-5.10
drops, 9f500000 is the default location for SM8450) and reserve the
second chunk occupied by xbl_sc.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220714123406.1919836-3-konrad.dybcio@somainline.org
23 months agodt-bindings: arm: qcom: Document Sony Xperia 1 IV (PDX223)
Konrad Dybcio [Thu, 14 Jul 2022 12:34:02 +0000 (14:34 +0200)]
dt-bindings: arm: qcom: Document Sony Xperia 1 IV (PDX223)

Document the compatible for the PDX223 device.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220714123406.1919836-1-konrad.dybcio@somainline.org
23 months agoarm64: dts: qcom: msm8998: add MSM8998 SDCC specific compatible
Krzysztof Kozlowski [Thu, 14 Jul 2022 09:10:41 +0000 (11:10 +0200)]
arm64: dts: qcom: msm8998: add MSM8998 SDCC specific compatible

Add a MSM8998-specific SDCC compatible, because using only a generic
qcom,sdhci-msm-v4 fallback is deprecated.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220714091042.22287-3-krzysztof.kozlowski@linaro.org
23 months agoarm64: dts: qcom: msm8992-xiaomi-libra: split qcom,msm-id into tuples
Krzysztof Kozlowski [Tue, 5 Jul 2022 13:03:00 +0000 (15:03 +0200)]
arm64: dts: qcom: msm8992-xiaomi-libra: split qcom,msm-id into tuples

The qcom,msm-id is an uint32 matrix, so a list of tuples.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220705130300.100882-4-krzysztof.kozlowski@linaro.org
23 months agoarm64: dts: qcom: msm8916: add clocks to the GCC device node
Dmitry Baryshkov [Mon, 4 Jul 2022 17:24:53 +0000 (20:24 +0300)]
arm64: dts: qcom: msm8916: add clocks to the GCC device node

As we are converting this platform to use DT clock bindings, add clocks
and clock-names properties to the MMCC device tree node.

Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220704172453.838303-8-dmitry.baryshkov@linaro.org
23 months agoarm64: dts: qcom: sm6350: Add interconnect support
Luca Weiss [Wed, 25 May 2022 14:44:01 +0000 (16:44 +0200)]
arm64: dts: qcom: sm6350: Add interconnect support

Add all the different NoC providers that are found in SM6350 and
populate different nodes that use the interconnect properties.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220525144404.200390-6-luca.weiss@fairphone.com