]> www.infradead.org Git - linux.git/log
linux.git
13 months agodt-bindings: arm: qcom: Add Sony Xperia Z3 Compact
Valeriy Klimin [Fri, 21 Jun 2024 14:26:42 +0000 (17:26 +0300)]
dt-bindings: arm: qcom: Add Sony Xperia Z3 Compact

Add the compatible for this device.

Signed-off-by: Valeriy Klimin <vdos63@gmail.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240621-sony-aries-v2-1-dddf10722522@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc8280xp-x13s: enable pm8008 camera pmic
Johan Hovold [Sat, 8 Jun 2024 15:55:26 +0000 (17:55 +0200)]
arm64: dts: qcom: sc8280xp-x13s: enable pm8008 camera pmic

Enable the PM8008 PMIC which is used to power the camera sensors.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240608155526.12996-13-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: aim300: add AIM300 AIoT
Tengfei Fan [Tue, 18 Jun 2024 07:22:02 +0000 (15:22 +0800)]
arm64: dts: qcom: aim300: add AIM300 AIoT

Add AIM300 AIoT Carrier board DTS support, including usb, UART, PCIe,
I2C functions support.
Here is a diagram of AIM300 AIoT Carrie Board and SoM
 +--------------------------------------------------+
 |             AIM300 AIOT Carrier Board            |
 |                                                  |
 |           +-----------------+                    |
 |power----->| Fixed regulator |---------+          |
 |           +-----------------+         |          |
 |                                       |          |
 |                                       v VPH_PWR  |
 | +----------------------------------------------+ |
 | |                          AIM300 SOM |        | |
 | |                                     |VPH_PWR | |
 | |                                     v        | |
 | |   +-------+       +--------+     +------+    | |
 | |   | UFS   |       | QCS8550|     |PMIC  |    | |
 | |   +-------+       +--------+     +------+    | |
 | |                                              | |
 | +----------------------------------------------+ |
 |                                                  |
 |                    +----+          +------+      |
 |                    |USB |          | UART |      |
 |                    +----+          +------+      |
 +--------------------------------------------------+

Co-developed-by: Qiang Yu <quic_qianyu@quicinc.com>
Signed-off-by: Qiang Yu <quic_qianyu@quicinc.com>
Co-developed-by: Ziyue Zhang <quic_ziyuzhan@quicinc.com>
Signed-off-by: Ziyue Zhang <quic_ziyuzhan@quicinc.com>
Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
Link: https://lore.kernel.org/r/20240618072202.2516025-5-quic_tengfan@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: add base AIM300 dtsi
Tengfei Fan [Tue, 18 Jun 2024 07:22:01 +0000 (15:22 +0800)]
arm64: dts: qcom: add base AIM300 dtsi

AIM300 Series is a highly optimized family of modules designed to
support AIoT applications. It integrates QCS8550 SoC, UFS and PMIC
chip etc.
Here is a diagram of AIM300 SoM:
          +----------------------------------------+
          |AIM300 SoM                              |
          |                                        |
          |                           +-----+      |
          |                      |--->| UFS |      |
          |                      |    +-----+      |
          |                      |                 |
          |                      |                 |
     3.7v |  +-----------------+ |    +---------+  |
  ---------->|       PMIC      |----->| QCS8550 |  |
          |  +-----------------+      +---------+  |
          |                      |                 |
          |                      |                 |
          |                      |    +-----+      |
          |                      |--->| ... |      |
          |                           +-----+      |
          |                                        |
          +----------------------------------------+

Co-developed-by: Fenglin Wu <quic_fenglinw@quicinc.com>
Signed-off-by: Fenglin Wu <quic_fenglinw@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
Link: https://lore.kernel.org/r/20240618072202.2516025-4-quic_tengfan@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qcs8550: introduce qcs8550 dtsi
Tengfei Fan [Tue, 18 Jun 2024 07:22:00 +0000 (15:22 +0800)]
arm64: dts: qcom: qcs8550: introduce qcs8550 dtsi

QCS8550 is derived from SM8550. The difference between SM8550 and
QCS8550 is QCS8550 doesn't have modem RF system. QCS8550 is mainly used
in IoT products.
QCS8550 firmware has different memory map compared to SM8550.
The memory map will be runtime added through bootloader.
There are 3 types of reserved memory regions here:
1. Firmware related regions which aren't shared with kernel.
    The device tree source in kernel doesn't need to have node to indicate
the firmware related reserved information. Bootloader converys the
information by updating devicetree at runtime.
    This will be described as: UEFI saves the physical address of the
UEFI System Table to dts file's chosen node. Kernel read this table and
add reserved memory regions to efi config table. Current reserved memory
region may have reserved region which was not yet used, release note of
the firmware have such kind of information.
2. Firmware related memory regions which are shared with Kernel
    The device tree source in the kernel needs to include nodes that
indicate fimware-related shared information. A label name is suggested
because this type of shared information needs to be referenced by
specific drivers for handling purposes.
    Unlike previous platforms, QCS8550 boots using EFI and describes
most reserved regions in the ESRT memory map. As a result, reserved
memory regions which aren't relevant to the kernel(like the hypervisor
region) don't need to be described in DT.
3. Remoteproc regions.
    Remoteproc regions will be reserved and then assigned to subsystem
firmware later.
Here is a reserved memory map for this platform:
 0x80000000 +-------------------+
            |                   |
            | Firmware Related  |
            |                   |
 0x8a800000 +-------------------+
            |                   |
            | Remoteproc Region |
            |                   |
 0xa7000000 +-------------------+
            |                   |
            | Kernel Available  |
            |                   |
 0xd4d00000 +-------------------+
            |                   |
            | Firmware Related  |
            |                   |
0x100000000 +-------------------+

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
Link: https://lore.kernel.org/r/20240618072202.2516025-3-quic_tengfan@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agodt-bindings: arm: qcom: Document QCS8550 SoC and the AIM300 AIoT board
Tengfei Fan [Tue, 18 Jun 2024 07:21:59 +0000 (15:21 +0800)]
dt-bindings: arm: qcom: Document QCS8550 SoC and the AIM300 AIoT board

