* [PATCH 0/4] Add SPI0 support for IPQ5424
@ 2024-11-22 12:45 Manikanta Mylavarapu
2024-11-22 12:45 ` [PATCH 1/4] dt-bindings: pinctrl: qcom: update spi0 function Manikanta Mylavarapu
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Manikanta Mylavarapu @ 2024-11-22 12:45 UTC (permalink / raw)
To: andersson, linus.walleij, robh, krzk+dt, conor+dt, konradybcio,
linux-arm-msm, linux-gpio, devicetree, linux-kernel
Cc: quic_srichara, quic_varada
Add an SPI0 node to the IPQ5424 device tree and update the relevant
bindings, GPIO pin mappings accordingly.
Manikanta Mylavarapu (4):
dt-bindings: pinctrl: qcom: update spi0 function
pinctrl: qcom: ipq5424: split spi0 pin group
arm64: dts: qcom: ipq5424: add spi0 node
arm64: dts: qcom: ipq5424: configure spi0 node for rdp466
.../bindings/pinctrl/qcom,ipq5424-tlmm.yaml | 4 +-
arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts | 45 +++++++++++++++++++
arch/arm64/boot/dts/qcom/ipq5424.dtsi | 11 +++++
drivers/pinctrl/qcom/pinctrl-ipq5424.c | 34 ++++++++++----
4 files changed, 84 insertions(+), 10 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/4] dt-bindings: pinctrl: qcom: update spi0 function
2024-11-22 12:45 [PATCH 0/4] Add SPI0 support for IPQ5424 Manikanta Mylavarapu
@ 2024-11-22 12:45 ` Manikanta Mylavarapu
2024-11-26 7:23 ` Krzysztof Kozlowski
2024-11-22 12:45 ` [PATCH 2/4] pinctrl: qcom: ipq5424: split spi0 pin group Manikanta Mylavarapu
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Manikanta Mylavarapu @ 2024-11-22 12:45 UTC (permalink / raw)
To: andersson, linus.walleij, robh, krzk+dt, conor+dt, konradybcio,
linux-arm-msm, linux-gpio, devicetree, linux-kernel
Cc: quic_srichara, quic_varada
The GPIO configuration differs for the spi0 clk, cs, miso, mosi pins.
Therefore, split the spi0 pin group and document each pin function.
Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
---
.../devicetree/bindings/pinctrl/qcom,ipq5424-tlmm.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,ipq5424-tlmm.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,ipq5424-tlmm.yaml
index 5e64a232fc7a..df284d3645c1 100644
--- a/Documentation/devicetree/bindings/pinctrl/qcom,ipq5424-tlmm.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,ipq5424-tlmm.yaml
@@ -79,8 +79,8 @@ $defs:
qdss_cti_trig_out_b0, qdss_cti_trig_in_b1, qdss_cti_trig_out_b1,
qdss_traceclk_a, qdss_tracectl_a, qdss_tracedata_a, qspi_clk,
qspi_cs, qspi_data, resout, rx0, rx1, rx2, sdc_clk, sdc_cmd,
- sdc_data, spi0, spi1, spi10, spi11, tsens_max, uart0, uart1,
- wci_txd, wci_rxd, wsi_clk, wsi_data ]
+ sdc_data, spi0_cs, spi0_clk, spi0_miso, spi0_mosi, spi1, spi10,
+ spi11, tsens_max, uart0, uart1, wci_txd, wci_rxd, wsi_clk, wsi_data ]
required:
- pins
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/4] pinctrl: qcom: ipq5424: split spi0 pin group
2024-11-22 12:45 [PATCH 0/4] Add SPI0 support for IPQ5424 Manikanta Mylavarapu
2024-11-22 12:45 ` [PATCH 1/4] dt-bindings: pinctrl: qcom: update spi0 function Manikanta Mylavarapu
@ 2024-11-22 12:45 ` Manikanta Mylavarapu
2024-11-22 12:45 ` [PATCH 3/4] arm64: dts: qcom: ipq5424: add spi0 node Manikanta Mylavarapu
2024-11-22 12:45 ` [PATCH 4/4] arm64: dts: qcom: ipq5424: configure spi0 node for rdp466 Manikanta Mylavarapu
3 siblings, 0 replies; 8+ messages in thread
From: Manikanta Mylavarapu @ 2024-11-22 12:45 UTC (permalink / raw)
To: andersson, linus.walleij, robh, krzk+dt, conor+dt, konradybcio,
linux-arm-msm, linux-gpio, devicetree, linux-kernel
Cc: quic_srichara, quic_varada
The GPIO configuration differs for the spi0 clk, cs, miso, mosi pins.
Therefore, split the spi0 pin group and assign function to each pin
as per the specification.
Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
---
drivers/pinctrl/qcom/pinctrl-ipq5424.c | 34 ++++++++++++++++++++------
1 file changed, 26 insertions(+), 8 deletions(-)
diff --git a/drivers/pinctrl/qcom/pinctrl-ipq5424.c b/drivers/pinctrl/qcom/pinctrl-ipq5424.c
index 796299cd2e4e..0d610b076da3 100644
--- a/drivers/pinctrl/qcom/pinctrl-ipq5424.c
+++ b/drivers/pinctrl/qcom/pinctrl-ipq5424.c
@@ -233,7 +233,10 @@ enum ipq5424_functions {
msm_mux_sdc_clk,
msm_mux_sdc_cmd,
msm_mux_sdc_data,
- msm_mux_spi0,
+ msm_mux_spi0_clk,
+ msm_mux_spi0_cs,
+ msm_mux_spi0_miso,
+ msm_mux_spi0_mosi,
msm_mux_spi1,
msm_mux_spi10,
msm_mux_spi11,
@@ -297,8 +300,8 @@ static const char * const qspi_clk_groups[] = {
"gpio5",
};
-static const char * const spi0_groups[] = {
- "gpio6", "gpio7", "gpio8", "gpio9",
+static const char * const spi0_clk_groups[] = {
+ "gpio6",
};
static const char * const pwm1_groups[] = {
@@ -315,14 +318,26 @@ static const char * const qdss_tracedata_a_groups[] = {
"gpio38", "gpio39",
};
+static const char * const spi0_cs_groups[] = {
+ "gpio7",
+};
+
static const char * const cri_trng1_groups[] = {
"gpio7",
};
+static const char * const spi0_miso_groups[] = {
+ "gpio8",
+};
+
static const char * const cri_trng2_groups[] = {
"gpio8",
};
+static const char * const spi0_mosi_groups[] = {
+ "gpio9",
+};
+
static const char * const cri_trng3_groups[] = {
"gpio9",
};
@@ -680,7 +695,10 @@ static const struct pinfunction ipq5424_functions[] = {
MSM_PIN_FUNCTION(sdc_clk),
MSM_PIN_FUNCTION(sdc_cmd),
MSM_PIN_FUNCTION(sdc_data),
- MSM_PIN_FUNCTION(spi0),
+ MSM_PIN_FUNCTION(spi0_clk),
+ MSM_PIN_FUNCTION(spi0_cs),
+ MSM_PIN_FUNCTION(spi0_miso),
+ MSM_PIN_FUNCTION(spi0_mosi),
MSM_PIN_FUNCTION(spi1),
MSM_PIN_FUNCTION(spi10),
MSM_PIN_FUNCTION(spi11),
@@ -700,10 +718,10 @@ static const struct msm_pingroup ipq5424_groups[] = {
PINGROUP(3, sdc_data, qspi_data, pwm2, _, _, _, _, _, _),
PINGROUP(4, sdc_cmd, qspi_cs, _, _, _, _, _, _, _),
PINGROUP(5, sdc_clk, qspi_clk, _, _, _, _, _, _, _),
- PINGROUP(6, spi0, pwm1, _, cri_trng0, qdss_tracedata_a, _, _, _, _),
- PINGROUP(7, spi0, pwm1, _, cri_trng1, qdss_tracedata_a, _, _, _, _),
- PINGROUP(8, spi0, pwm1, wci_txd, wci_rxd, _, cri_trng2, qdss_tracedata_a, _, _),
- PINGROUP(9, spi0, pwm1, _, cri_trng3, qdss_tracedata_a, _, _, _, _),
+ PINGROUP(6, spi0_clk, pwm1, _, cri_trng0, qdss_tracedata_a, _, _, _, _),
+ PINGROUP(7, spi0_cs, pwm1, _, cri_trng1, qdss_tracedata_a, _, _, _, _),
+ PINGROUP(8, spi0_miso, pwm1, wci_txd, wci_rxd, _, cri_trng2, qdss_tracedata_a, _, _),
+ PINGROUP(9, spi0_mosi, pwm1, _, cri_trng3, qdss_tracedata_a, _, _, _, _),
PINGROUP(10, uart0, pwm0, spi11, _, wci_txd, wci_rxd, _, qdss_tracedata_a, _),
PINGROUP(11, uart0, pwm0, spi1, _, wci_txd, wci_rxd, _, qdss_tracedata_a, _),
PINGROUP(12, uart0, pwm0, spi11, _, prng_rosc0, qdss_tracedata_a, _, _, _),
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/4] arm64: dts: qcom: ipq5424: add spi0 node
2024-11-22 12:45 [PATCH 0/4] Add SPI0 support for IPQ5424 Manikanta Mylavarapu
2024-11-22 12:45 ` [PATCH 1/4] dt-bindings: pinctrl: qcom: update spi0 function Manikanta Mylavarapu
2024-11-22 12:45 ` [PATCH 2/4] pinctrl: qcom: ipq5424: split spi0 pin group Manikanta Mylavarapu
@ 2024-11-22 12:45 ` Manikanta Mylavarapu
2024-11-22 12:45 ` [PATCH 4/4] arm64: dts: qcom: ipq5424: configure spi0 node for rdp466 Manikanta Mylavarapu
3 siblings, 0 replies; 8+ messages in thread
From: Manikanta Mylavarapu @ 2024-11-22 12:45 UTC (permalink / raw)
To: andersson, linus.walleij, robh, krzk+dt, conor+dt, konradybcio,
linux-arm-msm, linux-gpio, devicetree, linux-kernel
Cc: quic_srichara, quic_varada
Add SPI0 node for IPQ5424 SoC.
Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
---
arch/arm64/boot/dts/qcom/ipq5424.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq5424.dtsi b/arch/arm64/boot/dts/qcom/ipq5424.dtsi
index 5e219f900412..b4d736cd8610 100644
--- a/arch/arm64/boot/dts/qcom/ipq5424.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5424.dtsi
@@ -201,6 +201,17 @@ uart1: serial@1a84000 {
clock-names = "se";
interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>;
};
+
+ spi0: spi@1a90000 {
+ compatible = "qcom,geni-spi";
+ reg = <0 0x01a90000 0 0x4000>;
+ clocks = <&gcc GCC_QUPV3_SPI0_CLK>;
+ clock-names = "se";
+ interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
};
sdhc: mmc@7804000 {
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/4] arm64: dts: qcom: ipq5424: configure spi0 node for rdp466
2024-11-22 12:45 [PATCH 0/4] Add SPI0 support for IPQ5424 Manikanta Mylavarapu
` (2 preceding siblings ...)
2024-11-22 12:45 ` [PATCH 3/4] arm64: dts: qcom: ipq5424: add spi0 node Manikanta Mylavarapu
@ 2024-11-22 12:45 ` Manikanta Mylavarapu
2024-12-05 17:30 ` Konrad Dybcio
3 siblings, 1 reply; 8+ messages in thread
From: Manikanta Mylavarapu @ 2024-11-22 12:45 UTC (permalink / raw)
To: andersson, linus.walleij, robh, krzk+dt, conor+dt, konradybcio,
linux-arm-msm, linux-gpio, devicetree, linux-kernel
Cc: quic_srichara, quic_varada
Enable the SPI0 node and configure the associated gpio pins.
Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
---
arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts | 45 +++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts b/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts
index d4d31026a026..6256216ca764 100644
--- a/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts
+++ b/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts
@@ -23,6 +23,36 @@ &sleep_clk {
};
&tlmm {
+ spi0_default_state: spi0-default-state {
+ clk-pins {
+ pins = "gpio6";
+ function = "spi0_clk";
+ drive-strength = <8>;
+ bias-pull-down;
+ };
+
+ cs-pins {
+ pins = "gpio7";
+ function = "spi0_cs";
+ drive-strength = <8>;
+ bias-pull-up;
+ };
+
+ miso-pins {
+ pins = "gpio8";
+ function = "spi0_miso";
+ drive-strength = <8>;
+ bias-pull-down;
+ };
+
+ mosi-pins {
+ pins = "gpio9";
+ function = "spi0_mosi";
+ drive-strength = <8>;
+ bias-pull-down;
+ };
+ };
+
sdc_default_state: sdc-default-state {
clk-pins {
pins = "gpio5";
@@ -57,3 +87,18 @@ &xo_board {
clock-frequency = <24000000>;
};
+&qupv3 {
+ spi0: spi@1a90000 {
+ pinctrl-0 = <&spi0_default_state>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ flash@0 {
+ compatible = "micron,n25q128a11", "jedec,spi-nor";
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ spi-max-frequency = <50000000>;
+ };
+ };
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/4] dt-bindings: pinctrl: qcom: update spi0 function
2024-11-22 12:45 ` [PATCH 1/4] dt-bindings: pinctrl: qcom: update spi0 function Manikanta Mylavarapu
@ 2024-11-26 7:23 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2024-11-26 7:23 UTC (permalink / raw)
To: Manikanta Mylavarapu
Cc: andersson, linus.walleij, robh, krzk+dt, conor+dt, konradybcio,
linux-arm-msm, linux-gpio, devicetree, linux-kernel,
quic_srichara, quic_varada
On Fri, Nov 22, 2024 at 06:15:02PM +0530, Manikanta Mylavarapu wrote:
> The GPIO configuration differs for the spi0 clk, cs, miso, mosi pins.
> Therefore, split the spi0 pin group and document each pin function.
>
> Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
> ---
Missing Fixes tag.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: ipq5424: configure spi0 node for rdp466
2024-11-22 12:45 ` [PATCH 4/4] arm64: dts: qcom: ipq5424: configure spi0 node for rdp466 Manikanta Mylavarapu
@ 2024-12-05 17:30 ` Konrad Dybcio
2024-12-09 6:43 ` Manikanta Mylavarapu
0 siblings, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2024-12-05 17:30 UTC (permalink / raw)
To: Manikanta Mylavarapu, andersson, linus.walleij, robh, krzk+dt,
conor+dt, konradybcio, linux-arm-msm, linux-gpio, devicetree,
linux-kernel
Cc: quic_srichara, quic_varada
On 22.11.2024 1:45 PM, Manikanta Mylavarapu wrote:
> Enable the SPI0 node and configure the associated gpio pins.
>
> Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts | 45 +++++++++++++++++++++
> 1 file changed, 45 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts b/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts
> index d4d31026a026..6256216ca764 100644
> --- a/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts
> +++ b/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts
> @@ -23,6 +23,36 @@ &sleep_clk {
> };
>
> &tlmm {
> + spi0_default_state: spi0-default-state {
> + clk-pins {
> + pins = "gpio6";
> + function = "spi0_clk";
> + drive-strength = <8>;
> + bias-pull-down;
> + };
> +
> + cs-pins {
> + pins = "gpio7";
> + function = "spi0_cs";
> + drive-strength = <8>;
> + bias-pull-up;
> + };
> +
> + miso-pins {
> + pins = "gpio8";
> + function = "spi0_miso";
> + drive-strength = <8>;
> + bias-pull-down;
> + };
> +
> + mosi-pins {
> + pins = "gpio9";
> + function = "spi0_mosi";
> + drive-strength = <8>;
> + bias-pull-down;
> + };
> + };
> +
> sdc_default_state: sdc-default-state {
> clk-pins {
> pins = "gpio5";
> @@ -57,3 +87,18 @@ &xo_board {
> clock-frequency = <24000000>;
> };
>
> +&qupv3 {
> + spi0: spi@1a90000 {
&spi0 {
pinctrl-0 = <..
...
};
KonraD
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: ipq5424: configure spi0 node for rdp466
2024-12-05 17:30 ` Konrad Dybcio
@ 2024-12-09 6:43 ` Manikanta Mylavarapu
0 siblings, 0 replies; 8+ messages in thread
From: Manikanta Mylavarapu @ 2024-12-09 6:43 UTC (permalink / raw)
To: Konrad Dybcio, andersson, linus.walleij, robh, krzk+dt, conor+dt,
konradybcio, linux-arm-msm, linux-gpio, devicetree, linux-kernel
Cc: quic_srichara, quic_varada
On 12/5/2024 11:00 PM, Konrad Dybcio wrote:
> On 22.11.2024 1:45 PM, Manikanta Mylavarapu wrote:
>> Enable the SPI0 node and configure the associated gpio pins.
>>
>> Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
>> ---
>> arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts | 45 +++++++++++++++++++++
>> 1 file changed, 45 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts b/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts
>> index d4d31026a026..6256216ca764 100644
>> --- a/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts
>> +++ b/arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts
>> @@ -23,6 +23,36 @@ &sleep_clk {
>> };
>>
>> &tlmm {
>> + spi0_default_state: spi0-default-state {
>> + clk-pins {
>> + pins = "gpio6";
>> + function = "spi0_clk";
>> + drive-strength = <8>;
>> + bias-pull-down;
>> + };
>> +
>> + cs-pins {
>> + pins = "gpio7";
>> + function = "spi0_cs";
>> + drive-strength = <8>;
>> + bias-pull-up;
>> + };
>> +
>> + miso-pins {
>> + pins = "gpio8";
>> + function = "spi0_miso";
>> + drive-strength = <8>;
>> + bias-pull-down;
>> + };
>> +
>> + mosi-pins {
>> + pins = "gpio9";
>> + function = "spi0_mosi";
>> + drive-strength = <8>;
>> + bias-pull-down;
>> + };
>> + };
>> +
>> sdc_default_state: sdc-default-state {
>> clk-pins {
>> pins = "gpio5";
>> @@ -57,3 +87,18 @@ &xo_board {
>> clock-frequency = <24000000>;
>> };
>>
>> +&qupv3 {
>> + spi0: spi@1a90000 {
>
> &spi0 {
> pinctrl-0 = <..
> ...
> };
>
Thanks for reviewing the patch.
I will update in the next version.
Thanks & Regards,
Manikanta.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-12-09 6:43 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-22 12:45 [PATCH 0/4] Add SPI0 support for IPQ5424 Manikanta Mylavarapu
2024-11-22 12:45 ` [PATCH 1/4] dt-bindings: pinctrl: qcom: update spi0 function Manikanta Mylavarapu
2024-11-26 7:23 ` Krzysztof Kozlowski
2024-11-22 12:45 ` [PATCH 2/4] pinctrl: qcom: ipq5424: split spi0 pin group Manikanta Mylavarapu
2024-11-22 12:45 ` [PATCH 3/4] arm64: dts: qcom: ipq5424: add spi0 node Manikanta Mylavarapu
2024-11-22 12:45 ` [PATCH 4/4] arm64: dts: qcom: ipq5424: configure spi0 node for rdp466 Manikanta Mylavarapu
2024-12-05 17:30 ` Konrad Dybcio
2024-12-09 6:43 ` Manikanta Mylavarapu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox