From nobody Fri Oct 2 07:47:37 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A822D2931E6; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825293; cv=none; b=p8U4a36ISF+mjOz4iC6tfZPfNLuhSP4NgzS37j801rYZK5xFFaLk78JpwlzDrGlhKwx4fRK3n5HmtEA4lKYDr7I2tQyop4/AFwTq9vCavwQMCubJSbRxraDEbvEtDp7c8GI3r5hLwyhlJqBbCCNbfm238etNk2E4PuPqB1DkMi8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825293; c=relaxed/simple; bh=UQADokhMMs9ijQx/8MIvZTTkJpSOxP4ort4y3prZCtk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J5wwG2h8TuN10pEFsbKcOUbvB/hv0juJK/focPatzQ7DvrxNY8dzDfulXsklMSOcGxuC8sQ7ud6q80Sq/WJQZGYQGqVgMvGq9ijPDCSrK9WTXWxmnT+83HJkcB/WlurslCHh57194VszTs/RW1QizE+epowiDt5nlPGsHebWpQo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kmH/yCwb; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kmH/yCwb" Received: by smtp.kernel.org (Postfix) with ESMTPS id 4935BC2BCF7; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1785825293; bh=UQADokhMMs9ijQx/8MIvZTTkJpSOxP4ort4y3prZCtk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=kmH/yCwbezebx+rBiLLBKlDcAH/6HVMV+gjp38458RroFmEta9s0HQNDRSDXycMrP n2wOO9CbygfkOuITatuT50KX3jB7fYk/JH5Ec7fezSpwXEaFWbyKDEXzUDI1XYa60D PlBgFIm1W8ZO9wOARC4Bd1ziBq05rAXrraoz35BQlFEORfBDk0qA9P46N8tTCTCJLV JrIMAWLy8TPWS9rVrIAxQaRbm9ULzsAVTBCpkhmi3KQZU9pbE1/2/JI6/FmYZKxISn bpv9NNFiscTtv1JK8J6s8LY0xrHy9P9Q4Hl0OHcTeGh5wSrVHWXkyM/iqMgTH8NWdi jzP17CiD8hbmA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2394BC55822; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) From: Alexandre MINETTE via B4 Relay Date: Tue, 04 Aug 2026 08:34:26 +0200 Subject: [PATCH v5 1/6] dt-bindings: arm: qcom: Add Samsung Galaxy S4 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260804-mainline-send-v1-sending-v5-1-149dd4372ac8@alex-min.fr> References: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> In-Reply-To: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , MyungJoo Ham , Chanwoo Choi , Guru Das Srinagesh , Linus Walleij , Rob Clark , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Lee Jones Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, phone-devel@vger.kernel.org, Alexandre MINETTE , Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785825291; l=854; i=contact@alex-min.fr; s=20260421; h=from:subject:message-id; bh=Lrgs0k4d0tyivYZbLbwfL0EK902GKco2rWAQQHTAiDQ=; b=acZYbIF9bHPvxd09sQmA3y6EGuJD/ggmJG3yTP7nnvfC7Svgd0recCie+slOO2gsG+4fb0jzl F+FWC5lYXZZAAU+uQ0e2zZ0EH3+1KxJ4MRGJnuiplNbIi/sOLFgCi6p X-Developer-Key: i=contact@alex-min.fr; a=ed25519; pk=KOCaxY4v16ptaT0uk1FRkuaDF2n1JhmnYwLiqWD76M4= X-Endpoint-Received: by B4 Relay for contact@alex-min.fr/20260421 with auth_id=743 X-Original-From: Alexandre MINETTE Reply-To: contact@alex-min.fr From: Alexandre MINETTE Add the compatible for the Qualcomm APQ8064-based Samsung Galaxy S4, codenamed jflte. Acked-by: Krzysztof Kozlowski Signed-off-by: Alexandre MINETTE --- Documentation/devicetree/bindings/arm/qcom.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index b4943123d2e4..b7e186ed2efc 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -39,6 +39,7 @@ properties: - enum: - asus,nexus7-flo - lg,nexus4-mako + - samsung,jflte - sony,xperia-yuga - qcom,apq8064-cm-qs600 - qcom,apq8064-ifc6410 --=20 2.43.0 From nobody Fri Oct 2 07:47:37 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A81BB2931D0; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825293; cv=none; b=QKHtkeqRfMKpKnh93ErRIRrkFpf0JhRVbTVyf0e/WCDr/xH4W0ys/bZrJIBGd1OK+hlrZYLkll0tRXdUvBbEN+5RuBdJhwxJ62md7kg61jLrSH4x8PrI20YoGLvpGNqiN24biOVAB4Aw6w8ymcpwFtHMENiV6xRhZREABdIgbYw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825293; c=relaxed/simple; bh=mPhyr+m6FccjeCyl858n8ry/bKAmUmXxe9RxnWJQWDo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JLKD81tElBVLp0FQLIsN1DeGhbuU6EeP9emxEV9hwqwkE0sZlC1JrzGCr5geRA4AoCSCDMaB/M41KpgDTeTnek4DtH3bTLSIN4F38Ms3AT2sZjMDrJW6kbT0PYBeVKuDGVBm5U+wYVUGdI3umU8NeIISz8tczAsPk5C9IQgz8FI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mI8L8nFV; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="mI8L8nFV" Received: by smtp.kernel.org (Postfix) with ESMTPS id 5ED8BC2BCFB; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1785825293; bh=mPhyr+m6FccjeCyl858n8ry/bKAmUmXxe9RxnWJQWDo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=mI8L8nFVABi1tz9sse0wyPkUDVnDutR7xh2VpYdYaMsaxJLjkyhEhnN1DAeuk4pLV U88QybAw3gu1Ug8OQSYB+iVJoFbxvOSipq9biscsgEU9ZAIE1zJLF+KwMMqamWRVu+ e/SBC56AwSPwAnl9Vzt2NKs8I+nQLOOQAef35KWkiOZLJo56AzWHTLGGH/c5Y8zPjs 9qa9cxObmzHqGMwIHGTUh4ZUkRk2USKlesO+gInqpl5wCcNs8viXWpFWrFtQM11eXj pZ0kuutUpvS+BFzMSU8Y0yn9t20yT+Io75JVj1fublo7IvzVyDeL7idht8BkmXdD1j ksUgMiHP/aoCg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3B3F6C55172; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) From: Alexandre MINETTE via B4 Relay Date: Tue, 04 Aug 2026 08:34:27 +0200 Subject: [PATCH v5 2/6] pinctrl: qcom: Register functions before enabling pinctrl Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260804-mainline-send-v1-sending-v5-2-149dd4372ac8@alex-min.fr> References: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> In-Reply-To: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , MyungJoo Ham , Chanwoo Choi , Guru Das Srinagesh , Linus Walleij , Rob Clark , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Lee Jones Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, phone-devel@vger.kernel.org, Alexandre MINETTE , Konrad Dybcio X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785825291; l=2065; i=contact@alex-min.fr; s=20260421; h=from:subject:message-id; bh=nnkIMq70r4eCtNSj9RhMpPTd6mbuz/WSgyu3J6EV+SU=; b=OX3qclg9jTAkcjMabQ6W+eCvAfzxUFjsMyNfQhqIUQ8J7tIjCLCnpzIvJnGXIfQ0g3BDJc6l1 wIGjUGd68hVAJXsbN1EF9nCS/1CEX/7zAij9hsT4jRwEY8VoqFYmMck X-Developer-Key: i=contact@alex-min.fr; a=ed25519; pk=KOCaxY4v16ptaT0uk1FRkuaDF2n1JhmnYwLiqWD76M4= X-Endpoint-Received: by B4 Relay for contact@alex-min.fr/20260421 with auth_id=743 X-Original-From: Alexandre MINETTE Reply-To: contact@alex-min.fr From: Alexandre MINETTE pinctrl consumers can request states while the pinctrl core enables the controller. On Qualcomm pinctrl drivers this can happen before the SoC function list has been registered, which leaves the function table incomplete during state lookup. On APQ8064 this can fail while claiming pinctrl hogs: apq8064-pinctrl 800000.pinctrl: invalid function ps_hold in map table apq8064-pinctrl 800000.pinctrl: error claiming hogs: -22 apq8064-pinctrl 800000.pinctrl: could not claim hogs: -22 Register Qualcomm pinctrl with devm_pinctrl_register_and_init(), add the SoC pin functions, and only then enable the pinctrl device. Reviewed-by: Konrad Dybcio Signed-off-by: Alexandre MINETTE Acked-by: Linus Walleij --- drivers/pinctrl/qcom/pinctrl-msm.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinc= trl-msm.c index 45b3a2763eb8..a2a1e0835735 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -1593,11 +1593,11 @@ int msm_pinctrl_probe(struct platform_device *pdev, pctrl->desc.pins =3D pctrl->soc->pins; pctrl->desc.npins =3D pctrl->soc->npins; =20 - pctrl->pctrl =3D devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl); - if (IS_ERR(pctrl->pctrl)) { - dev_err(&pdev->dev, "Couldn't register pinctrl driver\n"); - return PTR_ERR(pctrl->pctrl); - } + ret =3D devm_pinctrl_register_and_init(&pdev->dev, &pctrl->desc, + pctrl, &pctrl->pctrl); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "Couldn't register pinctrl driver\n"); =20 for (i =3D 0; i < soc_data->nfunctions; i++) { func =3D &soc_data->functions[i]; @@ -1607,6 +1607,11 @@ int msm_pinctrl_probe(struct platform_device *pdev, return ret; } =20 + ret =3D pinctrl_enable(pctrl->pctrl); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "Couldn't enable pinctrl driver\n"); + ret =3D msm_gpio_init(pctrl); if (ret) return ret; --=20 2.43.0 From nobody Fri Oct 2 07:47:37 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CAFE53806AD; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825293; cv=none; b=ff0+qWOKFjhyCjaZWof0b6YqPwgUvYkwZs2rI19DKbOsXfAVWG9WukuRgA2bPgZS8uYrvzHSEcgTOUvI3Qe8lIU8ORtylMLJgCdCwm3kpnRKAdNlKBcZexJ4IkW5+HUjhxo4Kd1W2yu6Kk97HFD44nLoxcxVMGrrEl2VJAs+ZN0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825293; c=relaxed/simple; bh=BXZ5QG6v4UDK57mLHZRzAVjTQ4P7nYL957IdTPYYDiM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HMsxgvHUNMZ0unkSQJmmV5seXkFyzgZSoqOj7aAqkL9VFvDE4WJZXLJtLqvbAXzqjosKsN5f6+ymfO5hgzssRy/RMlHf7PD2Q0HQuqIMCKsuEZUcDXmOdZfa+kwrf8Pl5A81lWQ1szr6y018ULpgAwJnqIZEGVE1IKbeT45BgnQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EUhAVdVZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="EUhAVdVZ" Received: by smtp.kernel.org (Postfix) with ESMTPS id 74591C32781; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1785825293; bh=BXZ5QG6v4UDK57mLHZRzAVjTQ4P7nYL957IdTPYYDiM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=EUhAVdVZCP6DZMC7jg79P65z31kF0qedRcXE0fznJ+5HE5H5lz48jjPNki+Cjm3FF j5ZXLH4VShPvpo6xGGPZQe1dwpT3bX6/Q4hv2V2r98Hjz++qaBeDjXYvi8O9BNR6ly fsOS+0EjrEKSzfKCrmgi+ZKp8VGlOJXyOkkyxa8yKnzW2mSA9n+18dTKkV7GKtYsx/ ke6WcDsSoCuShBtIbq4+UwKBbqQEI0CMveLRa6IKN6+1zRG8geGas9ShFtWplNkG1f fo9axBqgpyW6g4z6UEUiUq/0QbqRWjRBtOWZ6DdYju8uzTBbRy3ysRw+34OOx+jB3c NJzcNNOW1zx3g== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 54299C55ABA; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) From: Alexandre MINETTE via B4 Relay Date: Tue, 04 Aug 2026 08:34:28 +0200 Subject: [PATCH v5 3/6] ARM: dts: qcom: apq8064: Fix USB controller clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260804-mainline-send-v1-sending-v5-3-149dd4372ac8@alex-min.fr> References: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> In-Reply-To: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , MyungJoo Ham , Chanwoo Choi , Guru Das Srinagesh , Linus Walleij , Rob Clark , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Lee Jones Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, phone-devel@vger.kernel.org, Alexandre MINETTE , Antony Kurniawan Soemardi , Konrad Dybcio , Dmitry Baryshkov X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785825291; l=3024; i=contact@alex-min.fr; s=20260421; h=from:subject:message-id; bh=GqHsba4If8+Q0/z6LsTrLfjYZUS+n2wsp24jrmw+SmI=; b=BBX5BTeK84OoiAVsIiCV61vq9MF1qwR42XtswgBMyZWdYUfjTWw1QzUC0KEUPh6PCTw5kvrtk q4n3ZMffYAkA3uzzY3NQvTEvJrFUrN7j7ix8W+JfzKoHvxsyBpaDxnZ X-Developer-Key: i=contact@alex-min.fr; a=ed25519; pk=KOCaxY4v16ptaT0uk1FRkuaDF2n1JhmnYwLiqWD76M4= X-Endpoint-Received: by B4 Relay for contact@alex-min.fr/20260421 with auth_id=743 X-Original-From: Alexandre MINETTE Reply-To: contact@alex-min.fr From: Alexandre MINETTE The APQ8064 HS USB controller nodes describe the transceiver clock as "core", but the ChipIdea MSM glue expects "core" to be the controller fabric clock and "fs" to be the transceiver clock. This mismatch can leave the fabric clock disabled while the controller is accessed. Some boards may tolerate that if the clock is already enabled elsewhere, but it is not a correct description of the hardware. Describe the RPM Daytona fabric clock as "core", the AHB clock as "iface", and the transceiver clock as "fs" for all APQ8064 HS USB controllers. Without this, USB does not probe reliably on Samsung Galaxy S4 because the fabric clock remains disabled. Link: https://lore.kernel.org/all/20260516-qcom-ci-hdrc-clock-fix-v2-1-aaec= 8d33d0aa@smankusors.com/ Suggested-by: Antony Kurniawan Soemardi Signed-off-by: Alexandre MINETTE Acked-by: Konrad Dybcio Reviewed-by: Dmitry Baryshkov Reviewed-by: Linus Walleij --- arch/arm/boot/dts/qcom/qcom-apq8064.dtsi | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/arch/arm/boot/dts/qcom/qcom-apq8064.dtsi b/arch/arm/boot/dts/q= com/qcom-apq8064.dtsi index 09062b2ad8ba..d64a162abdad 100644 --- a/arch/arm/boot/dts/qcom/qcom-apq8064.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-apq8064.dtsi @@ -813,8 +813,10 @@ usb1: usb@12500000 { reg =3D <0x12500000 0x200>, <0x12500200 0x200>; interrupts =3D ; - clocks =3D <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>; - clock-names =3D "core", "iface"; + clocks =3D <&gcc USB_HS1_H_CLK>, + <&rpmcc RPM_DAYTONA_FABRIC_CLK>, + <&gcc USB_HS1_XCVR_CLK>; + clock-names =3D "iface", "core", "fs"; assigned-clocks =3D <&gcc USB_HS1_XCVR_CLK>; assigned-clock-rates =3D <60000000>; resets =3D <&gcc USB_HS1_RESET>; @@ -844,8 +846,10 @@ usb3: usb@12520000 { reg =3D <0x12520000 0x200>, <0x12520200 0x200>; interrupts =3D ; - clocks =3D <&gcc USB_HS3_XCVR_CLK>, <&gcc USB_HS3_H_CLK>; - clock-names =3D "core", "iface"; + clocks =3D <&gcc USB_HS3_H_CLK>, + <&rpmcc RPM_DAYTONA_FABRIC_CLK>, + <&gcc USB_HS3_XCVR_CLK>; + clock-names =3D "iface", "core", "fs"; assigned-clocks =3D <&gcc USB_HS3_XCVR_CLK>; assigned-clock-rates =3D <60000000>; resets =3D <&gcc USB_HS3_RESET>; @@ -875,8 +879,10 @@ usb4: usb@12530000 { reg =3D <0x12530000 0x200>, <0x12530200 0x200>; interrupts =3D ; - clocks =3D <&gcc USB_HS4_XCVR_CLK>, <&gcc USB_HS4_H_CLK>; - clock-names =3D "core", "iface"; + clocks =3D <&gcc USB_HS4_H_CLK>, + <&rpmcc RPM_DAYTONA_FABRIC_CLK>, + <&gcc USB_HS4_XCVR_CLK>; + clock-names =3D "iface", "core", "fs"; assigned-clocks =3D <&gcc USB_HS4_XCVR_CLK>; assigned-clock-rates =3D <60000000>; resets =3D <&gcc USB_HS4_RESET>; --=20 2.43.0 From nobody Fri Oct 2 07:47:37 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF6B63F54A7; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825293; cv=none; b=L0UwfmgS3wQrFSbhrUgl8KqlMnku45nMi3BMm/7lJPabXg91MYWc7utmSodFjJjlIVizOO7fbQe4SCaKv/URN13GLwbu51ad0AxtjkO7AhoTFw5VWg+4JbdaTr3aVxO8CASbLVV0JAQrtnw4lo6KIuXIu7tPEPW2JpaFGkp+qqQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825293; c=relaxed/simple; bh=eK5KW5XaUhZgqtyPX8V2F4qYGjamjcNJA3BtmtkTQS8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IouhdfY18Gg0fO0kOe5gmrEyoCOXi2kLU3kxounDYa8PeTeKAAT3eCRo3DfPt2gqrNFnMUatYkL5eligE/buJmFTFtT0oCj2VwBokVczvS7W0LS+iQ/Zo+g0Fr2TfjnCnD8ArGQ0Sc70PN1IJj+X6XJzyCUAdyRqeKhvmlRQ8UA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hrkftVbb; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hrkftVbb" Received: by smtp.kernel.org (Postfix) with ESMTPS id 8210BC32782; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1785825293; bh=eK5KW5XaUhZgqtyPX8V2F4qYGjamjcNJA3BtmtkTQS8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=hrkftVbbVpsjaBazvrW+5RpjwsfwAU44Zc1TMFeIJsHxrBDdyAuM9fw7EMiaSuUnz e2EFjMZOvizPrxNMb8kIyV/J4CFNTh6uxu739yI9p+oU9NyX2VgFqy2yMnPFbe4rGb pOO5kBSawYaA63Mx6hrXcqKOU3223R9z5xUxcc0c20b1ux91lHUxPA0jnkPRCg0k3x lnic8ZJgSw6cPXVpu/S9JpiyOwIHSjvXXoKH3k3bojwA196UOqupO5zTx+8VciaN6g OdoeeqtV3pGU+H4ZKEa33zkqZvN3MHjoQkosBlalhoX/xI3usSYXbJeW7MQi5AS7kU LjAOgjpTSWMvA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D07DC55822; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) From: Alexandre MINETTE via B4 Relay Date: Tue, 04 Aug 2026 08:34:29 +0200 Subject: [PATCH v5 4/6] mfd: qcom-pm8xxx: register PM8921 USB ID extcon Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260804-mainline-send-v1-sending-v5-4-149dd4372ac8@alex-min.fr> References: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> In-Reply-To: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , MyungJoo Ham , Chanwoo Choi , Guru Das Srinagesh , Linus Walleij , Rob Clark , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Lee Jones Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, phone-devel@vger.kernel.org, Alexandre MINETTE X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785825291; l=4481; i=contact@alex-min.fr; s=20260421; h=from:subject:message-id; bh=wPc9N22m75KCBH5Mx8x+Rn9GxrIKl+3I5FlNe49Dud8=; b=AgEhyT6BbJ0Sh/anXoARwsndzLeaIzEpcd3a20ANPGMxdaNJThJIwug5pgOAFMF+UnPlWTpET xx/jQ7vtL/UDAWTR5hz7TfZq5EITnS9kMnoMDpalgnHqeCehIPyAB7Z X-Developer-Key: i=contact@alex-min.fr; a=ed25519; pk=KOCaxY4v16ptaT0uk1FRkuaDF2n1JhmnYwLiqWD76M4= X-Endpoint-Received: by B4 Relay for contact@alex-min.fr/20260421 with auth_id=743 X-Original-From: Alexandre MINETTE Reply-To: contact@alex-min.fr From: Alexandre MINETTE PM8921 reports the USB ID pin through interrupt 49 of its interrupt controller. Unlike PM8941, this path has no separate addressable misc block to represent as a devicetree child node. Register a child platform device for the existing Qualcomm USB extcon driver after creating the PMIC IRQ domain. Pass the USB ID interrupt as a named resource and reuse the PM8921 firmware node, allowing consumers to reference the PMIC node directly as their extcon provider. Unregister the child device and dispose of the IRQ mapping when the PMIC is removed or probing fails. Signed-off-by: Alexandre MINETTE --- drivers/mfd/qcom-pm8xxx.c | 78 +++++++++++++++++++++++++++++++++++++++++++= ++-- 1 file changed, 76 insertions(+), 2 deletions(-) diff --git a/drivers/mfd/qcom-pm8xxx.c b/drivers/mfd/qcom-pm8xxx.c index 0cf374c015ce..884fc99a1488 100644 --- a/drivers/mfd/qcom-pm8xxx.c +++ b/drivers/mfd/qcom-pm8xxx.c @@ -7,6 +7,7 @@ =20 #include #include +#include #include #include #include @@ -64,12 +65,15 @@ =20 struct pm_irq_data { int num_irqs; + int usb_id_irq; struct irq_chip *irq_chip; irq_handler_t irq_handler; }; =20 struct pm_irq_chip { struct regmap *regmap; + struct platform_device *usb_extcon; + unsigned int usb_id_irq; spinlock_t pm_irq_lock; struct irq_domain *irqdomain; unsigned int num_blocks; @@ -492,6 +496,13 @@ static const struct pm_irq_data pm8xxx_data =3D { .irq_handler =3D pm8xxx_irq_handler, }; =20 +static const struct pm_irq_data pm8921_data =3D { + .num_irqs =3D PM8XXX_NR_IRQS, + .usb_id_irq =3D 49, + .irq_chip =3D &pm8xxx_irq_chip, + .irq_handler =3D pm8xxx_irq_handler, +}; + static const struct pm_irq_data pm8821_data =3D { .num_irqs =3D PM8821_NR_IRQS, .irq_chip =3D &pm8821_irq_chip, @@ -501,11 +512,60 @@ static const struct pm_irq_data pm8821_data =3D { static const struct of_device_id pm8xxx_id_table[] =3D { { .compatible =3D "qcom,pm8058", .data =3D &pm8xxx_data}, { .compatible =3D "qcom,pm8821", .data =3D &pm8821_data}, - { .compatible =3D "qcom,pm8921", .data =3D &pm8xxx_data}, + { .compatible =3D "qcom,pm8921", .data =3D &pm8921_data}, { } }; MODULE_DEVICE_TABLE(of, pm8xxx_id_table); =20 +static int pm8xxx_add_usb_extcon(struct platform_device *pdev, + struct pm_irq_chip *chip, + unsigned int hwirq) +{ + struct irq_fwspec fwspec =3D { + .fwnode =3D dev_fwnode(&pdev->dev), + .param_count =3D 2, + .param =3D { hwirq, IRQ_TYPE_EDGE_BOTH }, + }; + struct platform_device_info pdevinfo =3D { + .parent =3D &pdev->dev, + .fwnode =3D dev_fwnode(&pdev->dev), + .of_node_reused =3D true, + .name =3D "qcom-pm8xxx-usb-id", + .id =3D PLATFORM_DEVID_NONE, + }; + struct resource resource; + + chip->usb_id_irq =3D irq_create_fwspec_mapping(&fwspec); + if (!chip->usb_id_irq) + return -ENXIO; + + resource =3D DEFINE_RES_IRQ_NAMED(chip->usb_id_irq, "usb_id"); + pdevinfo.res =3D &resource; + pdevinfo.num_res =3D 1; + + chip->usb_extcon =3D platform_device_register_full(&pdevinfo); + if (IS_ERR(chip->usb_extcon)) { + int ret =3D PTR_ERR(chip->usb_extcon); + + chip->usb_extcon =3D NULL; + irq_dispose_mapping(chip->usb_id_irq); + chip->usb_id_irq =3D 0; + + return ret; + } + + return 0; +} + +static void pm8xxx_remove_usb_extcon(struct pm_irq_chip *chip) +{ + if (chip->usb_extcon) + platform_device_unregister(chip->usb_extcon); + + if (chip->usb_id_irq) + irq_dispose_mapping(chip->usb_id_irq); +} + static int pm8xxx_probe(struct platform_device *pdev) { const struct pm_irq_data *data; @@ -570,9 +630,22 @@ static int pm8xxx_probe(struct platform_device *pdev) =20 irq_set_irq_wake(irq, 1); =20 + if (data->usb_id_irq) { + rc =3D pm8xxx_add_usb_extcon(pdev, chip, data->usb_id_irq); + if (rc) + goto err_domain; + } + rc =3D of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev); if (rc) - irq_domain_remove(chip->irqdomain); + goto err_extcon; + + return 0; + +err_extcon: + pm8xxx_remove_usb_extcon(chip); +err_domain: + irq_domain_remove(chip->irqdomain); =20 return rc; } @@ -582,6 +655,7 @@ static void pm8xxx_remove(struct platform_device *pdev) struct pm_irq_chip *chip =3D platform_get_drvdata(pdev); =20 of_platform_depopulate(&pdev->dev); + pm8xxx_remove_usb_extcon(chip); irq_domain_remove(chip->irqdomain); } =20 --=20 2.43.0 From nobody Fri Oct 2 07:47:37 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DAD603FC5A4; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825293; cv=none; b=qm6z0pqMvmcSBzAd4nusHU3kMlPP+H+81wzIubrBgAarHCJ+9+YAkAF+GQyjbLKblHD1NaKtU/Mkc+e22KPSLqJREOkFEfqclKKZcIwnbxAqYOeUy9yDM0RrTm2/H9RrMUI3gJGVc4quEOTf3U/N9xg7GMiRAUgLMTzD5GXMEpE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825293; c=relaxed/simple; bh=ho6QcQ1LKbLfIoHgvQi0DuiBjdbVeMQkcjFmCfEHeC0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OACfG9YfNcA+Chcbz+Mgn0pqGS4cQGX89CWOBmV3jd+uGFUlnQccl4R2jqfr8uXCf5VyUuVUZmjEYWouKn0aePhW5M/ih8wGiZXhCazojlqpkQEukv0prKC4ONCdOA0IMliQr2A687M15MEdyrNBx7sPDsXs/I1HvEvxYyyPQ+k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VJGNQn6u; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VJGNQn6u" Received: by smtp.kernel.org (Postfix) with ESMTPS id 9607CC2BD00; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1785825293; bh=ho6QcQ1LKbLfIoHgvQi0DuiBjdbVeMQkcjFmCfEHeC0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=VJGNQn6uqBx8y5afMK98JlVnzi0TAphHYb+Er8KcmL7WvqNGrAtgGU+ZKVz30KBOw B5FIF91brP3I2JvIc9DDh9pWdTAscIfSeeQlocg3rD15jK4hiAGCd0jpYeSluuyDlQ yHZ1isWFkySaGel7gunBwl4cIY/fHPbHy3OscnHbEvKBVhXcE+KYBHcoPK3peHubR+ ymlhUFi7xmNFYXY8eOhPzbPOKMnpooDcrj+1yRri93XKHdzRESJZD4PTA6MGW/vpC+ 6oVP0ixBelQI1y12isuEWL3wER4LpUfAdgMYQfxiPVzrINjKTSqRcmYhpm8aTvXI/j /Pq+Rl3FDqTsQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83DAAC55172; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) From: Alexandre MINETTE via B4 Relay Date: Tue, 04 Aug 2026 08:34:30 +0200 Subject: [PATCH v5 5/6] extcon: qcom-spmi-misc: match PM8xxx USB ID platform device Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260804-mainline-send-v1-sending-v5-5-149dd4372ac8@alex-min.fr> References: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> In-Reply-To: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , MyungJoo Ham , Chanwoo Choi , Guru Das Srinagesh , Linus Walleij , Rob Clark , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Lee Jones Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, phone-devel@vger.kernel.org, Alexandre MINETTE X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785825291; l=1259; i=contact@alex-min.fr; s=20260421; h=from:subject:message-id; bh=GY8HHAKQAe9p+CGliq7ltiYrSns53pS1wL6cDILgUI0=; b=ZLboheVqEulZk767LeMAQIhKgzjMzsE9seG0dIqxjEa/av+wcyMuf7HKKNGCow88t9DvLFo6g CJwRNYVEFXxB5ZKI1DlVEYny8s165aSEas87LF4guXotYkN0emTH9Gw X-Developer-Key: i=contact@alex-min.fr; a=ed25519; pk=KOCaxY4v16ptaT0uk1FRkuaDF2n1JhmnYwLiqWD76M4= X-Endpoint-Received: by B4 Relay for contact@alex-min.fr/20260421 with auth_id=743 X-Original-From: Alexandre MINETTE Reply-To: contact@alex-min.fr From: Alexandre MINETTE The PM8xxx MFD registers the PM8921 USB ID detector as a platform device named "qcom-pm8xxx-usb-id". Its reused firmware node remains compatible with "qcom,pm8921", so it does not match the extcon driver's OF table. Add a platform device ID so the existing extcon driver binds to this device and consumes its named USB ID interrupt. Signed-off-by: Alexandre MINETTE --- drivers/extcon/extcon-qcom-spmi-misc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/extcon/extcon-qcom-spmi-misc.c b/drivers/extcon/extcon= -qcom-spmi-misc.c index afaba5685c3d..e16c109b553e 100644 --- a/drivers/extcon/extcon-qcom-spmi-misc.c +++ b/drivers/extcon/extcon-qcom-spmi-misc.c @@ -204,8 +204,15 @@ static const struct of_device_id qcom_usb_extcon_dt_ma= tch[] =3D { }; MODULE_DEVICE_TABLE(of, qcom_usb_extcon_dt_match); =20 +static const struct platform_device_id qcom_usb_extcon_id[] =3D { + { "qcom-pm8xxx-usb-id" }, + { } +}; +MODULE_DEVICE_TABLE(platform, qcom_usb_extcon_id); + static struct platform_driver qcom_usb_extcon_driver =3D { .probe =3D qcom_usb_extcon_probe, + .id_table =3D qcom_usb_extcon_id, .driver =3D { .name =3D "extcon-pm8941-misc", .pm =3D &qcom_usb_extcon_pm_ops, --=20 2.43.0 From nobody Fri Oct 2 07:47:37 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E980A418A46; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825294; cv=none; b=RxQU/+gFIdeqXKOuziwCt64dZgBIRThjjMC4T0gi9tHIxaeVMzohYqd/wzWEIFtcOL5+0kN8DPknnkJlfNYzCIdwHawr4w4WBEmdiq73k5pBVnL0eZHlB3tmGL0lDTPmqK4zeBbfRbRwcRctpTSOMX1QvfAUPh1lhSIIZqjsb/8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785825294; c=relaxed/simple; bh=ZXGBIkqhaC/awwGXlefu5+BJ3+U0qxIHAsVBNIR8Ul8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QRBt+9Rh2WnAmEsIhTG7fq1+f+fczWTM1VZYHC7Tpmk0icViqnZ1zIwn1HArgi7Zj5VUUJ8fqDEKqCaQ8MMDRV2myBdN33CJRNdpizoyyffs80ERTqsHrXiNjF+TvWEeyi+aakW37N0M3D3TMXjgEDmaXsUEXw8VTZ38nLL1x5Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QqElx2+t; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QqElx2+t" Received: by smtp.kernel.org (Postfix) with ESMTPS id B0E3AC2BCFC; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1785825293; bh=ZXGBIkqhaC/awwGXlefu5+BJ3+U0qxIHAsVBNIR8Ul8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=QqElx2+twu/61EHJmoBJhfumi7RydVBrJ3Z61pLFpgOcS/blkf9I7mqgWWyH/cpGA c0GJagkfsYn1GY8Z1lWWUG7u7LU1nUvo6OnBczBKaxbXQRbXBbAz+tklpoJniEHhup 6dmsbq7FosdvIdwGST3+5pGUDg+WXFcDQPsXtt0In5MuYJI4sjXAjvJlVNB/ge8Jxf 7e3Gnms6wZWfCvGn7Tqhji9DTsqNJq4yocJPNKuSxXwHwBnDX+wyVRwQSgPfpstScV RvwAIJK3DYQLLJGea3OvqwLQ/QfpZYWJp8W3arPPeT3QN0RlBgZeinOHq3h7mIMkv1 udvmuE+oFs8vQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E3FDC55184; Tue, 4 Aug 2026 06:34:53 +0000 (UTC) From: Alexandre MINETTE via B4 Relay Date: Tue, 04 Aug 2026 08:34:31 +0200 Subject: [PATCH v5 6/6] ARM: dts: qcom: Add Samsung Galaxy S4 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260804-mainline-send-v1-sending-v5-6-149dd4372ac8@alex-min.fr> References: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> In-Reply-To: <20260804-mainline-send-v1-sending-v5-0-149dd4372ac8@alex-min.fr> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , MyungJoo Ham , Chanwoo Choi , Guru Das Srinagesh , Linus Walleij , Rob Clark , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Lee Jones Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, phone-devel@vger.kernel.org, Alexandre MINETTE , David Heidelberg , Konrad Dybcio X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785825291; l=12007; i=contact@alex-min.fr; s=20260421; h=from:subject:message-id; bh=Y8+JZYBwWT+sQIW4KrdTM+XTllkiOtzJUQ3SVFzGjD0=; b=Kcu5bFi10BCjMF5nUyes+9vXuAAo1Ql5r6nG/WQvmLSK/TCfK+geC5EUtyme5iZlSGNAYarK7 +ZkOG7AfU3XDtGGqazGcNswudAtpQT3ArcyS5u76AOCqvb7d1fRE48L X-Developer-Key: i=contact@alex-min.fr; a=ed25519; pk=KOCaxY4v16ptaT0uk1FRkuaDF2n1JhmnYwLiqWD76M4= X-Endpoint-Received: by B4 Relay for contact@alex-min.fr/20260421 with auth_id=743 X-Original-From: Alexandre MINETTE Reply-To: contact@alex-min.fr From: Alexandre MINETTE Add a device tree for the Samsung Galaxy S4, codenamed jflte. This has been tested on a Samsung Galaxy S4 GT-I9505. The initial support covers UART, USB peripheral mode with USB networking, the front LED and the physical buttons. Acked-by: David Heidelberg Reviewed-by: Konrad Dybcio Signed-off-by: Alexandre MINETTE --- arch/arm/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/qcom-apq8064-samsung-jflte.dts | 481 +++++++++++++++++= ++++ 2 files changed, 482 insertions(+) diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makef= ile index 32a44b02d2fa..6f89ba426f98 100644 --- a/arch/arm/boot/dts/qcom/Makefile +++ b/arch/arm/boot/dts/qcom/Makefile @@ -13,6 +13,7 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D \ qcom-apq8064-sony-xperia-lagan-yuga.dtb \ qcom-apq8064-asus-nexus7-flo.dtb \ qcom-apq8064-lg-nexus4-mako.dtb \ + qcom-apq8064-samsung-jflte.dtb \ qcom-apq8074-dragonboard.dtb \ qcom-ipq4018-ap120c-ac.dtb \ qcom-ipq4018-ap120c-ac-bit.dtb \ diff --git a/arch/arm/boot/dts/qcom/qcom-apq8064-samsung-jflte.dts b/arch/a= rm/boot/dts/qcom/qcom-apq8064-samsung-jflte.dts new file mode 100644 index 000000000000..75ae19af96e5 --- /dev/null +++ b/arch/arm/boot/dts/qcom/qcom-apq8064-samsung-jflte.dts @@ -0,0 +1,481 @@ +// SPDX-License-Identifier: GPL-2.0-only +#include +#include +#include +#include +#include + +#include "qcom-apq8064-v2.0.dtsi" +#include "pm8821.dtsi" +#include "pm8921.dtsi" + +/ { + model =3D "Samsung Galaxy S4 (jflte)"; + compatible =3D "samsung,jflte", "qcom,apq8064"; + chassis-type =3D "handset"; + + aliases { + serial0 =3D &gsbi7_serial; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + reserved-memory { + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; + + ramoops@88d00000 { + compatible =3D "ramoops"; + reg =3D <0x88d00000 0x100000>; + record-size =3D <0x20000>; + console-size =3D <0x20000>; + ftrace-size =3D <0x20000>; + }; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + pinctrl-0 =3D <&gpio_keys_default>; + pinctrl-names =3D "default"; + + key-home { + label =3D "Home"; + gpios =3D <&pm8921_gpio 30 GPIO_ACTIVE_LOW>; + debounce-interval =3D <5>; + linux,code =3D ; + wakeup-source; + }; + + key-volume-up { + label =3D "Volume Up"; + gpios =3D <&pm8921_gpio 35 GPIO_ACTIVE_LOW>; + debounce-interval =3D <5>; + linux,code =3D ; + wakeup-source; + }; + + key-volume-down { + label =3D "Volume Down"; + gpios =3D <&pm8921_gpio 37 GPIO_ACTIVE_LOW>; + debounce-interval =3D <5>; + linux,code =3D ; + wakeup-source; + }; + }; + + i2c-led { + compatible =3D "i2c-gpio"; + sda-gpios =3D <&tlmm_pinmux 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios =3D <&tlmm_pinmux 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us =3D <2>; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + led-controller@30 { + compatible =3D "panasonic,an30259a"; + reg =3D <0x30>; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + led@1 { + reg =3D <1>; + function =3D LED_FUNCTION_STATUS; + color =3D ; + }; + + led@2 { + reg =3D <2>; + function =3D LED_FUNCTION_STATUS; + color =3D ; + }; + + led@3 { + reg =3D <3>; + function =3D LED_FUNCTION_STATUS; + color =3D ; + }; + }; + }; + + i2c-muic { + compatible =3D "i2c-gpio"; + sda-gpios =3D <&tlmm_pinmux 22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios =3D <&tlmm_pinmux 23 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us =3D <2>; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + max77693: pmic@66 { + compatible =3D "maxim,max77693"; + reg =3D <0x66>; + interrupt-parent =3D <&tlmm_pinmux>; + interrupts =3D <55 IRQ_TYPE_EDGE_FALLING>; + pinctrl-0 =3D <&muic_int_default_state>; + pinctrl-names =3D "default"; + + muic: muic { + compatible =3D "maxim,max77693-muic"; + safeout1-supply =3D <&esafeout1_reg>; + safeout2-supply =3D <&esafeout2_reg>; + }; + + regulators { + esafeout1_reg: ESAFEOUT1 { + regulator-name =3D "ESAFEOUT1"; + }; + + esafeout2_reg: ESAFEOUT2 { + regulator-name =3D "ESAFEOUT2"; + }; + }; + }; + }; +}; + +&gsbi7 { + qcom,mode =3D ; + + status =3D "okay"; +}; + +&gsbi7_serial { + pinctrl-0 =3D <&gsbi7_uart_pin_a>; + pinctrl-names =3D "default"; + + status =3D "okay"; +}; + +&pm8821 { + interrupts-extended =3D <&tlmm_pinmux 76 IRQ_TYPE_LEVEL_LOW>; +}; + +&pm8921 { + interrupts-extended =3D <&tlmm_pinmux 74 IRQ_TYPE_LEVEL_LOW>; +}; + +&riva { + pinctrl-0 =3D <&riva_wlan_pin_a>, <&riva_bt_pin_a>, <&riva_fm_pin_a>; + pinctrl-names =3D "default"; + + vddcx-supply =3D <&pm8921_s3>; + vddmx-supply =3D <&pm8921_l24>; + vddpx-supply =3D <&pm8921_s4>; + + status =3D "okay"; + + iris { + vddxo-supply =3D <&pm8921_l4>; + vddrfa-supply =3D <&pm8921_s2>; + vddpa-supply =3D <&pm8921_l10>; + vdddig-supply =3D <&pm8921_lvs2>; + }; +}; + +&rpm { + regulators { + compatible =3D "qcom,rpm-pm8921-regulators"; + + vdd_l1_l2_l12_l18-supply =3D <&pm8921_s4>; + vdd_l24-supply =3D <&pm8921_s1>; + vdd_l25-supply =3D <&pm8921_s1>; + vdd_l26-supply =3D <&pm8921_s7>; + vdd_l27-supply =3D <&pm8921_s7>; + vdd_l28-supply =3D <&pm8921_s7>; + vin_lvs1_3_6-supply =3D <&pm8921_s4>; + vin_lvs2-supply =3D <&pm8921_s1>; + vin_lvs4_5_7-supply =3D <&pm8921_s4>; + + pm8921_l1: l1 { + regulator-min-microvolt =3D <1100000>; + regulator-max-microvolt =3D <1100000>; + regulator-always-on; + bias-pull-down; + }; + + /* mipi_dsi.1-dsi1_pll_vdda */ + pm8921_l2: l2 { + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + bias-pull-down; + }; + + /* msm_otg-HSUSB_3p3 */ + pm8921_l3: l3 { + regulator-min-microvolt =3D <3075000>; + regulator-max-microvolt =3D <3500000>; + bias-pull-down; + }; + + /* msm_otg-HSUSB_1p8 */ + pm8921_l4: l4 { + regulator-always-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + + /* msm_sdcc.1-sdc_vdd */ + pm8921_l5: l5 { + regulator-min-microvolt =3D <2950000>; + regulator-max-microvolt =3D <2950000>; + bias-pull-down; + }; + + /* earjack_debug */ + pm8921_l6: l6 { + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + bias-pull-down; + }; + + /* mipi_dsi.1-dsi_vci */ + pm8921_l8: l8 { + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <3000000>; + bias-pull-down; + }; + + /* wcnss_wlan.0-iris_vddpa */ + pm8921_l10: l10 { + regulator-min-microvolt =3D <2900000>; + regulator-max-microvolt =3D <2900000>; + bias-pull-down; + }; + + /* mipi_dsi.1-dsi1_avdd */ + pm8921_l11: l11 { + regulator-min-microvolt =3D <2850000>; + regulator-max-microvolt =3D <2850000>; + bias-pull-down; + }; + + /* touch_vdd */ + pm8921_l15: l15 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2950000>; + bias-pull-down; + }; + + /* slimport_dvdd */ + pm8921_l18: l18 { + regulator-min-microvolt =3D <1100000>; + regulator-max-microvolt =3D <1100000>; + bias-pull-down; + }; + + /* touch_io */ + pm8921_l22: l22 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + bias-pull-down; + }; + + /* + * mipi_dsi.1-dsi_vddio + * pil_qdsp6v4.1-pll_vdd + * pil_qdsp6v4.2-pll_vdd + * msm_ehci_host.0-HSUSB_1p8 + * msm_ehci_host.1-HSUSB_1p8 + */ + pm8921_l23: l23 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + bias-pull-down; + }; + + /* + * tabla2x-slim-CDC_VDDA_A_1P2V + * tabla2x-slim-VDDD_CDC_D + */ + pm8921_l24: l24 { + regulator-min-microvolt =3D <750000>; + regulator-max-microvolt =3D <1150000>; + bias-pull-down; + }; + + pm8921_l25: l25 { + regulator-min-microvolt =3D <1250000>; + regulator-max-microvolt =3D <1250000>; + regulator-always-on; + bias-pull-down; + }; + + pm8921_l26: l26 { + regulator-min-microvolt =3D <375000>; + regulator-max-microvolt =3D <1050000>; + regulator-always-on; + bias-pull-down; + }; + + pm8921_l27: l27 { + regulator-min-microvolt =3D <1100000>; + regulator-max-microvolt =3D <1100000>; + }; + + pm8921_l28: l28 { + regulator-min-microvolt =3D <1050000>; + regulator-max-microvolt =3D <1050000>; + bias-pull-down; + }; + + /* wcnss_wlan.0-iris_vddio */ + pm8921_lvs1: lvs1 { + bias-pull-down; + }; + + /* wcnss_wlan.0-iris_vdddig */ + pm8921_lvs2: lvs2 { + bias-pull-down; + }; + + pm8921_lvs3: lvs3 { + bias-pull-down; + }; + + pm8921_lvs4: lvs4 { + bias-pull-down; + }; + + pm8921_lvs5: lvs5 { + bias-pull-down; + }; + + /* mipi_dsi.1-dsi_iovcc */ + pm8921_lvs6: lvs6 { + bias-pull-down; + }; + + /* + * pil_riva-pll_vdd + * lvds.0-lvds_vdda + * mipi_dsi.1-dsi1_vddio + * hdmi_msm.0-hdmi_vdda + */ + pm8921_lvs7: lvs7 { + bias-pull-down; + }; + + pm8921_ncp: ncp { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + qcom,switch-mode-frequency =3D <1600000>; + }; + + /* Buck SMPS */ + pm8921_s1: s1 { + regulator-always-on; + regulator-min-microvolt =3D <1225000>; + regulator-max-microvolt =3D <1225000>; + qcom,switch-mode-frequency =3D <3200000>; + bias-pull-down; + }; + + pm8921_s2: s2 { + regulator-min-microvolt =3D <1300000>; + regulator-max-microvolt =3D <1300000>; + qcom,switch-mode-frequency =3D <1600000>; + bias-pull-down; + }; + + /* msm otg HSUSB_VDDCX */ + pm8921_s3: s3 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1150000>; + qcom,switch-mode-frequency =3D <4800000>; + bias-pull-down; + }; + + /* + * msm_sdcc.1-sdc-vdd_io + * tabla2x-slim-CDC_VDDA_RX + * tabla2x-slim-CDC_VDDA_TX + * tabla2x-slim-CDC_VDD_CP + * tabla2x-slim-VDDIO_CDC + */ + pm8921_s4: s4 { + regulator-always-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + qcom,switch-mode-frequency =3D <1600000>; + bias-pull-down; + qcom,force-mode =3D ; + }; + + /* + * supply vdd_l26, vdd_l27, vdd_l28 + */ + pm8921_s7: s7 { + regulator-min-microvolt =3D <1300000>; + regulator-max-microvolt =3D <1300000>; + qcom,switch-mode-frequency =3D <3200000>; + }; + + pm8921_s8: s8 { + regulator-min-microvolt =3D <2200000>; + regulator-max-microvolt =3D <2200000>; + qcom,switch-mode-frequency =3D <1600000>; + }; + }; +}; + +/* eMMC */ +&sdcc1 { + vmmc-supply =3D <&pm8921_l5>; + vqmmc-supply =3D <&pm8921_s4>; + + status =3D "okay"; +}; + +&pm8921_gpio { + gpio_keys_default: gpio-keys-default-state { + pins =3D "gpio30", "gpio35", "gpio37"; + function =3D PMIC_GPIO_FUNC_NORMAL; + input-enable; + bias-pull-up; + power-source =3D ; + }; +}; + +&tlmm_pinmux { + gsbi7_uart_pin_a: gsbi7-uart-pin-active-state { + rx-pins { + pins =3D "gpio83"; + function =3D "gsbi7"; + drive-strength =3D <2>; + bias-pull-up; + }; + + tx-pins { + pins =3D "gpio82"; + function =3D "gsbi7"; + drive-strength =3D <4>; + bias-disable; + }; + }; + + muic_int_default_state: muic-int-default-state { + pins =3D "gpio55"; + function =3D "gpio"; + drive-strength =3D <2>; + input-enable; + bias-disable; + }; +}; + +&usb_hs1_phy { + v3p3-supply =3D <&pm8921_l3>; + v1p8-supply =3D <&pm8921_l4>; + extcon =3D <&muic>; +}; + +&usb1 { + dr_mode =3D "otg"; + extcon =3D <&muic>, <&pm8921>; + + status =3D "okay"; +}; --=20 2.43.0