Document QCS8550 SoC and the AIM300 AIoT board bindings.
QCS8550 is derived from SM8550. The difference between SM8550 and
QCS8550 is QCS8550 doesn't have modem RF system. QCS8550 is mainly used
in IoT scenarios.
AIM300 Series is a highly optimized family of modules designed to
support AIoT applications. It integrates QCS8550 SoC, UFS and PMIC chip
etc.
AIM stands for Artificial Intelligence Module. AIoT stands for AI IoT.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
Link: https://lore.kernel.org/r/20240618072202.2516025-2-quic_tengfan@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qdu1000: fix usb interrupts properties
Komal Bajaj [Mon, 17 Jun 2024 11:56:24 +0000 (17:26 +0530)]
arm64: dts: qcom: qdu1000: fix usb interrupts properties

Update the usb interrupts properties to fix the following
bindings check errors:
usb@a6f8800: interrupt-names:0: 'pwr_event' was expected
        from schema $id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
usb@a6f8800: interrupt-names:1: 'hs_phy_irq' was expected
from schema $id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
usb@a6f8800: interrupt-names: ['hs_phy_irq', 'ss_phy_irq', 'dm_hs_phy_irq', 'dp_hs_phy_irq'] is too short
        from schema $id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#

Fixes: dd1bd5bf7420 ("arm64: dts: qcom: qdu1000: Add USB3 and PHY support")
Cc: Krishna Kurapati <quic_kriskura@quicinc.com>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202406171241.YKuCm3SC-lkp@intel.com/
Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240617115624.29875-1-quic_kbajaj@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qrb5165-rb5: add the Wifi node
Bartosz Golaszewski [Wed, 5 Jun 2024 12:27:29 +0000 (14:27 +0200)]
arm64: dts: qcom: qrb5165-rb5: add the Wifi node

Add a node for the PMU module of the QCA6391 present on the RB5 board.
Assign its LDO power outputs to the existing Bluetooth module. Add a
node for the PCIe port to sm8250.dtsi and define the WLAN node on it in
the board's .dts and also make it consume the power outputs of the PMU.

Tested-by: Caleb Connolly <caleb.connolly@linaro.org> # OnePlus 8T
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240605122729.24283-5-brgl@bgdev.pl
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8650-hdk: add the Wifi node
Neil Armstrong [Wed, 5 Jun 2024 12:27:28 +0000 (14:27 +0200)]
arm64: dts: qcom: sm8650-hdk: add the Wifi node

Describe the ath12k WLAN on-board the WCN7850 module present on the
board.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240605122729.24283-4-brgl@bgdev.pl
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8650-qrd: add the Wifi node
Bartosz Golaszewski [Wed, 5 Jun 2024 12:27:27 +0000 (14:27 +0200)]
arm64: dts: qcom: sm8650-qrd: add the Wifi node

Describe the ath12k WLAN on-board the WCN7850 module present on the
board.

[Neil: authored the initial version of the change]

Co-developed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240605122729.24283-3-brgl@bgdev.pl
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8550-qrd: add the Wifi node
Bartosz Golaszewski [Wed, 5 Jun 2024 12:27:26 +0000 (14:27 +0200)]
arm64: dts: qcom: sm8550-qrd: add the Wifi node

Describe the ath12k WLAN on-board the WCN7850 module present on the
board.

[Neil: authored the initial version of the change]

Co-developed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Amit Pundir <amit.pundir@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240605122729.24283-2-brgl@bgdev.pl
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8916-gplus-fl8005a: Add sound and modem
Lin, Meng-Bo [Wed, 19 Jun 2024 11:15:29 +0000 (11:15 +0000)]
arm64: dts: qcom: msm8916-gplus-fl8005a: Add sound and modem

Enable sound and modem for the GPLUS FL8005A.
The setup is similar to most MSM8916 devices, i.e.:

 - QDSP6 audio
 - Earpiece/headphones/microphones via digital/analog codec in
   MSM8916/PM8916
 - WWAN Internet via BAM-DMUX

Signed-off-by: Lin, Meng-Bo <linmengbo06890@proton.me>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240619111523.54301-1-linmengbo06890@proton.me
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qcm6490-shift-otter: Name the regulators
Luca Weiss [Tue, 18 Jun 2024 13:30:55 +0000 (15:30 +0200)]
arm64: dts: qcom: qcm6490-shift-otter: Name the regulators

Without explicitly specifying names for the regulators they are named
based on the DeviceTree node name. This results in multiple regulators
with the same name, making debug prints and regulator_summary impossible
to reason about.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Caleb Connolly <caleb@postmarketos.org>
Link: https://lore.kernel.org/r/20240618-qcm6490-regulator-name-v1-2-69fa05e9f58e@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qcm6490-fairphone-fp5: Name the regulators
Luca Weiss [Tue, 18 Jun 2024 13:30:54 +0000 (15:30 +0200)]
arm64: dts: qcom: qcm6490-fairphone-fp5: Name the regulators

Without explicitly specifying names for the regulators they are named
based on the DeviceTree node name. This results in multiple regulators
with the same name, making debug prints and regulator_summary impossible
to reason about.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240618-qcm6490-regulator-name-v1-1-69fa05e9f58e@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qdu1000: Add secure qfprom node
Komal Bajaj [Tue, 18 Jun 2024 09:27:11 +0000 (14:57 +0530)]
arm64: dts: qcom: qdu1000: Add secure qfprom node

Add secure qfprom node and also add properties for multi channel
DDR. This is required for LLCC driver to pick the correct LLCC
configuration.

Fixes: 6209038f131f ("arm64: dts: qcom: qdu1000: Add LLCC/system-cache-controller")
Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Mukesh Ojha <quic_mojha@quicinc.com>
Link: https://lore.kernel.org/r/20240618092711.15037-1-quic_kbajaj@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc7180-trogdor: Disable pwmleds node where unused
Nícolas F. R. A. Prado [Fri, 14 Jun 2024 20:59:36 +0000 (16:59 -0400)]
arm64: dts: qcom: sc7180-trogdor: Disable pwmleds node where unused

