Add initial mainline support for the Samsung Galaxy S4, codenamed jflte. This series adds the devicetree binding and board DTS, together with the small driver and common DTS changes needed to boot the device with working USB peripheral mode.
Tested on a Samsung Galaxy S4 GT-I9505. With this series the device boots and supports UART, USB peripheral mode with USB networking, the front notification LED and the physical buttons. Signed-off-by: Alexandre MINETTE <[email protected]> --- Changes in v3: - Clarify that the Galaxy S4 compatible is for the Qualcomm APQ8064-based variant, and add Krzysztof's Acked-by. - Clarify the PM8921 USB ID binding, driver and DTS commit messages to describe the PMIC interrupt-controller interface and the lack of a known register resource for this interrupt-only path. - Keep the PM8921 USB ID extcon node non-addressable rather than adding a speculative reg value. - Keep the MUIC and LED buses as i2c-gpio. Testing the corresponding GSBI controllers on GT-I9505 made USB fail to enumerate with the MUIC on GSBI2, and made LED brightness writes time out with the LED on GSBI3. - Reorder APQ8064 USB clock entries to match the related ci-hdrc binding update, using iface, core, fs order. - Sort the jflte DTB Makefile entry after the LG Nexus 4 entry. - Link to v2: https://lore.kernel.org/r/[email protected] Changes in v2: - Keep the APQ8064 compatible list in qcom.yaml alphabetically sorted. - Clarify the Qualcomm pinctrl commit message and include the failing hog lookup trace seen on APQ8064. - Clarify the MSM IOMMU commit message and include the NULL dereference trace seen during IOMMU probe on APQ8064. - Move the PM8921 USB ID extcon node to the end of the PM8921 child nodes. - Reorder the jflte DTS nodes and pinctrl properties as requested by reviewers. - Add Reviewed-by/Acked-by tags collected on v1. - Link to v1: https://lore.kernel.org/r/[email protected] --- Alexandre MINETTE (8): dt-bindings: arm: qcom: Add Samsung Galaxy S4 dt-bindings: extcon: qcom,pm8941-misc: Add PM8921 compatible pinctrl: qcom: Register functions before enabling pinctrl iommu/msm: Look up masters per IOMMU instance extcon: qcom-spmi-misc: Add PM8921 compatible ARM: dts: qcom: apq8064: Fix USB controller clocks ARM: dts: qcom: pm8921: Add USB ID extcon ARM: dts: qcom: Add Samsung Galaxy S4 Documentation/devicetree/bindings/arm/qcom.yaml | 1 + .../bindings/extcon/qcom,pm8941-misc.yaml | 17 +- arch/arm/boot/dts/qcom/Makefile | 1 + arch/arm/boot/dts/qcom/pm8921.dtsi | 7 + .../boot/dts/qcom/qcom-apq8064-samsung-jflte.dts | 485 +++++++++++++++++++++ arch/arm/boot/dts/qcom/qcom-apq8064.dtsi | 18 +- drivers/extcon/extcon-qcom-spmi-misc.c | 1 + drivers/iommu/msm_iommu.c | 28 +- drivers/pinctrl/qcom/pinctrl-msm.c | 15 +- 9 files changed, 546 insertions(+), 27 deletions(-) --- base-commit: 4bf3800382b91c2898d14452cf4332782b3fe80a change-id: 20260421-mainline-send-v1-sending-289ec98e6dc1 Best regards, -- Alexandre MINETTE <[email protected]>

