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. This series adds support for UART, USB peripheral mode with USB networking, the front notification LED and the physical buttons. Booting the device also requires an MSM IOMMU master handling fix, which will be submitted separately. Signed-off-by: Alexandre MINETTE <[email protected]> --- Changes in v4: - Rework PM8921 USB ID support by registering the extcon device from the parent PMIC driver instead of describing a separate DT child node. - Add GPIO_OPEN_DRAIN flag to i2c-gpio - Drop the Reviewed-by tag from the Galaxy S4 DTS patch because its USB extcon description changed. - Drop the MSM IOMMU master lookup fix from this series. It needs a broader rework and will be sent separately. - jflte still needs that follow-up MSM IOMMU fix to boot. - Link to v3: https://lore.kernel.org/r/[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 (6): dt-bindings: arm: qcom: Add Samsung Galaxy S4 pinctrl: qcom: Register functions before enabling pinctrl ARM: dts: qcom: apq8064: Fix USB controller clocks mfd: qcom-pm8xxx: register PM8921 USB ID extcon extcon: qcom-spmi-misc: match PM8xxx USB ID platform device ARM: dts: qcom: Add Samsung Galaxy S4 Documentation/devicetree/bindings/arm/qcom.yaml | 1 + arch/arm/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/qcom-apq8064-samsung-jflte.dts | 481 +++++++++++++++++++++ arch/arm/boot/dts/qcom/qcom-apq8064.dtsi | 18 +- drivers/extcon/extcon-qcom-spmi-misc.c | 7 + drivers/mfd/qcom-pm8xxx.c | 78 +++- drivers/pinctrl/qcom/pinctrl-msm.c | 15 +- 7 files changed, 588 insertions(+), 13 deletions(-) --- base-commit: 4bf3800382b91c2898d14452cf4332782b3fe80a change-id: 20260421-mainline-send-v1-sending-289ec98e6dc1 Best regards, -- Alexandre MINETTE <[email protected]>