Currently the keyboard backlight is described in the common
sc7180-trogdor dtsi as an led node below a pwmleds node, and the led
node is set to disabled. Only the boards that have a keyboard backlight
enable it.

However, since the parent pwmleds node is still enabled everywhere, even
on boards that don't have keyboard backlight it is probed and fails,
resulting in an error:

  leds_pwm pwmleds: probe with driver leds_pwm failed with error -22

as well as a failure in the DT kselftest:

  not ok 45 /pwmleds

Fix this by controlling the status of the parent pwmleds node instead of
the child led, based on the presence of keyboard backlight. This is what
is done on sc7280 already.

While at it add a missing blank line before the child node to follow the
coding style.

Fixes: 7ec3e67307f8 ("arm64: dts: qcom: sc7180-trogdor: add initial trogdor and lazor dt")
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20240614-sc7180-pwmleds-probe-v1-1-e2c3f1b42a43@collabora.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8650: drop second clock name from clock-output-names
Dmitry Baryshkov [Fri, 14 Jun 2024 10:18:28 +0000 (13:18 +0300)]
arm64: dts: qcom: sm8650: drop second clock name from clock-output-names

There is no need to specify exact name for the second (AUX) output
clock. It has never been used for the lookups based on the system
clock name. The driver generates it on its own, in order to remain
compatible with the older DT. Drop the clock name.

Fixes: d00b42f170df ("arm64: dts: qcom: sm8650: remove pcie-1-phy-aux-clk and add pcie1_phy pcie1_phy_aux_clk")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240614-fix-pcie-phy-compat-v3-5-730d1811acf4@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8550: drop second clock name from clock-output-names
Dmitry Baryshkov [Fri, 14 Jun 2024 10:18:27 +0000 (13:18 +0300)]
arm64: dts: qcom: sm8550: drop second clock name from clock-output-names

There is no need to specify exact name for the second (AUX) output
clock. It has never been used for the lookups based on the system
clock name. The driver generates it on its own, in order to remain
compatible with the older DT. Drop the clock name.

Fixes: 0cc97d9e3fdf ("arm64: dts: qcom: sm8550: remove pcie-1-phy-aux-clk and add pcie1_phy pcie1_phy_aux_clk")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240614-fix-pcie-phy-compat-v3-4-730d1811acf4@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8450: drop second clock name from clock-output-names
Dmitry Baryshkov [Fri, 14 Jun 2024 10:18:26 +0000 (13:18 +0300)]
arm64: dts: qcom: sm8450: drop second clock name from clock-output-names

There is no need to specify exact name for the second (AUX) output
clock. It has never been used for the lookups based on the system
clock name. The driver generates it on its own, in order to remain
compatible with the older DT. Drop the clock name.

Fixes: e76862840660 ("arm64: dts: qcom: sm8450: correct pcie1 phy clocks inputs to gcc")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240614-fix-pcie-phy-compat-v3-3-730d1811acf4@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: c630: Add Embedded Controller node
Bjorn Andersson [Thu, 13 Jun 2024 23:43:43 +0000 (02:43 +0300)]
arm64: dts: qcom: c630: Add Embedded Controller node

The Embedded Controller in the Lenovo Yoga C630 is accessible on &i2c1
and provides battery and adapter status, as well as altmode
notifications for the second USB Type-C port.

Add a definition for the EC.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240614-yoga-ec-driver-v7-6-9f0b9b40ae76@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sdm845: describe connections of USB/DP port
Dmitry Baryshkov [Thu, 13 Jun 2024 23:43:42 +0000 (02:43 +0300)]
arm64: dts: qcom: sdm845: describe connections of USB/DP port

Describe links between the first USB3 host and the DisplayPort that is
routed to the same pins.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240614-yoga-ec-driver-v7-5-9f0b9b40ae76@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8916-acer-a1-724: Add sound and modem
Raymond Hackley [Sun, 9 Jun 2024 10:02:45 +0000 (10:02 +0000)]
arm64: dts: qcom: msm8916-acer-a1-724: Add sound and modem

Enable sound and modem for Acer Iconia Talk S A1-724.
The setup is similar to most MSM8916 devices, i.e.:

- QDSP6 audio
- Earpiece/headphones/microphones via digital/analog codec in
  MSM8916/PM8916
- WWAN Internet via BAM-DMUX

Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com>
Link: https://lore.kernel.org/r/20240609100243.834169-1-raymondhackley@protonmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qrb2210-rb1: Enable the GPU
Konrad Dybcio [Thu, 6 Jun 2024 11:36:04 +0000 (13:36 +0200)]
arm64: dts: qcom: qrb2210-rb1: Enable the GPU

