[PATCH v4 00/12] riscv: Add FPIOA and GPIO support for Kendryte K210

classic Classic list List threaded Threaded
23 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v4 00/12] riscv: Add FPIOA and GPIO support for Kendryte K210

Sean Anderson

On 6/24/20 6:29 AM, Sean Anderson wrote:

> This patch series adds support for pinmuxing, gpios, and leds on the Kendyte
> K210.
>
> This patch series was previously part of
> https://patchwork.ozlabs.org/project/uboot/list/?series=161576
>
> This patch series depends on
> https://patchwork.ozlabs.org/project/uboot/list/?series=178480
>
> Changes in v4:
> - Add sandbox dt-binding headers to MAINTAINERS
> - Add test for led behavior
> - Add test/dm/pinmux.c to patch
> - Move sandbox_* variables into a priv structure. This resets them to the
>   default state every time we re-probe.
> - Reformat documentation in dm/pinctrl.h
>
> Changes in v3:
> - Add dt-bindings/pinctrl/sandbox-pinmux.h to patch
>
> Changes in v2:
> - Add test for pinmuxing
> - Don't clear existing pinctrl settings on probe
> - Re-order GPIOs to match the defaults more closely
> - Rebase onto v13 of "riscv: Add Sipeed Maix support"
> - Rewrite FPIOA driver to use pinmux property
> - Support muxing the output enable signal for each function in the FPIOA
> - Support output and input inversion in the pinmux driver
> - Support pinmux property in pinctrl-generic
>
> Sean Anderson (12):
>   pinctrl: Add pinmux property support to pinctrl-generic
>   pinctrl: Reformat documentation in dm/pinctrl.h
>   test: pinmux: Add test for pin muxing
>   pinctrl: Add support for Kendryte K210 FPIOA
>   gpio: sifive: Use generic reg read function
>   gpio: dw: Fix warnings about casting int to pointer
>   gpio: dw: Add a trailing underscore to generated name
>   gpio: dw: Return output value when direction is out
>   led: gpio: Default to using node name if label is absent
>   test: dm: Test for default led naming
>   riscv: Add pinmux and gpio bindings for Kendryte K210
>   riscv: Add FPIOA and GPIO support for Kendryte K210
>
>  MAINTAINERS                                   |   3 +
>  arch/riscv/dts/k210-maix-bit.dts              | 104 +++
>  arch/riscv/dts/k210.dtsi                      |  12 +
>  arch/sandbox/dts/test.dts                     |  47 +-
>  board/sipeed/maix/Kconfig                     |   9 +
>  doc/board/sipeed/maix.rst                     |  64 +-
>  .../pinctrl/kendryte,k210-fpioa.txt           | 102 +++
>  .../pinctrl/pinctrl-bindings.txt              |  65 +-
>  drivers/gpio/dwapb_gpio.c                     |  33 +-
>  drivers/gpio/sifive-gpio.c                    |   2 +-
>  drivers/led/led_gpio.c                        |   7 +-
>  drivers/pinctrl/Kconfig                       |   1 +
>  drivers/pinctrl/Makefile                      |   1 +
>  drivers/pinctrl/kendryte/Kconfig              |   7 +
>  drivers/pinctrl/kendryte/Makefile             |   1 +
>  drivers/pinctrl/kendryte/pinctrl.c            | 678 ++++++++++++++++++
>  drivers/pinctrl/kendryte/pinctrl.h            |  70 ++
>  drivers/pinctrl/pinctrl-generic.c             | 125 +++-
>  drivers/pinctrl/pinctrl-sandbox.c             | 186 +++--
>  include/dm/pinctrl.h                          | 360 +++++++---
>  include/dt-bindings/pinctrl/k210-pinctrl.h    | 277 +++++++
>  include/dt-bindings/pinctrl/sandbox-pinmux.h  |  19 +
>  test/dm/Makefile                              |   3 +
>  test/dm/led.c                                 |   3 +-
>  test/dm/pinmux.c                              |  57 ++
>  test/py/tests/test_pinmux.py                  |  36 +-
>  26 files changed, 2027 insertions(+), 245 deletions(-)
>  create mode 100644 doc/device-tree-bindings/pinctrl/kendryte,k210-fpioa.txt
>  create mode 100644 drivers/pinctrl/kendryte/Kconfig
>  create mode 100644 drivers/pinctrl/kendryte/Makefile
>  create mode 100644 drivers/pinctrl/kendryte/pinctrl.c
>  create mode 100644 drivers/pinctrl/kendryte/pinctrl.h
>  create mode 100644 include/dt-bindings/pinctrl/k210-pinctrl.h
>  create mode 100644 include/dt-bindings/pinctrl/sandbox-pinmux.h
>  create mode 100644 test/dm/pinmux.c
>

