Hi Tom > This patch adds the necessary configs and docs for FPIOA and GPIO support > on the K210. > > The board does not boot unless CONSOLE_LOGLEVEL is set to a non-default > value . It also boots when the tree is dirty (and CONSOLE_LOGLEVEL is not > changed). It also boots when changes are made to the device tree and then > committed. I don't know why this happens. These breakages only occur after > bf2fb81ad3. > > Signed-off-by: Sean Anderson <sean...@gmail.com> > --- > > Changes in v5: > - Increase CONSOLE_LOGLEVEL to 5 as a hack to get the board booting again > - Patch 05/12 "gpio: sifive: Use generic reg read function" has been > superseded > by commit 2548493ab4.
Would you like to pick up this series, [PATCH v5 00/11] riscv: Add FPIOA and GPIO support for Kendryte K210 ? Or maybe it is better to figure out what is wrong here and find the root cause why it need to Increase CONSOLE_LOGLEVEL to 5 as a hack ? Thanks, Rick > > Changes in v3: > - Document pins 6 and 7 as not set > > Changes in v2: > - Remove SPI flash related Kconfig settings > > board/sipeed/maix/Kconfig | 9 +++++ > configs/sipeed_maix_bitm_defconfig | 2 + > doc/board/sipeed/maix.rst | 64 +++++++++++++++++++++++++++++- > 3 files changed, 73 insertions(+), 2 deletions(-) > > diff --git a/board/sipeed/maix/Kconfig b/board/sipeed/maix/Kconfig > index 0cdcd32adc..4c42dd2087 100644 > --- a/board/sipeed/maix/Kconfig > +++ b/board/sipeed/maix/Kconfig > @@ -44,4 +44,13 @@ config BOARD_SPECIFIC_OPTIONS > imply RESET_SYSCON > imply SYSRESET > imply SYSRESET_SYSCON > + imply PINCTRL > + imply PINCONF > + imply PINCTRL_K210 > + imply DM_GPIO > + imply DWAPB_GPIO > + imply SIFIVE_GPIO > + imply CMD_GPIO > + imply LED > + imply LED_GPIO > endif > diff --git a/configs/sipeed_maix_bitm_defconfig > b/configs/sipeed_maix_bitm_defconfig > index 459bf0d530..0b038ff0a1 100644 > --- a/configs/sipeed_maix_bitm_defconfig > +++ b/configs/sipeed_maix_bitm_defconfig > @@ -2,6 +2,8 @@ CONFIG_RISCV=y > CONFIG_TARGET_SIPEED_MAIX=y > CONFIG_ARCH_RV64I=y > CONFIG_STACK_SIZE=0x100000 > +# FIXME: Dirty hack to get boot working! > +CONFIG_LOGLEVEL=5 > # CONFIG_NET is not set > # CONFIG_INPUT is not set > # CONFIG_DM_ETH is not set > diff --git a/doc/board/sipeed/maix.rst b/doc/board/sipeed/maix.rst > index b1894f3a6f..3811eac61f 100644 > --- a/doc/board/sipeed/maix.rst > +++ b/doc/board/sipeed/maix.rst > @@ -156,7 +156,7 @@ To run legacy images, use the ``bootm`` command: > Load Address: 80000000 > Entry Point: 80000000 > > - $ picocom -b 115200 /dev/ttyUSB0i > + $ picocom -b 115200 /dev/ttyUSB0 > => loady > ## Ready for binary (ymodem) download to 0x80000000 at 115200 bps... > C > @@ -187,6 +187,66 @@ To run legacy images, use the ``bootm`` command: > argv[0] = "<NULL>" > Hit any key to exit ... > > +Pin Assignment > +-------------- > + > +The K210 contains a Fully Programmable I/O Array (FPIOA), which can remap > any of > +its 256 input functions to any any of 48 output pins. The following table has > +the default pin assignments for the BitM. > + > +===== ========== ======= > +Pin Function Comment > +===== ========== ======= > +IO_0 JTAG_TCLK > +IO_1 JTAG_TDI > +IO_2 JTAG_TMS > +IO_3 JTAG_TDO > +IO_4 UARTHS_RX > +IO_5 UARTHS_TX > +IO_6 Not set > +IO_7 Not set > +IO_8 GPIO_0 > +IO_9 GPIO_1 > +IO_10 GPIO_2 > +IO_11 GPIO_3 > +IO_12 GPIO_4 Green LED > +IO_13 GPIO_5 Red LED > +IO_14 GPIO_6 Blue LED > +IO_15 GPIO_7 > +IO_16 GPIOHS_0 ISP > +IO_17 GPIOHS_1 > +IO_18 I2S0_SCLK MIC CLK > +IO_19 I2S0_WS MIC WS > +IO_20 I2S0_IN_D0 MIC SD > +IO_21 GPIOHS_5 > +IO_22 GPIOHS_6 > +IO_23 GPIOHS_7 > +IO_24 GPIOHS_8 > +IO_25 GPIOHS_9 > +IO_26 SPI1_D1 MMC MISO > +IO_27 SPI1_SCLK MMC CLK > +IO_28 SPI1_D0 MMC MOSI > +IO_29 GPIOHS_13 MMC CS > +IO_30 GPIOHS_14 > +IO_31 GPIOHS_15 > +IO_32 GPIOHS_16 > +IO_33 GPIOHS_17 > +IO_34 GPIOHS_18 > +IO_35 GPIOHS_19 > +IO_36 GPIOHS_20 Panel CS > +IO_37 GPIOHS_21 Panel RST > +IO_38 GPIOHS_22 Panel DC > +IO_39 SPI0_SCK Panel WR > +IO_40 SCCP_SDA > +IO_41 SCCP_SCLK > +IO_42 DVP_RST > +IO_43 DVP_VSYNC > +IO_44 DVP_PWDN > +IO_45 DVP_HSYNC > +IO_46 DVP_XCLK > +IO_47 DVP_PCLK > +===== ========== ======= > + > Over- and Under-clocking > ------------------------ > > @@ -361,5 +421,5 @@ Address Size Description > 0x8801C000 0x1000 riscv priv spec 1.9 config > 0x8801D000 0x2000 flattened device tree (contains only addresses and > interrupts) > -0x8801f000 0x1000 credits > +0x8801F000 0x1000 credits > ========== ========= =========== > -- > 2.28.0 >