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

Sean Anderson seanga2 at gmail.com
Fri Aug 14 03:52:57 CEST 2020


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


More information about the U-Boot mailing list