Enable the A702 GPU (also marketed as "3D accelerator by qcom [1], lol).

[1] https://docs.qualcomm.com/bundle/publicresource/87-61720-1_REV_A_QUALCOMM_ROBOTICS_RB1_PLATFORM__QUALCOMM_QRB2210__PRODUCT_BRIEF.pdf

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240606-topic-rb1_gpu-v4-5-4bc0c19da4af@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qcm2290: Add GPU nodes
Konrad Dybcio [Thu, 6 Jun 2024 11:36:03 +0000 (13:36 +0200)]
arm64: dts: qcom: qcm2290: Add GPU nodes

Describe the GPU hardware on the QCM2290.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240606-topic-rb1_gpu-v4-4-4bc0c19da4af@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoMerge branch '20240606-topic-rb1_gpu-v4-1-4bc0c19da4af@linaro.org' into arm64-for...
Bjorn Andersson [Thu, 13 Jun 2024 04:07:00 +0000 (23:07 -0500)]
Merge branch '20240606-topic-rb1_gpu-v4-1-4bc0c19da4af@linaro.org' into arm64-for-6.11

Merge the QCM2290 GPUCC DeviceTree binding from the topic branch, to
make available the clock constants that subsequent commits depend on.

13 months agodt-bindings: clock: Add Qcom QCM2290 GPUCC
Konrad Dybcio [Thu, 6 Jun 2024 11:36:00 +0000 (13:36 +0200)]
dt-bindings: clock: Add Qcom QCM2290 GPUCC

Add device tree bindings for graphics clock controller for Qualcomm
Technology Inc's QCM2290 SoCs.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240606-topic-rb1_gpu-v4-1-4bc0c19da4af@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qcm6490-fairphone-fp5: Use .mbn firmware for IPA
Luca Weiss [Thu, 6 Jun 2024 09:09:06 +0000 (11:09 +0200)]
arm64: dts: qcom: qcm6490-fairphone-fp5: Use .mbn firmware for IPA

Specify the file name for the squashed/non-split firmware with the .mbn
extension instead of the split .mdt. The kernel can load both but the
squashed version is preferred in dts nowadays.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240606-fp5-ipa-mbn-v1-1-183668affe58@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8650: Throttle the GPU when overheating
Konrad Dybcio [Fri, 10 May 2024 12:58:41 +0000 (14:58 +0200)]
arm64: dts: qcom: sm8650: Throttle the GPU when overheating

Add an 85C passive trip point to ensure the thermal framework takes
sufficient action to prevent reaching junction temperature and a
110C critical point to help avoid hw damage.

Also, register the GPU as a cooling device and hook it up to the
right thermal zones.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-12-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8550: Throttle the GPU when overheating
Konrad Dybcio [Fri, 10 May 2024 12:58:40 +0000 (14:58 +0200)]
arm64: dts: qcom: sm8550: Throttle the GPU when overheating

Add an 85C passive trip point to ensure the thermal framework takes
sufficient action to prevent reaching junction temperature and a
110C critical point to help avoid hw damage.

Remove the copypasta-from-downstream userspace governor entries while
at it.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-11-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8450: Throttle the GPU when overheating
Konrad Dybcio [Fri, 10 May 2024 12:58:39 +0000 (14:58 +0200)]
arm64: dts: qcom: sm8450: Throttle the GPU when overheating

Add an 85C passive trip point to ensure the thermal framework takes
sufficient action to prevent reaching junction temperature and a
110C critical point to help avoid hw damage.

Remove the copypasta-from-downstream userspace governor entries while
at it.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-10-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8350: Throttle the GPU when overheating
Konrad Dybcio [Fri, 10 May 2024 12:58:38 +0000 (14:58 +0200)]
arm64: dts: qcom: sm8350: Throttle the GPU when overheating

Add an 85C passive trip point to ensure the thermal framework takes
sufficient action to prevent reaching junction temperature and a
110C critical point to help avoid hw damage.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-9-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8250: Throttle the GPU when overheating
Konrad Dybcio [Fri, 10 May 2024 12:58:37 +0000 (14:58 +0200)]
arm64: dts: qcom: sm8250: Throttle the GPU when overheating

Add an 85C passive trip point to ensure the thermal framework takes
sufficient action to prevent reaching junction temperature and a
110C critical point to help avoid hw damage.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-8-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8150: Throttle the GPU when overheating
Konrad Dybcio [Fri, 10 May 2024 12:58:36 +0000 (14:58 +0200)]
arm64: dts: qcom: sm8150: Throttle the GPU when overheating

Add an 85C passive trip point to ensure the thermal framework takes
sufficient action to prevent reaching junction temperature and a
110C critical point to help avoid hw damage.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-7-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm6350: Update GPU thermal zone settings
Konrad Dybcio [Fri, 10 May 2024 12:58:35 +0000 (14:58 +0200)]
arm64: dts: qcom: sm6350: Update GPU thermal zone settings

Lower the thresholds to something more reasonable and introduce a
passive polling delay to make sure more than one "passive" thermal point
is taken into account when throttling.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-6-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm6115: Update GPU thermal zone settings
Konrad Dybcio [Fri, 10 May 2024 12:58:34 +0000 (14:58 +0200)]
arm64: dts: qcom: sm6115: Update GPU thermal zone settings

Lower the thresholds to something more reasonable and introduce a
passive polling delay to make sure more than one "passive" thermal point
is taken into account when throttling.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-5-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sdm845: Throttle the GPU when overheating
Konrad Dybcio [Fri, 10 May 2024 12:58:33 +0000 (14:58 +0200)]
arm64: dts: qcom: sdm845: Throttle the GPU when overheating

Add an 85C passive trip point to ensure the thermal framework takes
sufficient action to prevent reaching junction temperature and a
110C critical point to help avoid hw damage.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-4-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sdm630: Throttle the GPU when overheating
Konrad Dybcio [Fri, 10 May 2024 12:58:32 +0000 (14:58 +0200)]
arm64: dts: qcom: sdm630: Throttle the GPU when overheating

Add an 85C passive trip point to ensure the thermal framework takes
sufficient action to prevent reaching junction temperature and a
110C critical point to help avoid hw damage.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-3-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc8280xp: Throttle the GPU when overheating
Konrad Dybcio [Fri, 10 May 2024 12:58:31 +0000 (14:58 +0200)]
arm64: dts: qcom: sc8280xp: Throttle the GPU when overheating

Add an 85C passive trip point with 1C of hysteresis to ensure the
thermal framework takes sufficient action to prevent reaching junction
temperature. Also, add passive polling to ensure more than one
temperature change event is recorded.

Fixes: 014bbc990e27 ("arm64: dts: qcom: sc8280xp: Introduce additional tsens instances")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-2-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc8180x: Throttle the GPU when overheating
Konrad Dybcio [Fri, 10 May 2024 12:58:30 +0000 (14:58 +0200)]
arm64: dts: qcom: sc8180x: Throttle the GPU when overheating

Add an 85C passive trip point to ensure the thermal framework takes
sufficient action to prevent reaching junction temperature and a
110C critical point to help avoid hw damage.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-1-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8650-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:54 +0000 (13:59 +0200)]
arm64: dts: qcom: sm8650-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-31-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8550-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:53 +0000 (13:59 +0200)]
arm64: dts: qcom: sm8550-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-30-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8450-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:52 +0000 (13:59 +0200)]
arm64: dts: qcom: sm8450-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-29-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8350-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:51 +0000 (13:59 +0200)]
arm64: dts: qcom: sm8350-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-28-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8250-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:50 +0000 (13:59 +0200)]
arm64: dts: qcom: sm8250-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-27-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8150-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:49 +0000 (13:59 +0200)]
arm64: dts: qcom: sm8150-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-26-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm6375-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:48 +0000 (13:59 +0200)]
arm64: dts: qcom: sm6375-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-25-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm6350-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:47 +0000 (13:59 +0200)]
arm64: dts: qcom: sm6350-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-24-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm6125-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:46 +0000 (13:59 +0200)]
arm64: dts: qcom: sm6125-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-23-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm6115-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:45 +0000 (13:59 +0200)]
arm64: dts: qcom: sm6115-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-22-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sdm845-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:44 +0000 (13:59 +0200)]
arm64: dts: qcom: sdm845-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-21-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sdm660-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:43 +0000 (13:59 +0200)]
arm64: dts: qcom: sdm660-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-20-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc8280xp-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:42 +0000 (13:59 +0200)]
arm64: dts: qcom: sc8280xp-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-19-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc8180x-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:41 +0000 (13:59 +0200)]
arm64: dts: qcom: sc8180x-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-18-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc7280-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:40 +0000 (13:59 +0200)]
arm64: dts: qcom: sc7280-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-17-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc7180-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:39 +0000 (13:59 +0200)]
arm64: dts: qcom: sc7180-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-16-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sa8775p-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:38 +0000 (13:59 +0200)]
arm64: dts: qcom: sa8775p-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-15-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qcs404-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:37 +0000 (13:59 +0200)]
arm64: dts: qcom: qcs404-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-14-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qcm2290-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:36 +0000 (13:59 +0200)]
arm64: dts: qcom: qcm2290-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-13-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: pmx75: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:35 +0000 (13:59 +0200)]
arm64: dts: qcom: pmx75: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-12-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: pms405: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:34 +0000 (13:59 +0200)]
arm64: dts: qcom: pms405: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-11-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: pm7550ba: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:33 +0000 (13:59 +0200)]
arm64: dts: qcom: pm7550ba: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-10-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8998-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:32 +0000 (13:59 +0200)]
arm64: dts: qcom: msm8998-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-9-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8996-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:31 +0000 (13:59 +0200)]
arm64: dts: qcom: msm8996-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-8-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8976-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:30 +0000 (13:59 +0200)]
arm64: dts: qcom: msm8976-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-7-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8953-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:29 +0000 (13:59 +0200)]
arm64: dts: qcom: msm8953-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-6-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8939-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:28 +0000 (13:59 +0200)]
arm64: dts: qcom: msm8939-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-5-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8916-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:27 +0000 (13:59 +0200)]
arm64: dts: qcom: msm8916-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-4-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: ipq9574-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:26 +0000 (13:59 +0200)]
arm64: dts: qcom: ipq9574-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Varadarajan Narayanan <quic_varada@quicinc.com>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-3-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: ipq8074-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:25 +0000 (13:59 +0200)]
arm64: dts: qcom: ipq8074-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-2-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: ipq6018-*: Remove thermal zone polling delays
Konrad Dybcio [Fri, 10 May 2024 11:59:24 +0000 (13:59 +0200)]
arm64: dts: qcom: ipq6018-*: Remove thermal zone polling delays

