
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