Rick can you put this in your rc3 PR? I think there are reviews for all
patches in this series.

--Sean
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v4 00/12] riscv: Add FPIOA and GPIO support for Kendryte K210

Rick Chen
Hi Sean

> On 6/24/20 6:29 AM, Sean Anderson wrote:
> > This patch series adds support for pinmuxing, gpios, and leds on the Kendyte
> > K210.
> >
> > This patch series was previously part of
> > https://patchwork.ozlabs.org/project/uboot/list/?series=161576
> >
> > This patch series depends on
> > https://patchwork.ozlabs.org/project/uboot/list/?series=178480
> >
> > Changes in v4:
> > - Add sandbox dt-binding headers to MAINTAINERS
> > - Add test for led behavior
> > - Add test/dm/pinmux.c to patch
> > - Move sandbox_* variables into a priv structure. This resets them to the
> >   default state every time we re-probe.
> > - Reformat documentation in dm/pinctrl.h
> >
> > Changes in v3:
> > - Add dt-bindings/pinctrl/sandbox-pinmux.h to patch
> >
> > Changes in v2:
> > - Add test for pinmuxing
> > - Don't clear existing pinctrl settings on probe
> > - Re-order GPIOs to match the defaults more closely
> > - Rebase onto v13 of "riscv: Add Sipeed Maix support"
> > - Rewrite FPIOA driver to use pinmux property
> > - Support muxing the output enable signal for each function in the FPIOA
> > - Support output and input inversion in the pinmux driver
> > - Support pinmux property in pinctrl-generic
> >
> > Sean Anderson (12):
> >   pinctrl: Add pinmux property support to pinctrl-generic
> >   pinctrl: Reformat documentation in dm/pinctrl.h
> >   test: pinmux: Add test for pin muxing
> >   pinctrl: Add support for Kendryte K210 FPIOA
> >   gpio: sifive: Use generic reg read function
> >   gpio: dw: Fix warnings about casting int to pointer
> >   gpio: dw: Add a trailing underscore to generated name
> >   gpio: dw: Return output value when direction is out
> >   led: gpio: Default to using node name if label is absent
> >   test: dm: Test for default led naming
> >   riscv: Add pinmux and gpio bindings for Kendryte K210
> >   riscv: Add FPIOA and GPIO support for Kendryte K210
> >
> >  MAINTAINERS                                   |   3 +
> >  arch/riscv/dts/k210-maix-bit.dts              | 104 +++
> >  arch/riscv/dts/k210.dtsi                      |  12 +
> >  arch/sandbox/dts/test.dts                     |  47 +-
> >  board/sipeed/maix/Kconfig                     |   9 +
> >  doc/board/sipeed/maix.rst                     |  64 +-
> >  .../pinctrl/kendryte,k210-fpioa.txt           | 102 +++
> >  .../pinctrl/pinctrl-bindings.txt              |  65 +-
> >  drivers/gpio/dwapb_gpio.c                     |  33 +-
> >  drivers/gpio/sifive-gpio.c                    |   2 +-
> >  drivers/led/led_gpio.c                        |   7 +-
> >  drivers/pinctrl/Kconfig                       |   1 +
> >  drivers/pinctrl/Makefile                      |   1 +
> >  drivers/pinctrl/kendryte/Kconfig              |   7 +
> >  drivers/pinctrl/kendryte/Makefile             |   1 +
> >  drivers/pinctrl/kendryte/pinctrl.c            | 678 ++++++++++++++++++
> >  drivers/pinctrl/kendryte/pinctrl.h            |  70 ++
> >  drivers/pinctrl/pinctrl-generic.c             | 125 +++-
> >  drivers/pinctrl/pinctrl-sandbox.c             | 186 +++--
> >  include/dm/pinctrl.h                          | 360 +++++++---
> >  include/dt-bindings/pinctrl/k210-pinctrl.h    | 277 +++++++
> >  include/dt-bindings/pinctrl/sandbox-pinmux.h  |  19 +
> >  test/dm/Makefile                              |   3 +
> >  test/dm/led.c                                 |   3 +-
> >  test/dm/pinmux.c                              |  57 ++
> >  test/py/tests/test_pinmux.py                  |  36 +-
> >  26 files changed, 2027 insertions(+), 245 deletions(-)
> >  create mode 100644 doc/device-tree-bindings/pinctrl/kendryte,k210-fpioa.txt
> >  create mode 100644 drivers/pinctrl/kendryte/Kconfig
> >  create mode 100644 drivers/pinctrl/kendryte/Makefile
> >  create mode 100644 drivers/pinctrl/kendryte/pinctrl.c
> >  create mode 100644 drivers/pinctrl/kendryte/pinctrl.h
> >  create mode 100644 include/dt-bindings/pinctrl/k210-pinctrl.h
> >  create mode 100644 include/dt-bindings/pinctrl/sandbox-pinmux.h
> >  create mode 100644 test/dm/pinmux.c
> >
>
> Rick can you put this in your rc3 PR? I think there are reviews for all
> patches in this series.
>

