Linux GPIO subsystem development
 help / color / mirror / Atom feed
From: Paul Cercueil <paul@crapouillou.net>
To: Zhou Yanjie <zhouyanjie@wanyeetech.com>
Cc: linus.walleij@linaro.org, linux-gpio@vger.kernel.org,
	linux-kernel@vger.kernel.org, aric.pzqi@ingenic.com,
	dongsheng.qiu@ingenic.com, rick.tyliu@ingenic.com,
	yanfei.li@ingenic.com, sernia.zhou@foxmail.com,
	zhenwenjin@gmail.com
Subject: Re: [PATCH v2 1/3] pinctrl: Ingenic: Add SSI pins support for JZ4770 and JZ4780.
Date: Sun, 06 Sep 2020 19:17:09 +0200	[thread overview]
Message-ID: <LOY8GQ.2OY4RM9U5CX13@crapouillou.net> (raw)
In-Reply-To: <0bdd7132-cdbf-02eb-0078-ec644b6611ca@wanyeetech.com>



Le lun. 7 sept. 2020 à 1:09, Zhou Yanjie <zhouyanjie@wanyeetech.com> a 
écrit :
> Hi Paul,
> 
> 在 2020/9/6 下午10:17, Paul Cercueil 写道:
>> Hi Zhou,
>> 
>> Le ven. 4 sept. 2020 à 15:27, Paul Cercueil <paul@crapouillou.net> 
>> a \x7fécrit :
>>> Hi Zhou,
>>> 
>>> Le lun. 31 août 2020 à 23:43, 周琰杰 (Zhou Yanjie) 
>>> \x7f\x7f<zhouyanjie@wanyeetech.com> a écrit :
>>>> Add SSI pins support for the JZ4770 SoC and the
>>>> JZ4780 SoC from Ingenic.
>>>> 
>>>> Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
>>>> ---
>>>> 
>>>> Notes:
>>>>     v1->v2:
>>>>     Rebase on top of kernel 5.9-rc3.
>>>> 
>>>>  drivers/pinctrl/pinctrl-ingenic.c | 267 
>>>> \x7f\x7f\x7f\x7f++++++++++++++++++++++++++++++++++++++
>>>>  1 file changed, 267 insertions(+)
>>>> 
>>>> diff --git a/drivers/pinctrl/pinctrl-ingenic.c 
>>>> \x7f\x7f\x7f\x7fb/drivers/pinctrl/pinctrl-ingenic.c
>>>> index a8d1b53ec4c1..00f29fd684fa 100644
>>>> --- a/drivers/pinctrl/pinctrl-ingenic.c
>>>> +++ b/drivers/pinctrl/pinctrl-ingenic.c
>>>> @@ -633,6 +633,46 @@ static int jz4770_uart2_data_pins[] = { 0x5c, 
>>>> \x7f\x7f\x7f\x7f0x5e, };
>>>>  static int jz4770_uart2_hwflow_pins[] = { 0x5d, 0x5f, };
>>>>  static int jz4770_uart3_data_pins[] = { 0x6c, 0x85, };
>>>>  static int jz4770_uart3_hwflow_pins[] = { 0x88, 0x89, };
>>>> +static int jz4770_ssi0_dt_a_pins[] = { 0x15, };
>>>> +static int jz4770_ssi0_dt_b_pins[] = { 0x35, };
>>>> +static int jz4770_ssi0_dt_d_pins[] = { 0x55, };
>>>> +static int jz4770_ssi0_dt_e_pins[] = { 0x71, };
>>>> +static int jz4770_ssi0_dr_a_pins[] = { 0x14, };
>>>> +static int jz4770_ssi0_dr_b_pins[] = { 0x34, };
>>>> +static int jz4770_ssi0_dr_d_pins[] = { 0x54, };
>>>> +static int jz4770_ssi0_dr_e_pins[] = { 0x6e, };
>>>> +static int jz4770_ssi0_clk_a_pins[] = { 0x12, };
>>>> +static int jz4770_ssi0_clk_b_pins[] = { 0x3c, };
>>>> +static int jz4770_ssi0_clk_d_pins[] = { 0x58, };
>>>> +static int jz4770_ssi0_clk_e_pins[] = { 0x6f, };
>>>> +static int jz4770_ssi0_gpc_b_pins[] = { 0x3e, };
>>>> +static int jz4770_ssi0_gpc_d_pins[] = { 0x56, };
>>>> +static int jz4770_ssi0_gpc_e_pins[] = { 0x73, };
>>>> +static int jz4770_ssi0_ce0_a_pins[] = { 0x13, };
>>>> +static int jz4770_ssi0_ce0_b_pins[] = { 0x3d, };
>>>> +static int jz4770_ssi0_ce0_d_pins[] = { 0x59, };
>>>> +static int jz4770_ssi0_ce0_e_pins[] = { 0x70, };
>>>> +static int jz4770_ssi0_ce1_b_pins[] = { 0x3f, };
>>>> +static int jz4770_ssi0_ce1_d_pins[] = { 0x57, };
>>>> +static int jz4770_ssi0_ce1_e_pins[] = { 0x72, };
>>>> +static int jz4770_ssi1_dt_b_pins[] = { 0x35, };
>>>> +static int jz4770_ssi1_dt_d_pins[] = { 0x55, };
>>>> +static int jz4770_ssi1_dt_e_pins[] = { 0x71, };
>>>> +static int jz4770_ssi1_dr_b_pins[] = { 0x34, };
>>>> +static int jz4770_ssi1_dr_d_pins[] = { 0x54, };
>>>> +static int jz4770_ssi1_dr_e_pins[] = { 0x6e, };
>>>> +static int jz4770_ssi1_clk_b_pins[] = { 0x3c, };
>>>> +static int jz4770_ssi1_clk_d_pins[] = { 0x58, };
>>>> +static int jz4770_ssi1_clk_e_pins[] = { 0x6f, };
>>>> +static int jz4770_ssi1_gpc_b_pins[] = { 0x3e, };
>>>> +static int jz4770_ssi1_gpc_d_pins[] = { 0x56, };
>>>> +static int jz4770_ssi1_gpc_e_pins[] = { 0x73, };
>>>> +static int jz4770_ssi1_ce0_b_pins[] = { 0x3d, };
>>>> +static int jz4770_ssi1_ce0_d_pins[] = { 0x59, };
>>>> +static int jz4770_ssi1_ce0_e_pins[] = { 0x70, };
>>>> +static int jz4770_ssi1_ce1_b_pins[] = { 0x3f, };
>>>> +static int jz4770_ssi1_ce1_d_pins[] = { 0x57, };
>>>> +static int jz4770_ssi1_ce1_e_pins[] = { 0x72, };
>>>>  static int jz4770_mmc0_1bit_a_pins[] = { 0x12, 0x13, 0x14, };
>>>>  static int jz4770_mmc0_4bit_a_pins[] = { 0x15, 0x16, 0x17, };
>>>>  static int jz4770_mmc0_1bit_e_pins[] = { 0x9c, 0x9d, 0x94, };
>>>> @@ -703,6 +743,46 @@ static int jz4770_uart2_data_funcs[] = { 0, 
>>>> 0, };
>>>>  static int jz4770_uart2_hwflow_funcs[] = { 0, 0, };
>>>>  static int jz4770_uart3_data_funcs[] = { 0, 1, };
>>>>  static int jz4770_uart3_hwflow_funcs[] = { 0, 0, };
>>>> +static int jz4770_ssi0_dt_a_funcs[] = { 2, };
>>>> +static int jz4770_ssi0_dt_b_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_dt_d_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_dt_e_funcs[] = { 0, };
>>>> +static int jz4770_ssi0_dr_a_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_dr_b_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_dr_d_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_dr_e_funcs[] = { 0, };
>>>> +static int jz4770_ssi0_clk_a_funcs[] = { 2, };
>>>> +static int jz4770_ssi0_clk_b_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_clk_d_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_clk_e_funcs[] = { 0, };
>>>> +static int jz4770_ssi0_gpc_b_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_gpc_d_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_gpc_e_funcs[] = { 0, };
>>>> +static int jz4770_ssi0_ce0_a_funcs[] = { 2, };
>>>> +static int jz4770_ssi0_ce0_b_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_ce0_d_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_ce0_e_funcs[] = { 0, };
>>>> +static int jz4770_ssi0_ce1_b_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_ce1_d_funcs[] = { 1, };
>>>> +static int jz4770_ssi0_ce1_e_funcs[] = { 0, };
>>>> +static int jz4770_ssi1_dt_b_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_dt_d_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_dt_e_funcs[] = { 1, };
>>>> +static int jz4770_ssi1_dr_b_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_dr_d_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_dr_e_funcs[] = { 1, };
>>>> +static int jz4770_ssi1_clk_b_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_clk_d_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_clk_e_funcs[] = { 1, };
>>>> +static int jz4770_ssi1_gpc_b_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_gpc_d_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_gpc_e_funcs[] = { 1, };
>>>> +static int jz4770_ssi1_ce0_b_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_ce0_d_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_ce0_e_funcs[] = { 1, };
>>>> +static int jz4770_ssi1_ce1_b_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_ce1_d_funcs[] = { 2, };
>>>> +static int jz4770_ssi1_ce1_e_funcs[] = { 1, };
>>>>  static int jz4770_mmc0_1bit_a_funcs[] = { 1, 1, 0, };
>>>>  static int jz4770_mmc0_4bit_a_funcs[] = { 1, 1, 1, };
>>>>  static int jz4770_mmc0_1bit_e_funcs[] = { 0, 0, 0, };
>>>> @@ -763,6 +843,46 @@ static const struct group_desc 
>>>> jz4770_groups[] \x7f\x7f\x7f= \x7f{
>>>>      INGENIC_PIN_GROUP("uart2-hwflow", jz4770_uart2_hwflow),
>>>>      INGENIC_PIN_GROUP("uart3-data", jz4770_uart3_data),
>>>>      INGENIC_PIN_GROUP("uart3-hwflow", jz4770_uart3_hwflow),
>>>> +    INGENIC_PIN_GROUP("ssi0-dt-a", jz4770_ssi0_dt_a),
>>>> +    INGENIC_PIN_GROUP("ssi0-dt-b", jz4770_ssi0_dt_b),
>>>> +    INGENIC_PIN_GROUP("ssi0-dt-d", jz4770_ssi0_dt_d),
>>>> +    INGENIC_PIN_GROUP("ssi0-dt-e", jz4770_ssi0_dt_e),
>>>> +    INGENIC_PIN_GROUP("ssi0-dr-a", jz4770_ssi0_dr_a),
>>>> +    INGENIC_PIN_GROUP("ssi0-dr-b", jz4770_ssi0_dr_b),
>>>> +    INGENIC_PIN_GROUP("ssi0-dr-d", jz4770_ssi0_dr_d),
>>>> +    INGENIC_PIN_GROUP("ssi0-dr-e", jz4770_ssi0_dr_e),
>>> 
>>> The common acronyms associated with SPI are MISO / MOSI, I think it 
>>> \x7f\x7fwould make sense to use them instead of DR / DT. What do you 
>>> think?
>> 
>> Just noticed that the X1000 has already SPI pins named DR / DT, so 
>> \x7fdisregard my comment, it's better to use the same name convention 
>> \x7facross the whole file.
>> 
> 
> If necessary, I can send a patch to replace the dt/dr in X1000 and 
> X1830. What is your opinion?

It would break ABI - there might be devicetree files out there that are 
already using these names (although I doubt it), so not worth the 
trouble. It's fine as it is.

-Paul



  reply	other threads:[~2020-09-06 17:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-31 15:43 [PATCH v2 0/3] pinctrl: Ingenic: Add support for SSI and I2S pins 周琰杰 (Zhou Yanjie)
2020-08-31 15:43 ` [PATCH v2 1/3] pinctrl: Ingenic: Add SSI pins support for JZ4770 and JZ4780 周琰杰 (Zhou Yanjie)
2020-09-04 13:27   ` Paul Cercueil
2020-09-06 14:17     ` Paul Cercueil
2020-09-06 17:09       ` Zhou Yanjie
2020-09-06 17:17         ` Paul Cercueil [this message]
2020-08-31 15:43 ` [PATCH v2 2/3] pinctrl: Ingenic: Correct the pullup and pulldown parameters of JZ4780 周琰杰 (Zhou Yanjie)
2020-09-06 14:26   ` Paul Cercueil
2020-09-06 17:12     ` Zhou Yanjie
2020-08-31 15:43 ` [PATCH v2 3/3] pinctrl: Ingenic: Add I2S pins support for Ingenic SoCs 周琰杰 (Zhou Yanjie)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=LOY8GQ.2OY4RM9U5CX13@crapouillou.net \
    --to=paul@crapouillou.net \
    --cc=aric.pzqi@ingenic.com \
    --cc=dongsheng.qiu@ingenic.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rick.tyliu@ingenic.com \
    --cc=sernia.zhou@foxmail.com \
    --cc=yanfei.li@ingenic.com \
    --cc=zhenwenjin@gmail.com \
    --cc=zhouyanjie@wanyeetech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox