-
-
-
-
-
-
sent/20230929-caleb-rmi4-quirks-062a057e98bb-v2e408204a · ·
Input: synaptics-rmi4: add quirks for third party touchscreen controllers With the growing popularity of running upstream Linux on mobile devices, we're beginning to run into more and more edgecases. The OnePlus 6 is a fairly well supported 2018 era smartphone, selling over a million units in it's first 22 days. With this level of popularity, it's almost inevitable that we get third party replacement displays, and as a result, replacement touchscreen controllers. The OnePlus 6 shipped with an extremely usecase specific touchscreen driver, it implemented only the bare minimum parts of the highly generic rmi4 protocol, instead hardcoding most of the register addresses. As a result, the third party touchscreen controllers that are often found in replacement screens, implement only the registers that the downstream driver reads from. They additionally have other restrictions such as heavy penalties on unaligned reads. This series attempts to implement the necessary workaround to support some of these chips with the rmi4 driver. Although it's worth noting that at the time of writing there are other unofficial controllers in the wild that don't work even with these patches. We have been shipping these patches in postmarketOS for the last several months, and they are known to not cause any regressions on the OnePlus 6/6T (with the official Synaptics controller), however I don't own any other rmi4 hardware to further validate this. These patches were contributed by a community developer who has given permission for me to submit them on their behalf. --- To: Dmitry Torokhov <dmitry.torokhov@gmail.com> To: Vincent Huang <vincent.huang@tw.synaptics.com> Cc: methanal <baclofen@tuta.io> Cc: linux-input@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: phone-devel@vger.kernel.org Cc: ~postmarketos/upstreaming@lists.sr.ht --- Changes since v1: - Improve dt-bindings patch (thanks Rob) - Add missing cast in patch 5 to fix the pointer arithmetic - Link to v1: https://lore.kernel.org/r/20230929-caleb-rmi4-quirks-v1-0-cc3c703f022d@linaro.org --- Caleb Connolly (2): dt-bindings: input: syna,rmi4: document syna,pdt-fallback-desc Input: synaptics-rmi4 - handle duplicate/unknown PDT entries methanal (5): Input: synaptics-rmi4 - f12: use hardcoded values for aftermarket touch ICs Input: synaptics-rmi4 - f55: handle zero electrode count Input: synaptics-rmi4 - don't do unaligned reads in IRQ context Input: synaptics-rmi4 - read product ID on aftermarket touch ICs Input: synaptics-rmi4 - support fallback values for PDT descriptor bytes .../devicetree/bindings/input/syna,rmi4.yaml | 15 +++ drivers/input/rmi4/rmi_driver.c | 134 ++++++++++++++++++--- drivers/input/rmi4/rmi_driver.h | 8 ++ drivers/input/rmi4/rmi_f01.c | 14 +++ drivers/input/rmi4/rmi_f12.c | 117 ++++++++++++++---- drivers/input/rmi4/rmi_f55.c | 5 + include/linux/rmi.h | 3 + 7 files changed, 252 insertions(+), 44 deletions(-) --- base-commit: b0d95ff7653ef6ace66a24d6c09147d0731825ce // Caleb (they/them)
-
sent/20231010-caleb-rb2-host-mode-4af5df88e72a-v1f579c1db · ·
put rb2 in host mode To: Andy Gross <agross@kernel.org> To: Bjorn Andersson <andersson@kernel.org> To: Konrad Dybcio <konrad.dybcio@linaro.org> To: Rob Herring <robh+dt@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Conor Dooley <conor+dt@kernel.org> Cc: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Cc: linux-arm-msm@vger.kernel.org Cc: devicetree@vger.kernel.org --- Caleb Connolly (1): arm64: dts: qcom: qrb4210-rb2: don't force usb peripheral mode arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 1 - 1 file changed, 1 deletion(-) --- base-commit: 6465e260f48790807eef06b583b38ca9789b6072 // Caleb (they/them)
-
sent/20231009-caleb-notch-example-f033f5ee56e7-v1c9b27c68 · ·
Add bindings for describing panel notches, cutouts, and corners Some folks have previously suggested that this information belongs in userspace and not in devicetree. I would like to be clear that devicetree is for describing hardware, and parts of a display which can never actually be seen are very much properties of the underlying hardware. To: Neil Armstrong <neil.armstrong@linaro.org> To: Sam Ravnborg <sam@ravnborg.org> To: David Airlie <airlied@gmail.com> To: Daniel Vetter <daniel@ffwll.ch> To: Rob Herring <robh+dt@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Conor Dooley <conor+dt@kernel.org> To: Thierry Reding <thierry.reding@gmail.com> To: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> To: Caleb Connolly <caleb.connolly@linaro.org> Cc: Robert Mader <robert.mader@posteo.de> Cc: "Guido Gunther <agx@sigxcpu.org>" Cc: dri-devel@lists.freedesktop.org Cc: Hector Martin <marcan@marcan.st> Cc: devicetree@vger.kernel.org Cc: phone-devel@vger.kernel.org Cc: asahi@lists.linux.dev Cc: ~postmarketos/upstreaming@lists.sr.ht --- Caleb Connolly (1): dt-bindings: display: document display panel occlusions .../bindings/display/panel/panel-common.yaml | 7 + .../bindings/display/panel/panel-occlusions.yaml | 182 +++++++++++++++++++++ 2 files changed, 189 insertions(+) --- base-commit: 268c4b354d66908697299063c44c0b553b01d935 // Caleb (they/them)
-
sent/20231001-b4-sdm845-flash-dts-3c099478b60b-v19adce7a0 · ·
dts: qcom: enable flash LED on OnePlus 6 and PocoPhone F1 Like the SHIFT6mq, these devices both feature a dual-tone flash, enable them. Both patches have been shipping in postmarketOS for a few months now with no known issues. To: Andy Gross <agross@kernel.org> To: Bjorn Andersson <andersson@kernel.org> To: Konrad Dybcio <konrad.dybcio@linaro.org> To: Rob Herring <robh+dt@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Conor Dooley <conor+dt@kernel.org> Cc: linux-arm-msm@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: ~postmarketos/upstreaming@lists.sr.ht Cc: phone-devel@vger.kernel.org --- Caleb Connolly (1): arm64: dts: qcom: sdm845-oneplus: enable flash LED Joel Selvaraj (1): arm64: dts: qcom: sdm845-xiaomi-beryllium: enable flash led .../arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 23 ++++++++++++++++++++++ .../dts/qcom/sdm845-xiaomi-beryllium-common.dtsi | 22 +++++++++++++++++++++ 2 files changed, 45 insertions(+) --- base-commit: 4b9e79bf480770216d598ed9383c675d50b0ae92 // Caleb (they/them)
-
sent/20230929-caleb-rmi4-quirks-062a057e98bb-v11e9d7791 · ·
Input: synaptics-rmi4: add quirks for third party touchscreen controllers With the growing popularity of running upstream Linux on mobile devices, we're beginning to run into more and more edgecases. The OnePlus 6 is a fairly well supported 2018 era smartphone, selling over a million units in it's first 22 days. With this level of popularity, it's almost inevitable that we get third party replacement displays, and as a result, replacement touchscreen controllers. The OnePlus 6 shipped with an extremely usecase specific touchscreen driver, it implemented only the bare minimum parts of the highly generic rmi4 protocol, instead hardcoding most of the register addresses. As a result, the third party touchscreen controllers that are often found in replacement screens, implement only the registers that the downstream driver reads from. They additionally have other restrictions such as heavy penalties on unaligned reads. This series attempts to implement the necessary workaround to support some of these chips with the rmi4 driver. Although it's worth noting that at the time of writing there are other unofficial controllers in the wild that don't work even with these patches. We have been shipping these patches in postmarketOS for the last several months, and they are known to not cause any regressions on the OnePlus 6/6T (with the official Synaptics controller), however I don't own any other rmi4 hardware to further validate this. These patches were contributed by a community developer who has given permission for me to submit them on their behalf. --- To: Dmitry Torokhov <dmitry.torokhov@gmail.com> To: Vincent Huang <vincent.huang@tw.synaptics.com> Cc: methanal <baclofen@tuta.io> Cc: linux-input@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: phone-devel@vger.kernel.org Cc: ~postmarketos/upstreaming@lists.sr.ht --- Caleb Connolly (2): dt-bindings: input: syna,rmi4: document syna,pdt-fallback-desc Input: synaptics-rmi4 - handle duplicate/unknown PDT entries methanal (5): Input: synaptics-rmi4 - f12: use hardcoded values for aftermarket touch ICs Input: synaptics-rmi4 - f55: handle zero electrode count Input: synaptics-rmi4 - don't do unaligned reads in IRQ context Input: synaptics-rmi4 - read product ID on aftermarket touch ICs Input: synaptics-rmi4 - support fallback values for PDT descriptor bytes .../devicetree/bindings/input/syna,rmi4.yaml | 10 ++ drivers/input/rmi4/rmi_driver.c | 134 ++++++++++++++++++--- drivers/input/rmi4/rmi_driver.h | 8 ++ drivers/input/rmi4/rmi_f01.c | 14 +++ drivers/input/rmi4/rmi_f12.c | 117 ++++++++++++++---- drivers/input/rmi4/rmi_f55.c | 5 + include/linux/rmi.h | 3 + 7 files changed, 247 insertions(+), 44 deletions(-) --- base-commit: b0d95ff7653ef6ace66a24d6c09147d0731825ce // Caleb (they/them)
-
sent/20230905-caleb-qmi_cooling-56167ac97b12-v12727664f · ·
thermal: Introduce Qualcomm Thermal Mitigation Device support The Thermal Mitigation Device (TMD) Service is a QMI service that runs on remote subsystems (the modem and DSPs) on Qualcomm SoCs. It exposes various mitigations including passive thermal controls and rail voltage restrictions. This series introduces support for exposing TMDs as cooling devices in the kernel through the thermal framework, using the QMI interface. Each TMD client is described as a child of the remoteproc node in devicetree. With subnodes for each control. This series is based on previous work by Bhupesh Sharma which can be found at [1]. I'm sending this as a fresh series as it has been a year since the original version and I have rewritten most of the driver. [1]: https://lore.kernel.org/linux-arm-msm/20220912085049.3517140-1-bhupesh.sharma@linaro.org/ To: Andy Gross <agross@kernel.org> To: Bhupesh Sharma <bhupesh.linux@gmail.com> To: Bjorn Andersson <andersson@kernel.org> To: Konrad Dybcio <konrad.dybcio@linaro.org> To: Mathieu Poirier <mathieu.poirier@linaro.org> To: Rob Herring <robh+dt@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Conor Dooley <conor+dt@kernel.org> To: "Rafael J. Wysocki" <rafael@kernel.org> To: Daniel Lezcano <daniel.lezcano@linaro.org> To: Amit Kucheria <amitk@kernel.org> To: Zhang Rui <rui.zhang@intel.com> To: Sibi Sankar <quic_sibis@quicinc.com> To: Manivannan Sadhasivam <mani@kernel.org> To: Thara Gopinath <thara.gopinath@gmail.com> Cc: linux-arm-msm@vger.kernel.org Cc: linux-remoteproc@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-pm@vger.kernel.org --- Caleb Connolly (4): remoteproc: qcom: probe all child devices dt-bindings: thermal: Add qcom,qmi-cooling yaml bindings thermal: qcom: add qmi-cooling driver MAINTAINERS: Add entry for Qualcomm Cooling Driver .../bindings/remoteproc/qcom,msm8996-mss-pil.yaml | 13 + .../bindings/remoteproc/qcom,pas-common.yaml | 6 + .../bindings/thermal/qcom,qmi-cooling.yaml | 168 +++++++ MAINTAINERS | 8 + drivers/remoteproc/qcom_q6v5.c | 4 + drivers/remoteproc/qcom_q6v5_mss.c | 8 - drivers/thermal/qcom/Kconfig | 13 + drivers/thermal/qcom/Makefile | 1 + drivers/thermal/qcom/qmi-cooling.c | 520 +++++++++++++++++++++ drivers/thermal/qcom/qmi-cooling.h | 428 +++++++++++++++++ 10 files changed, 1161 insertions(+), 8 deletions(-) --- base-commit: 9067f80db58bbce81d5f0703aa2fd261e88bc812 // Caleb (they/them)
-
-
-
-
-