OK, but it conflicts with u-boot/master

Applying: pinctrl: Add pinmux property support to pinctrl-generic
Applying: pinctrl: Reformat documentation in dm/pinctrl.h
Applying: test: pinmux: Add test for pin muxing
Applying: pinctrl: Add support for Kendryte K210 FPIOA
Applying: gpio: sifive: Use generic reg read function
error: patch failed: drivers/gpio/sifive-gpio.c:159
error: drivers/gpio/sifive-gpio.c: patch does not apply
Patch failed at 0005 gpio: sifive: Use generic reg read function

Thanks,
Rick

> --Sean
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v4 00/12] riscv: Add FPIOA and GPIO support for Kendryte K210

Sean Anderson
On 8/13/20 8:37 PM, Rick Chen wrote:

> Hi Sean
>
>> On 6/24/20 6:29 AM, Sean Anderson wrote:
>>> This patch series adds support for pinmuxing, gpios, and leds on the Kendyte
>>> K210.
>>>
>>> This patch series was previously part of
>>> https://patchwork.ozlabs.org/project/uboot/list/?series=161576
>>>
>>> This patch series depends on
>>> https://patchwork.ozlabs.org/project/uboot/list/?series=178480
>>>
>>> Changes in v4:
>>> - Add sandbox dt-binding headers to MAINTAINERS
>>> - Add test for led behavior
>>> - Add test/dm/pinmux.c to patch
>>> - Move sandbox_* variables into a priv structure. This resets them to the
>>>   default state every time we re-probe.
>>> - Reformat documentation in dm/pinctrl.h
>>>
>>> Changes in v3:
>>> - Add dt-bindings/pinctrl/sandbox-pinmux.h to patch
>>>
>>> Changes in v2:
>>> - Add test for pinmuxing
>>> - Don't clear existing pinctrl settings on probe
>>> - Re-order GPIOs to match the defaults more closely
>>> - Rebase onto v13 of "riscv: Add Sipeed Maix support"
>>> - Rewrite FPIOA driver to use pinmux property
>>> - Support muxing the output enable signal for each function in the FPIOA
>>> - Support output and input inversion in the pinmux driver
>>> - Support pinmux property in pinctrl-generic
>>>
>>> Sean Anderson (12):
>>>   pinctrl: Add pinmux property support to pinctrl-generic
>>>   pinctrl: Reformat documentation in dm/pinctrl.h
>>>   test: pinmux: Add test for pin muxing
>>>   pinctrl: Add support for Kendryte K210 FPIOA
>>>   gpio: sifive: Use generic reg read function
>>>   gpio: dw: Fix warnings about casting int to pointer
>>>   gpio: dw: Add a trailing underscore to generated name
>>>   gpio: dw: Return output value when direction is out
>>>   led: gpio: Default to using node name if label is absent
>>>   test: dm: Test for default led naming
>>>   riscv: Add pinmux and gpio bindings for Kendryte K210
>>>   riscv: Add FPIOA and GPIO support for Kendryte K210
>>>
>>>  MAINTAINERS                                   |   3 +
>>>  arch/riscv/dts/k210-maix-bit.dts              | 104 +++
>>>  arch/riscv/dts/k210.dtsi                      |  12 +
>>>  arch/sandbox/dts/test.dts                     |  47 +-
>>>  board/sipeed/maix/Kconfig                     |   9 +
>>>  doc/board/sipeed/maix.rst                     |  64 +-
>>>  .../pinctrl/kendryte,k210-fpioa.txt           | 102 +++
>>>  .../pinctrl/pinctrl-bindings.txt              |  65 +-
>>>  drivers/gpio/dwapb_gpio.c                     |  33 +-
>>>  drivers/gpio/sifive-gpio.c                    |   2 +-
>>>  drivers/led/led_gpio.c                        |   7 +-
>>>  drivers/pinctrl/Kconfig                       |   1 +
>>>  drivers/pinctrl/Makefile                      |   1 +
>>>  drivers/pinctrl/kendryte/Kconfig              |   7 +
>>>  drivers/pinctrl/kendryte/Makefile             |   1 +
>>>  drivers/pinctrl/kendryte/pinctrl.c            | 678 ++++++++++++++++++
>>>  drivers/pinctrl/kendryte/pinctrl.h            |  70 ++
>>>  drivers/pinctrl/pinctrl-generic.c             | 125 +++-
>>>  drivers/pinctrl/pinctrl-sandbox.c             | 186 +++--
>>>  include/dm/pinctrl.h                          | 360 +++++++---
>>>  include/dt-bindings/pinctrl/k210-pinctrl.h    | 277 +++++++
>>>  include/dt-bindings/pinctrl/sandbox-pinmux.h  |  19 +
>>>  test/dm/Makefile                              |   3 +
>>>  test/dm/led.c                                 |   3 +-
>>>  test/dm/pinmux.c                              |  57 ++
>>>  test/py/tests/test_pinmux.py                  |  36 +-
>>>  26 files changed, 2027 insertions(+), 245 deletions(-)
>>>  create mode 100644 doc/device-tree-bindings/pinctrl/kendryte,k210-fpioa.txt
>>>  create mode 100644 drivers/pinctrl/kendryte/Kconfig
>>>  create mode 100644 drivers/pinctrl/kendryte/Makefile
>>>  create mode 100644 drivers/pinctrl/kendryte/pinctrl.c
>>>  create mode 100644 drivers/pinctrl/kendryte/pinctrl.h
>>>  create mode 100644 include/dt-bindings/pinctrl/k210-pinctrl.h
>>>  create mode 100644 include/dt-bindings/pinctrl/sandbox-pinmux.h
>>>  create mode 100644 test/dm/pinmux.c
>>>
>>
>> Rick can you put this in your rc3 PR? I think there are reviews for all
>> patches in this series.
>>
>
> OK, but it conflicts with u-boot/master
>
> Applying: pinctrl: Add pinmux property support to pinctrl-generic
> Applying: pinctrl: Reformat documentation in dm/pinctrl.h
> Applying: test: pinmux: Add test for pin muxing
> Applying: pinctrl: Add support for Kendryte K210 FPIOA
> Applying: gpio: sifive: Use generic reg read function
> error: patch failed: drivers/gpio/sifive-gpio.c:159
> error: drivers/gpio/sifive-gpio.c: patch does not apply
> Patch failed at 0005 gpio: sifive: Use generic reg read function

I rebased it onto upstream/master and ran into some trouble with the
board failing to boot. I've CC'd you in a reply to the patch which
causes the breakage. Hopefully it'll end up being a minor change.

--Sean
12