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

Sean Anderson seanga2 at gmail.com
Wed Jun 24 12:29:35 CEST 2020


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

-- 
2.26.2



More information about the U-Boot mailing list