Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2021-08-09 11:00:21
Also in:
linux-riscv, lkml
On Thu, Aug 5, 2021 at 8:09 PM Atish Patra [off-list ref] wrote:
On Thu, Aug 5, 2021 at 1:13 AM Emil Renner Berthing [off-list ref] wrote:quoted
On Thu, 5 Aug 2021 at 04:30, Drew Fustini [off-list ref] wrote:quoted
On Wed, Aug 04, 2021 at 02:13:47PM -0700, Palmer Dabbelt wrote:quoted
On Wed, 04 Aug 2021 13:54:16 PDT (-0700), atishp@atishpatra.org wrote:quoted
On Wed, Aug 4, 2021 at 1:33 PM Palmer Dabbelt [off-list ref] wrote:quoted
On Thu, 15 Jul 2021 19:17:23 PDT (-0700), bmeng.cn@gmail.com wrote:quoted
On Tue, Jul 13, 2021 at 2:34 PM Drew Fustini [off-list ref] wrote:quoted
Add DT binding documentation for the StarFive JH7100 Soc [1] and the BeagleV Starlight JH7100 board [2]. [1] https://github.com/starfive-tech/beaglev_doc [2] https://github.com/beagleboard/beaglev-starlight Signed-off-by: Drew Fustini <redacted>
quoted
quoted
quoted
quoted
Given that beagleV starlight mass production is cancelled [1], are we still upstreaming the support for this ?I'm not sure, but I wasn't quite sure where to have that discussion. I figured that the boards exist so there's no reason to shoot this down, given that it's just the vendor DT list. At a bare minimum there's out of tree support for this, so having the DT strings defined seems sane as that's a defacto interface with bootloaders. Maybe this is more of a question for Drew: I think we were all OK working through the issues with the first-run chip when there was going to be a lot of them, but with such a small number produced I'm not sure if there's going to be enough interested to take on all that effort. I'm not quite sure where we stand on support for this: at some point there were some ideas floating around as to a way to support it without major software changes (allocating into the non-caching regions). If that pans out then I'm fine handling this, at least from the RISC-V side, but if we're going to have to go through all the ISA/SBI stuff then it's probably not worth it. Also not sure if there are a bunch of starfive-specific drivers that would be needed to make this boot, in which case it's probably best to wait for whatever comes next.I think that the discontinued beta prototype could be useful as a native build host for those of you that have it and don't have an Unmatched.
Exactly. And there are ca. 300 boards out there (many more than some other platforms supported by Linux), which won't disappear with the blimp of an eye (unlike "proprietary" boards that tend to get mass-destroyed when a project is cancelled).
quoted
Also according to this statement [1], they're still planning on producing new boards with the JH7100 (same chip as on the BeagleV prototype) at the end of Q3 and the JH7110 further in the future, so I still think it'd make sense to support those. [1]: https://www.design-reuse.com/news/50402/starfive-open-source-single-board-platform-q3-2021.htmlquoted
quoted
The arch_sync_dma RFC from Atish [1] is key to the board running mainline. Most of the peripherals (USB, SD card, ethernet) are already supported by upstream Cadence and Synopsys drivers. However, the vendor kernel used ifdef's to flush the L2 cache at several points in those drivers and subsystem cores because the peripherals are on a non-cache coherent interconnect. Without the proposed solution from Atish that uses the non-cached DDR alias, then only serial console would work on mainline (assuming the system is running from a ramdisk that the vendor uboot loaded).We need the clock patches as well. If there is an agreed effort to upstream the clock patches and other bare minimum patches, I am happy to revise the DMA patches as well.
The main issue with the clock driver is that we do not have complete
documentation about the clock tree, so the tree implemented by the
driver is a bit ad-hoc.
However, I do think we already have a good separation between DT
bindings (incl. definitions) and clock driver. Hence we can upstream
the DT and clock driver, and fill in the missing and correct the
existing parts of the clock driver later, without needing further
changes to the DT bindings.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds