[PATCH v2 2/3] pinctrl: qcom: sm8350-lpass-lpi: add SM8350 LPASS TLMM

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Wed Jul 19 12:05:20 PDT 2023


On 24/06/2023 14:12, Konrad Dybcio wrote:
> On 19.06.2023 11:27, Krzysztof Kozlowski wrote:
>> Add driver for pin controller in Low Power Audio SubSystem (LPASS).  The
>> driver is similar to SM8250 LPASS pin controller, with difference in one
>> new pin (gpio14).
>>



> <       LPI_MUX_swr_tx_data2,
> 54d52
> < static int gpio14_pins[] = { 14 };
> 71d68
> <       PINCTRL_PIN(14, "gpio14"),
> 75c72
> < static const char * const swr_tx_data_groups[] = { "gpio1", "gpio2", "gpio5", "gpio14" };
> ---
>> static const char * const swr_tx_data_groups[] = { "gpio1", "gpio2", "gpio5" };
> 111d107
> <       LPI_PINGROUP(14, 6, swr_rx_data, _, _, _),
> 
> 
> 
> I really think adding just these pin14 entries to the 8250 driver would
> be a good idea..
> 


I could extend arrays with gpio14 and pass array size -1 to sm8250
variant and full size to sm8350. However the difference will be in:

-static const char * const swr_tx_data_groups[] = { "gpio1", "gpio2", "gpio5" };
+static const char * const swr_tx_data_groups[] = { "gpio1", "gpio2", "gpio5", "gpio14" };

I cannot create here variant "swr_tx_data_groups_sm8350" because the
name is used in macros. Using bigger (with gpio14) group for sm8250
should work, because there is no gpio14, but produces difference in the
controller:

-/sys/kernel/debug/pinctrl/33c0000.pinctrl/pinmux-functions:function 18: swr_tx_data, groups = [ gpio1 gpio2 gpio5 ]
+/sys/kernel/debug/pinctrl/33c0000.pinctrl/pinmux-functions:function 18: swr_tx_data, groups = [ gpio1 gpio2 gpio5 gpio14 ]

Therefore I will go with separate drivers.

Best regards,
Krzysztof




More information about the linux-arm-kernel mailing list