All of the thermal zone suppliers are interrupt-driven, remove the
bogus and unnecessary polling that only wastes CPU time.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-msm-polling-cleanup-v2-1-436ca4218da2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc7180-trogdor: Make clamshell/detachable fragments
Stephen Boyd [Tue, 4 Jun 2024 21:42:32 +0000 (14:42 -0700)]
arm64: dts: qcom: sc7180-trogdor: Make clamshell/detachable fragments

At a high-level, detachable Trogdors (sometimes known as Strongbads)
don't have a cros_ec keyboard, while all clamshell Trogdors (only known
as Trogdors) always have a cros_ec keyboard. Looking closer though, all
clamshells have a USB type-A connector and a hardwired USB camera. And
all detachables replace the USB camera with a MIPI based one and swap
the USB type-a connector for the detachable keyboard pogo pins.

Split the detachable and clamshell bits into different files so we can
describe these differences in one place instead of in each board that
includes sc7180-trogdor.dtsi. For now this is just the keyboard part,
but eventually this will include the type-a port and the pogo pins.

Cc: cros-qcom-dts-watchers@chromium.org
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: Pin-yen Lin <treapking@chromium.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20240604214233.3551692-4-swboyd@chromium.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc7180: pazquel: Add missing comment header
Stephen Boyd [Tue, 4 Jun 2024 21:42:31 +0000 (14:42 -0700)]
arm64: dts: qcom: sc7180: pazquel: Add missing comment header

We put a header before modifying pinctrl nodes defined in
sc7180-trogdor.dtsi in every other file. Add one here so we know that
this section is for pinctrl modifications.

Cc: cros-qcom-dts-watchers@chromium.org
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: Pin-yen Lin <treapking@chromium.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20240604214233.3551692-3-swboyd@chromium.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc7180: quackingstick: Disable instead of delete usb_c1
Stephen Boyd [Tue, 4 Jun 2024 21:42:30 +0000 (14:42 -0700)]
arm64: dts: qcom: sc7180: quackingstick: Disable instead of delete usb_c1

It's simpler to reason about things if we disable nodes instead of
deleting them. Disable the second usb type-c connector node on
quackingstick instead of deleting it so that we can reason about ports
more easily.

Cc: cros-qcom-dts-watchers@chromium.org
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: Pin-yen Lin <treapking@chromium.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20240604214233.3551692-2-swboyd@chromium.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8450-sony-xperia: correct touchscreen interrupt flags
Krzysztof Kozlowski [Wed, 5 Jun 2024 16:00:32 +0000 (18:00 +0200)]
arm64: dts: qcom: sm8450-sony-xperia: correct touchscreen interrupt flags

