[PATCH v5 11/11] riscv: Add FPIOA and GPIO support for Kendryte K210

Sean Anderson
2020-08-21T10:06:18Z

On 8/21/20 5:08 AM, Ruinland ChuanTzu Tsai wrote:
> Hi Sean and all,
>
> Sorry for dropping this mail out of the blue.
>
> I'm trying to follow the instrcutions from `doc/board/sipeed/maix.rst`
> to build and flash u-boot so as to verify Sean's work on `maix_gpio_good` tree.
>
> Yet the console has no output.
>
> Furthermore, I found the documentation on Sipeed board to be a little bit confusing.
> In your first commit of that document, it's stated that "only the Sipeed MAIX BiT
> V2.0 (bitm) and Sipeed MAIXDUINO are supported."

Those are the only boards I have, so those are all that I can support.

> Yet the later commit (137dc15) added a table which implies that the older version
> of MAIX BiT is supported. So I'm a bit confused about whether older MAIX BiTs get
> supported or not ? (I'm testing the builts on the older version.)

It *should* work, but I haven't tested anything on a bit v1. Have you
tried booting with v2020.07? That release should have the bare minimum
needed to get things working.

> Does the replacement of CH34x with CH552 may cause the issue I'm encountering ?

Probably not.

>
> By the way, I was trying to use the pre-built toolchain from kendryte's GitHub [1].
> Yet the linker (riscv64-unknown-elf-ld.bfd) complains that `-pie` is not supported.
> Hence I switched to the the binutils v2.34 built from upstream and the u-boot could
> be built without that hiccup.

I have been using the toolchain which comes with my distro
(riscv64-linux-gnu-* on Arch). I don't know whether that makes much
difference, but I have never used Canaan's pre-build toolchain.

--Sean

>
> Could someone tell me which toolchain is recommended for building the u-boot for
> boards Kendryte K210 ?
>
> [1] https://github.com/kendryte/kendryte-gnu-toolchainhttps://github.com/kendryte/kendryte-gnu-toolchain
>
> Many thanks,
> Ruinland
>
> On Thu, Aug 20, 2020 at 02:25:36PM +0800, Rick Jian-Zhi Chen(???) wrote:
>>
>>
>> -----Original Message-----
>> From: Sean Anderson [mailto:seanga2 at gmail.com]
>> Sent: Wednesday, August 19, 2020 7:13 PM
>> To: Rick Chen
>> Cc: U-Boot Mailing List; Simon Glass; Tom Rini; Bin Meng; Rick Jian-Zhi Chen(???); Alan Quey-Liang Kao(???)
>> Subject: Re: [PATCH v5 11/11] riscv: Add FPIOA and GPIO support for Kendryte K210
>>
>> On 8/18/20 11:48 PM, Rick Chen wrote:
>>> 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 <seanga2@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 ?
>>
>> As an additional note, *CONFIG_LOGLEVEL (whoops) can also be decreased
>> for the same effect. In addition, there are several other ways I found
>> to "fix" this bug (as noted in the commit message). If you would like to
>> test this out, I have two trees [1, 2] where this series (actually a slightly
>> earlier version of this series) is applied just before and just after
>> bf2fb81ad3. The original patch is located at [3].
>>
>> --Sean
>>
>> [1] https://github.com/Forty-Bot/u-boot/tree/maix_gpio_good
>> [2] https://github.com/Forty-Bot/u-boot/tree/maix_gpio_bad
>> [3] https://patchwork.ozlabs.org/project/uboot/patch/20200724111225.12513-15-ovidiu.panait at windriver.com/