-
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)
-
-
-
-
-
-
-
qcom-clk-for-6.6e1cd74b6 · ·
Qualcomm clock updates for v6.6 Support for the Global Clock Controller in IPQ5018 is added. The SMD RPM driver is cleaned up, with interconnect bus clocks moved out to the interconnect drivers. Due to being tangled with the related interconnect updates, the topic branch with interconnect patches was merged in as well. Various bugs in PM runtime integration is fixes across many platforms. The MSM8996 core bus framework gains support for MSM8996 Pro. MDM9615 is transitioned to parent_hw and parent_data, with related cleanups. With this the cxo proxy clock is dropped from the driver. And LCC support for MDM9615 is merged into the MSM8960 driver, to avoid duplication. Network-related resets are added on IPQ4019 A couple of missing USB-related clocks are added for IPQ9574. The missing gpll0_sleep_clk_src is added to MSM8917 global clock controller. A few minor fixes for MSM8998 global clock controller. In the QDU1000 global clock controller GDSCs, clkrefs, and GPLL1 are added, while PCIe pipe clock, SDCC rcg ops are corrected. Missing GDSCs are added to SC8280XP global clock controller driver, flags for existing GDSCs are corrected, by enabling retention and dropping the always-on flags. Retention is also enabled for the display clock controller GDSCs. SDCC apps_clk_src is marked CLK_OPS_PARENT_ENABLE to fix issues with missing parent clocks across sc7180, sm7150, sm6350 and sm8250, while sm8450 is corrected to use floor ops. SM6350 GPU clock controller clock supplies are corrected. Unwanted clocks from the IPQ5332 GCC are dropped. The missing OXILICX GDSC is added to MSM8226 GCC. The delay in the reset controller is transitioned to fsleep() to invoke the appropriate sleep method depending on duration. The SM83550 Video clock controller is extended to support SC8280XP.
-
qcom-arm64-for-6.6110e70fc · ·
Qualcomm ARM64 DeviceTree updates for v6.6 Initial support for the SM4450 platform and the QRD device thereon is added. The IPQ5018 platform is introduced, and the RDP432-C2 board thereon. A shared definition of the IPQ5332 RDP is introduced, as is GPIO-based LEDs and buttons. On the IPQ9574 RDP433 USB, CPU cooling maps and regulators are added. On MSM8916, the D3 camera mezzanine is improved and refactored out to its own dts. The Samsung Galaxy S4 Mini gains support for its PMIC with charger, while Samsung Galaxy J5 and E5 gains touchscreen support. A few fixes for MSM8939 are introduced, and initial support for Samsung Galaxy A7 is add. Support for scaling the cache bus fabric is introduced on MSM8996. A missing interrupt for the USB2 controller is added. The touchscreen vio supply on Xiaomi Mi 5 is corrected, and a few other cleanups are introduces across other devices. The display controller is introduced for MSM8998, a few clock fixes are introduced and missing power domains are added for the multimedia subsystem iommu. Reserved memory-regions and reserved GPIO lists are updated for the QDU/QRU1000 IDPs. USB3 PHY is added to the QCM2290, the RB1 gains regulators and GPU is enabled for the RB2. PCIe and Ethernet support is introduced on SA8775P, and enabled for the Ride board. On SC7180 the PSCI integration is refactored, to allow supporting devices with the Qualcomm firmware. BWMON is introduced, alongside the CPUfreq-based bus voting. A number of fixes are added for SC8180X, on the Primus and Lenovo Flex 5G devices pmic_glink is introduced and wired up, to provide support for external display. Missing SCM interconnect is added to SC8280XP, and the PDC is marked as wakeup-parent of TLMM. On the CRD the gpio for vreg_misc_3p3 is corrected and a few regulators are renamed to align with schematics. The Lenovo Thinkpad X13s gains camera activity LED and a set of previously reserved GPIOs are released. The SA8540P Ride platform gains RTC support. For SDM670 CPU and L3 frequency scaling is added, the PDC is introduced and wired up as wakeup-parent of the TLMM. On SDM845 the UFS controller gains interconnect path description, power-domain information is added to GCC and minimum frequency of the UFS ICE is corrected. On RB3 continuous splash memory region is described, and the camera subsystem is enabled. On the Lenovo Yoga C630 a missing power supply for the display panel is added, and the debug UART is introduced. SDX75 RPMh power-domains and SPMI controller are introduces, the PMX75 PMIC is described and added to the IDP. GPU description is added to SM6115, and together with display enabled on the Lenovo Tab P11. On SM635 BWMON is introduced for LLCC and DDR scaling. Display and GPU is added, and the PDC is registered as wakeup-parent of TLMM. L3 cache scaling is introduced on SM6375. The DSI PHY compatible and an interrupt for I2C7 are corrected for SM8150, on the Sony Xperia 1 and 5 the ramoops pmsg size is corrected. On SM8250 BWMONs are introduced for DDR and LLCC scaling, the UFS node gains interconnect paths, SMMU is marked as DMA coherent and dynamic power coefficients are updated. On Sony Xperia 1 II and 5 II GPIO line names are updated. On SM8350 missing cluster sleep states and LMH interrupts are added, the CPU compatibles are corrected and APR and LPASS pinctrl support is introduced. The HDK gains uSD card support and PMK8350 is added. For SM8450 support for RNG and RPMh stats are added, the ICE handling is extracted from the UFS node and the display subsystem gains a missing interconnect path. Thermal description is improved for the HDK. On SM8550 MTP and QRD the pmic_glink is introduced, to provide DisplayPort output. A missing regulator supply is also added. A few platforms that happens to share the RPMH power-domain resource identifier constants are migrated to new generic defines. ADC channel names are generalized on various PMICs. A variety of devices gain chassis-type, and the GIC_SPI constant is replacing the 0 across a few different platforms.
-
qcom-dts-for-6.63cfa5569 · ·
Qualcomm ARM32 DeviceTree updates for v6.6 GCC and LCC clock controller parent clocks are introduced on MDM9615. The newly introduced RPM representation is introduced across multiple platforms. Voltage ADC channel names are corrected across multiple platforms. APQ8064 gains a definition for GSBI4. The XO clock for SDHCI is corrected, as is the USB node name, on IPQ4019. USB node name is also corrected for SDX55. The correct PMIC is included on SDX65 MTP. The incorrect spi-max-frequency property is removed from controllers on IPQ8064 and MSM8960. OCMEM and the display subsystem are added to MSM8226. Reset line is added to the PM8941 and the APQ8074 Dragonboard, while a few properties of the Sony Xperia Z2 Tablet touchscreen are corrected.
-
qcom-arm64-defconfig-for-6.67f0c8734 · ·
Qualcomm ARM64 defconfig updates for v6.6 This marks the MSM8996 global clock controller as buildin, to avoid boot issues. The SC8280XP GPU clock controller is enabled, to enable GPU support. A series of drivers needed to boot the IPQ5018 platform is enabled, and the ethernet PHY to enable Ethernet on SA8775P is enabled.
-
qcom-drivers-for-6.6b4f63bbf · ·
Qualcomm driver updates for v6.6 Compatible and clock handling in the Qualcomm SCM driver is cleaned up, together with a couple stylistic cleanups and transition to mark exported symbols GPL only. An abstraction for the RPM subsystem is introduced, to make align the structure of the SMD and GLINK nodes thereof with the structure when a remoteproc is involved. This is done to facilitate associating additional entities with the RPM subsystem. The qmp_send() API is modified to not expose hardware requirements onto the client drivers, and then further extended to allow command formatting directly in the API, to facilitate this typical use case. In the Qualcomm Command DB driver, NUL characters previously included in identifiers are dropped from the debugfs, to facilitate scripting. The thresholds of the BWMON driver are simplified to avoid hard coded starting values. The OCMEM driver is updated with some cleanups and fixes, and addition of MSM8226 support. PMIC_GLINK gains support for retimer switches, safe mode is selected when the cable is disconnected from altmode and the same is enabled for SM8550. An off-by-one string length check is corrected in the QMI encoder decoder library. The RPMh tracepoints are extended to include the state of the request, to provide needed context in the traced events. The series from Ulf creating a genpd framework is integrated, to facilitate the other changes to the cpr, rpmpd and rpmhpd driver. SDX75 support is added to the rpmhpd driver, and the rpmpd driver is extended with the same sync_state logic found in the rpmhpd driver. The socinfo driver gains knowledge about SM4450 and SM7125, the IPQ5019 platform is dropped. Clock handling in the GSBI driver is cleaned up with the use of devm_clk_get_enabled(). The list of VMIDs defined for the SCM assign memory interface is extended.
-
qcom-arm64-fixes-for-6.56d4cc576 · ·
Qualcomm ARM64 fixes for v6.5 This corrects the invalid path specifier for L3 interconnects in the CPU nodes of SM8150 and SM8250. It corrects the compatible of the SC8180X L3 node, to pass the binding check. The crypto core, and its DMA controller, is disabled on SM8350 to avoid the system from crashing at boot while the issue is diagnosed. A thermal zone node name conflict is resolved for PM8150L, on the RB5 board. The UFS vccq voltage is corrected on the SA877P Ride platform, to address observed stability issues. The reg-names of the DSI phy on SC7180 are restored after an accidental search-and-replace update.