Interrupt flags 0x2008 looks like some downstream copy-paste, because
generic GPIOLIB code, used by Qualcomm pin controller drivers, ignores
flags outside of IRQ_TYPE_SENSE_MASK.  Probably the intention was to
pass just 0x8, so IRQ_TYPE_LEVEL_LOW.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Tested-by: Konrad Dybcio <konrad.dybcio@linaro.org> # SM8450 PDX223
Link: https://lore.kernel.org/r/20240605160032.150587-4-krzysztof.kozlowski@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8250-sony-xperia: correct touchscreen interrupt flags
Krzysztof Kozlowski [Wed, 5 Jun 2024 16:00:31 +0000 (18:00 +0200)]
arm64: dts: qcom: sm8250-sony-xperia: correct touchscreen interrupt flags

Interrupt flags 0x2008 looks like some downstream copy-paste, because
generic GPIOLIB code, used by Qualcomm pin controller drivers, ignores
flags outside of IRQ_TYPE_SENSE_MASK.  Probably the intention was to
pass just 0x8, so IRQ_TYPE_LEVEL_LOW.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240605160032.150587-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm6375-pdx225: correct touchscreen interrupt flags
Krzysztof Kozlowski [Wed, 5 Jun 2024 16:00:30 +0000 (18:00 +0200)]
arm64: dts: qcom: sm6375-pdx225: correct touchscreen interrupt flags

Interrupt flags 0x2008 looks like some downstream copy-paste, because
generic GPIOLIB code, used by Qualcomm pin controller drivers, ignores
flags outside of IRQ_TYPE_SENSE_MASK.  Probably the intention was to
pass just 0x8, so IRQ_TYPE_LEVEL_LOW.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240605160032.150587-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm6350-pdx213: correct touchscreen interrupt flags
Krzysztof Kozlowski [Wed, 5 Jun 2024 16:00:29 +0000 (18:00 +0200)]
arm64: dts: qcom: sm6350-pdx213: correct touchscreen interrupt flags

Interrupt flags 0x2008 looks like some downstream copy-paste, because
generic GPIOLIB code, used by Qualcomm pin controller drivers, ignores
flags outside of IRQ_TYPE_SENSE_MASK.  Probably the intention was to
pass just 0x8, so IRQ_TYPE_LEVEL_LOW.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240605160032.150587-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: x1e80100-qcp: Add pmic-glink node with all 3 connectors
Abel Vesa [Thu, 6 Jun 2024 10:41:54 +0000 (13:41 +0300)]
arm64: dts: qcom: x1e80100-qcp: Add pmic-glink node with all 3 connectors

Add the pmic-glink node and describe all 3 USB Type-C connectors. Do this
for USB only, for now. The DP ports will come at a later stage since
they use muxes.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240606-x1e80100-dts-pmic-glink-v2-3-972c902e3e6b@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: x1e80100-crd: Add pmic-glink node with all 3 connectors
Abel Vesa [Thu, 6 Jun 2024 10:41:53 +0000 (13:41 +0300)]
arm64: dts: qcom: x1e80100-crd: Add pmic-glink node with all 3 connectors

Add the pmic-glink node and describe all 3 USB Type-C connectors. Do this
for USB only, for now. The DP ports will come at a later stage since
they use retimers.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240606-x1e80100-dts-pmic-glink-v2-2-972c902e3e6b@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: x1e80100: Add remote endpoints between PHYs and DPs
Abel Vesa [Thu, 6 Jun 2024 10:41:52 +0000 (13:41 +0300)]
arm64: dts: qcom: x1e80100: Add remote endpoints between PHYs and DPs

Describe the port/endpoints graph between the USB/DP combo PHYs and their
corresponding DP controllers.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240606-x1e80100-dts-pmic-glink-v2-1-972c902e3e6b@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoMerge branch 'arm64-fixes-for-6.10' into arm64-for-6.11
Bjorn Andersson [Thu, 6 Jun 2024 22:38:08 +0000 (17:38 -0500)]
Merge branch 'arm64-fixes-for-6.10' into arm64-for-6.11

Merge the arm64-fixes-for-6.10 branch into arm64-for-6.11 to resolve the
merge conflict caused by pmic-glink and reserved-memory introduction at
the same place in the x1e80100 crd and qcp dts files.

13 months agoarm64: dts: sm8650-hdk: add support for the Display Card overlay
Neil Armstrong [Thu, 6 Jun 2024 12:50:22 +0000 (14:50 +0200)]
arm64: dts: sm8650-hdk: add support for the Display Card overlay

With the SM8650-HDK, a Display Card kit can be connected to provide
a VTDR6130 display with Goodix Berlin Touch controller.

In order to route the DSI lanes to the connector for the Display
Card kit, a switch must be changed on the board.

The HDMI nodes are disabled since the DSI lanes are shared with
the DSI to HDMI transceiver.

Add support for this card as an overlay and apply it it at
build-time to the sm8650-hdk dtb.

Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Tested-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240606-topic-sm8650-upstream-hdk-v6-1-fb034fe864cc@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: pm660: Add rradc, charger
Aboothahir U [Thu, 6 Jun 2024 14:47:28 +0000 (16:47 +0200)]
arm64: dts: qcom: pm660: Add rradc, charger

Add charger to PM660 PMIC. Readings from round-robin ADC
are needed for charger to function, so add it as well.

Signed-off-by: Aboothahir U <aboothahirpkd@gmail.com>
Signed-off-by: Barnabás Czémán <trabarni@gmail.com>
Link: https://lore.kernel.org/r/20240606-pm660-charger-rrdac-v1-1-a95d4da24f3b@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: x1e80100: Fix PCIe 6a reg offsets and add MHI
Abel Vesa [Tue, 4 Jun 2024 15:20:24 +0000 (18:20 +0300)]
arm64: dts: qcom: x1e80100: Fix PCIe 6a reg offsets and add MHI

The actual size of the DBI region is 0xf20 and the start of the
ELBI region is 0xf40, according to the documentation. So fix them.
While at it, add the MHI region as well.

