Thread (21 messages) 21 messages, 4 authors, 2017-05-23

[PATCH v2 1/5] pinctrl: qcom: Add ipq8074 pinctrl driver

From: Bjorn Andersson <hidden>
Date: 2017-05-10 22:44:04
Also in: linux-arm-msm, linux-clk, linux-devicetree, linux-gpio, lkml

On Thu 04 May 04:53 PDT 2017, Varadarajan Narayanan wrote:
quoted hunk ↗ jump to hunk
Add initial pinctrl driver to support pin configuration with
pinctrl framework for ipq8074.

Signed-off-by: Manoharan Vijaya Raghavan <redacted>
Signed-off-by: Varadarajan Narayanan <redacted>
---
 .../bindings/pinctrl/qcom,ipq8074-pinctrl.txt      |  187 +++
 drivers/pinctrl/qcom/Kconfig                       |   10 +
 drivers/pinctrl/qcom/Makefile                      |    1 +
 drivers/pinctrl/qcom/pinctrl-ipq8074.c             | 1217 ++++++++++++++++++++
 4 files changed, 1415 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,ipq8074-pinctrl.txt
 create mode 100644 drivers/pinctrl/qcom/pinctrl-ipq8074.c
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,ipq8074-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,ipq8074-pinctrl.txt
[..]
+- pins:
+	Usage: required
+	Value type: <string-array>
+	Definition: List of gpio pins affected by the properties specified in
+		    this subnode.  Valid pins are:
+		    gpio0-gpio121,
+		    sdc1_clk,
+		    sdc1_cmd,
+		    sdc1_data
+		    sdc2_clk,
+		    sdc2_cmd,
+		    sdc2_data,
+		    qdsd_cmd,
+		    qdsd_data0,
+		    qdsd_data1,
+		    qdsd_data2,
+		    qdsd_data3
These doesn't match the implementation.
+
+- function:
+	Usage: required
+	Value type: <string>
+	Definition: Specify the alternative function to be configured for the
+		    specified pins. Functions are only valid for gpio pins.
+		    Valid values are:
+	gpio, qpic_pad, blsp5_i2c, blsp5_spi, wci20, blsp3_spi3,
+	burn0, pcm_zsi0, blsp5_uart, mac12, blsp3_spi0, burn1, mac01,
+	qdss_cti_trig_out_b0, qdss_cti_trig_in_b0, qpic_pad4,
+	blsp4_uart0, blsp4_i2c0, blsp4_spi0, mac21,
+	qdss_cti_trig_out_b1, qpic_pad5, qdss_cti_trig_in_b1,
+	qpic_pad6, qpic_pad7, cxc0, mac13, qdss_cti_trig_in_a1,
+	qdss_cti_trig_out_a1, wci22, qdss_cti_trig_in_a0, qpic_pad1,
+	qdss_cti_trig_out_a0, qpic_pad2, qpic_pad3, qdss_traceclk_b,
+	qpic_pad0, qdss_tracectl_b, qpic_pad8, pcm_zsi1,
+	qdss_tracedata_b, led0, pwm04, led1, pwm14, led2, pwm24,
+	pwm00, blsp4_uart1, blsp4_i2c1, blsp4_spi1, wci23, mac11,
+	blsp3_spi2, pwm10, pwm20, pwm30, audio_txmclk, pwm02,
+	audio_txbclk, pwm12, audio_txfsync, pwm22, audio_txd, pwm32,
+	audio_rxmclk, pwm03, atest_char0, audio_rxbclk, pwm13,
+	atest_char1, audio_rxfsync, pwm23, atest_char2, audio_rxd,
+	pwm33, atest_char3, pcm_drx, mac10, mac00, pcm_dtx, pcm_fsync,
+	mac20, qdss_traceclk_a, pcm_pclk, qdss_tracectl_a, atest_char,
+	qdss_tracedata_a, blsp0_uart, blsp0_i2c, blsp0_spi,
+	blsp1_uart, blsp1_i2c, blsp1_spi, blsp2_uart, blsp2_i2c,
+	blsp2_spi, blsp3_uart, blsp3_i2c, blsp3_spi, pta2_0, wci21,
+	cxc1, blsp3_spi1, pta2_1, pta2_2, pcie0_clk, dbg_out,
+	cri_trng0, pcie0_rst, cri_trng1, pcie0_wake, cri_trng,
+	pcie1_clk, rx2, ldo_update, pcie1_rst, ldo_en, pcie1_wake,
+	gcc_plltest, sd_card, pwm01, pta1_1, pwm11, rx1, pta1_2,
+	gcc_tlmm, pta1_0, pwm21, prng_rosc, sd_write, pwm31, rx0,
+	tsens_max, mdc, mdio, NA
Please indent these to the same level as the description.
+
[..]
+
+- output-high:
+	Usage: optional
+	Value type: <none>
+	Definition: The specified pins are configured in output mode, driven
+		    high.
+		    Not valid for sdc pins.
If you don't have any sdc pins, drop this.
+
+- output-low:
+	Usage: optional
+	Value type: <none>
+	Definition: The specified pins are configured in output mode, driven
+		    low.
+		    Not valid for sdc pins.
If you don't have any sdc pins, drop this.
+
+- drive-strength:
+	Usage: optional
+	Value type: <u32>
+	Definition: Selects the drive strength for the specified pins, in mA.
+		    Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16
+
[..]
quoted hunk ↗ jump to hunk
diff --git a/drivers/pinctrl/qcom/pinctrl-ipq8074.c b/drivers/pinctrl/qcom/pinctrl-ipq8074.c
[..]
+
+enum ipq8074_functions {
Please keep these sorted alphabetically.
+	msm_mux_gpio,
+	msm_mux_qpic_pad,
+	msm_mux_blsp5_i2c,
+	msm_mux_blsp5_spi,
+	msm_mux_wci20,
What does "20" mean here?
+	msm_mux_blsp3_spi3,
+	msm_mux_burn0,
+	msm_mux_pcm_zsi0,
+	msm_mux_blsp5_uart,
+	msm_mux_mac12,
What does "12" mean here?
+	msm_mux_blsp3_spi0,
+	msm_mux_burn1,
+	msm_mux_mac01,
+	msm_mux_qdss_cti_trig_out_b0,
+	msm_mux_qdss_cti_trig_in_b0,
+	msm_mux_qpic_pad4,
What are qpic_pad and qpic_pad0 through qpic_pad8? Different functions,
alternative muxings...?
+	msm_mux_blsp4_uart0,
+	msm_mux_blsp4_i2c0,
+	msm_mux_blsp4_spi0,
+	msm_mux_mac21,
+	msm_mux_qdss_cti_trig_out_b1,
+	msm_mux_qpic_pad5,
+	msm_mux_qdss_cti_trig_in_b1,
+	msm_mux_qpic_pad6,
+	msm_mux_qpic_pad7,
+	msm_mux_cxc0,
+	msm_mux_mac13,
+	msm_mux_qdss_cti_trig_in_a1,
+	msm_mux_qdss_cti_trig_out_a1,
+	msm_mux_wci22,
+	msm_mux_qdss_cti_trig_in_a0,
+	msm_mux_qpic_pad1,
+	msm_mux_qdss_cti_trig_out_a0,
+	msm_mux_qpic_pad2,
+	msm_mux_qpic_pad3,
+	msm_mux_qdss_traceclk_b,
+	msm_mux_qpic_pad0,
+	msm_mux_qdss_tracectl_b,
+	msm_mux_qpic_pad8,
+	msm_mux_pcm_zsi1,
+	msm_mux_qdss_tracedata_b,
+	msm_mux_led0,
+	msm_mux_pwm04,
What does "04" mean here?
+	msm_mux_led1,
+	msm_mux_pwm14,
+	msm_mux_led2,
+	msm_mux_pwm24,
+	msm_mux_pwm00,
+	msm_mux_blsp4_uart1,
Are uart0 vs uart1 alternative muxes?

[..]
+static const struct msm_function ipq8074_functions[] = {
Please keep these sorted alphabetically too.

Regards,
Bjorn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help