Fixes: 5eb83fc10289 ("arm64: dts: qcom: x1e80100: Add PCIe nodes")
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20240604-x1e80100-dts-fixes-pcie6a-v2-1-0b4d8c6256e5@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8916-samsung-fortuna/rossa: Add PMIC and charger
Raymond Hackley [Sat, 1 Jun 2024 11:54:32 +0000 (11:54 +0000)]
arm64: dts: qcom: msm8916-samsung-fortuna/rossa: Add PMIC and charger

The phones listed below have Richtek RT5033 PMIC and charger.
Add them to the device trees.
- Samsung Galaxy Core Prime LTE
- Samsung Galaxy Grand Prime

Cc: Jakob Hauser <jahau@rocketmail.com>
Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com>
Link: https://lore.kernel.org/r/20240601115321.25314-4-raymondhackley@protonmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8916-samsung-fortuna/rossa: Add S3FWRN5 NFC
Raymond Hackley [Sat, 1 Jun 2024 11:54:14 +0000 (11:54 +0000)]
arm64: dts: qcom: msm8916-samsung-fortuna/rossa: Add S3FWRN5 NFC

Some variants of Samsung Galaxy Core Prime LTE / Grand Prime LTE have a
Samsung S3FWRN5 NFC chip that works quite well with the s3fwrn5 driver
in the Linux NFC subsystem.

The clock setup for the NFC chip is a bit special (although this
seems to be a common approach used for Qualcomm devices with NFC):

The NFC chip has an output GPIO that is asserted whenever the clock
is needed to function properly. On the A3/A5 this is wired up to
PM8916 GPIO2, which is then configured with a special function
(NFC_CLK_REQ or BB_CLK2_REQ).

Enabling the rpmcc RPM_SMD_BB_CLK2_PIN clock will then instruct
PM8916 to automatically enable the clock whenever the NFC chip
requests it. The advantage is that the clock is only enabled when
needed and we don't need to manage it ourselves from the NFC driver.

Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com>
Link: https://lore.kernel.org/r/20240601115321.25314-3-raymondhackley@protonmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8916-samsung-gprimeltecan: Add NFC
Joe Mason [Sat, 1 Jun 2024 11:53:57 +0000 (11:53 +0000)]
arm64: dts: qcom: msm8916-samsung-gprimeltecan: Add NFC

The Samsung Galaxy Grand Prime CAN has a Samsung S3FWRN5 NFC chip that
works quite well with the s3fwrn5 driver in the Linux NFC subsystem.

The clock setup for the NFC chip is a bit special (although this
seems to be a common approach used for Qualcomm devices with NFC):

The NFC chip has an output GPIO that is asserted whenever the clock
is needed to function properly. On the A3/A5 this is wired up to
PM8916 GPIO2, which is then configured with a special function
(NFC_CLK_REQ or BB_CLK2_REQ).

Enabling the rpmcc RPM_SMD_BB_CLK2_PIN clock will then instruct
PM8916 to automatically enable the clock whenever the NFC chip
requests it. The advantage is that the clock is only enabled when
needed and we don't need to manage it ourselves from the NFC driver.

Signed-off-by: Joe Mason <buddyjojo06@outlook.com>
[Stephan: Put NFC pinctrl into common dtsi to share it with other variants]
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
[Raymond: Use interrupts-extended. Keep &blsp_i2c6 enabled by default]
Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com>
Link: https://lore.kernel.org/r/20240601115321.25314-2-raymondhackley@protonmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agodt-bindings: arm: qcom: add HTC One (M8)
Alexandre Messier [Mon, 3 Jun 2024 06:28:56 +0000 (02:28 -0400)]
dt-bindings: arm: qcom: add HTC One (M8)

Add a compatible for the HTC One (M8), which is based on the
MSM8974Pro SoC.

Signed-off-by: Alexandre Messier <alex@me.ssier.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240603-m8-support-v1-1-c7b6a1941ed2@me.ssier.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: x1e80100: Disable the SMB2360 4th instance by default
Abel Vesa [Mon, 3 Jun 2024 08:17:17 +0000 (11:17 +0300)]
arm64: dts: qcom: x1e80100: Disable the SMB2360 4th instance by default

The CRD board doesn't have the 4th SMB2360 PMIC populated while the QCP
does. So enable it on QCP only. This fixes the warning for the missing
PMIC on CRD as well.

Fixes: 2559e61e7ef4 ("arm64: dts: qcom: x1e80100-pmics: Add the missing PMICs")
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240603-x1e80100-dts-pmics-drop-4th-smb2360-from-crd-v2-1-fb63973cc07d@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc7280: Disable SuperSpeed instances in park mode
Krishna Kurapati [Tue, 4 Jun 2024 06:06:59 +0000 (11:36 +0530)]
arm64: dts: qcom: sc7280: Disable SuperSpeed instances in park mode

On SC7280, in host mode, it is observed that stressing out controller
results in HC died error:

 xhci-hcd.12.auto: xHCI host not responding to stop endpoint command
 xhci-hcd.12.auto: xHCI host controller not responding, assume dead
 xhci-hcd.12.auto: HC died; cleaning up

And at this instant only restarting the host mode fixes it. Disable
SuperSpeed instances in park mode for SC7280 to mitigate this issue.

Reported-by: Doug Anderson <dianders@google.com>
Cc: stable@vger.kernel.org
Fixes: bb9efa59c665 ("arm64: dts: qcom: sc7280: Add USB related nodes")
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240604060659.1449278-3-quic_kriskura@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sc7180: Disable SuperSpeed instances in park mode
Krishna Kurapati [Tue, 4 Jun 2024 06:06:58 +0000 (11:36 +0530)]
arm64: dts: qcom: sc7180: Disable SuperSpeed instances in park mode

On SC7180, in host mode, it is observed that stressing out controller
results in HC died error:

 xhci-hcd.12.auto: xHCI host not responding to stop endpoint command
 xhci-hcd.12.auto: xHCI host controller not responding, assume dead
 xhci-hcd.12.auto: HC died; cleaning up

And at this instant only restarting the host mode fixes it. Disable
SuperSpeed instances in park mode for SC7180 to mitigate this issue.

Reported-by: Doug Anderson <dianders@google.com>
Cc: stable@vger.kernel.org
Fixes: 0b766e7fe5a2 ("arm64: dts: qcom: sc7180: Add USB related nodes")
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240604060659.1449278-2-quic_kriskura@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qrb4210-rb2: make L9A always-on
Dmitry Baryshkov [Wed, 5 Jun 2024 09:00:49 +0000 (12:00 +0300)]
arm64: dts: qcom: qrb4210-rb2: make L9A always-on

The L9A regulator is used to further control voltage regulators on the
board. It can be used to disable VBAT_mains, 1.8V, 3.3V, 5V rails). Make
sure that is stays always on to prevent undervolting of these volage
rails.

Fixes: 8d58a8c0d930 ("arm64: dts: qcom: Add base qrb4210-rb2 board dts")
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240605-rb2-l9a-aon-v2-1-0d493d0d107c@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qrb4210-rb2: switch I2C2 to i2c-gpio
Dmitry Baryshkov [Wed, 5 Jun 2024 08:55:57 +0000 (11:55 +0300)]
arm64: dts: qcom: qrb4210-rb2: switch I2C2 to i2c-gpio

On the Qualcomm RB2 platform the I2C bus connected to the LT9611UXC
bridge under some circumstances can go into a state when all transfers
timeout. This causes both issues with fetching of EDID and with
updating of the bridge's firmware. While we are debugging the issue,
switch corresponding I2C bus to use i2c-gpio driver. While using
i2c-gpio no communication issues are observed.

This patch is asusmed to be a temporary fix, so it is implemented in a
non-intrusive manner to simply reverting it later.

Fixes: f7b01e07e89c ("arm64: dts: qcom: qrb4210-rb2: Enable display out")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Link: https://lore.kernel.org/r/20240605-rb12-i2c2g-pio-v2-2-946f5d6b6948@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: qrb2210-rb1: switch I2C2 to i2c-gpio
Dmitry Baryshkov [Wed, 5 Jun 2024 08:55:56 +0000 (11:55 +0300)]
arm64: dts: qcom: qrb2210-rb1: switch I2C2 to i2c-gpio

On the Qualcomm RB1 platform the I2C bus connected to the LT9611UXC
bridge under some circumstances can go into a state when all transfers
timeout. This causes both issues with fetching of EDID and with
updating of the bridge's firmware. While we are debugging the issue,
switch corresponding I2C bus to use i2c-gpio driver. While using
i2c-gpio no communication issues are observed.

This patch is asusmed to be a temporary fix, so it is implemented in a
non-intrusive manner to simply reverting it later.

Fixes: 616eda24edd4 ("arm64: dts: qcom: qrb2210-rb1: Set up HDMI")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Link: https://lore.kernel.org/r/20240605-rb12-i2c2g-pio-v2-1-946f5d6b6948@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: sm8650-hdk: allow more IOMMU SID for the first QUP instance
Neil Armstrong [Wed, 5 Jun 2024 11:43:30 +0000 (13:43 +0200)]
arm64: dts: qcom: sm8650-hdk: allow more IOMMU SID for the first QUP instance

When triggering I2S SE DMA transfers on the 6th Serial Element, we get
some timeouts and finally a fatal SMMU crash because the I2C6 lines
are shared with the secure firmware in order to handle the SMB1396
charger from the secure side.

In order to make thing work flawlessly we need to allow more SIDs
while running our SE DMA transfers, thus add the 0x3 mark to allow
the 0xa0 SID to trigger while we trigger an 0xa3 SID from Linux.

This crash doesn't happen on the QRD platform since the SE6 is
configured differently, with FIFO mode disabled, thus GPI DMA
is used and we cannot exercise SE DMA on this interface.

The crash only happens when large tranfers occurs (>32 bytes) since
the driver is designed to use the SE DMA in this case, and there's
no way to mark the SE DMA as disabled or mark the GPI DMA as
preferred since the FIFO/SE DMA will be used is FIFO is not disabled.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Fixes: 01061441029e ("arm64: dts: qcom: sm8650: add support for the SM8650-HDK board")
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240605-topic-sm8650-upstream-hdk-iommu-fix-v1-1-9fd7233725fa@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: use defines for interrupts
Krzysztof Kozlowski [Wed, 5 Jun 2024 15:46:05 +0000 (17:46 +0200)]
arm64: dts: qcom: use defines for interrupts

Replace hard-coded interrupt parts (GIC, flags) with standard defines
for readability.  No changes in resulting DTBs.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240605154605.149051-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8994: Use mboxes properties for APCS
Luca Weiss [Wed, 24 Apr 2024 16:24:00 +0000 (18:24 +0200)]
arm64: dts: qcom: msm8994: Use mboxes properties for APCS

Instead of passing the syscon to the various nodes, use the mbox
interface using the mboxes property.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240424-apcs-mboxes-v1-7-6556c47cb501@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8976: Use mboxes properties for APCS
Luca Weiss [Wed, 24 Apr 2024 16:23:59 +0000 (18:23 +0200)]
arm64: dts: qcom: msm8976: Use mboxes properties for APCS

Instead of passing the syscon to the various nodes, use the mbox
interface using the mboxes property.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240424-apcs-mboxes-v1-6-6556c47cb501@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8953: Use mboxes properties for APCS
Luca Weiss [Wed, 24 Apr 2024 16:23:58 +0000 (18:23 +0200)]
arm64: dts: qcom: msm8953: Use mboxes properties for APCS

Instead of passing the syscon to the various nodes, use the mbox
interface using the mboxes property.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240424-apcs-mboxes-v1-5-6556c47cb501@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
13 months agoarm64: dts: qcom: msm8939: Use mboxes properties for APCS
Luca Weiss [Wed, 24 Apr 2024 16:23:57 +0000 (18:23 +0200)]
arm64: dts: qcom: msm8939: Use mboxes properties for APCS

Instead of passing the syscon to the various nodes, use the mbox
interface using the mboxes property.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240424-apcs-mboxes-v1-4-6556c47cb501@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>