2021-07-13 06:32:28

by Drew Fustini

[permalink] [raw]
Subject: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

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 <[email protected]>
---
v4 changes:
- removed JH7100 SoC revision number after discussion with Geert

v3 changes:
- added revision number for the board and soc after question from Palmer

v2 changes:
- removed "items:" entry that only had "const: starfive,jh7100"
- correct typo in Description:

Results of running checks:
$ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dt_binding_check \
DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
DTEX Documentation/devicetree/bindings/riscv/starfive.example.dts
SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
DTC Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
CHECK Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
$ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check \
DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
SYNC include/config/auto.conf.cmd
UPD include/config/kernel.release
SCHEMA Documentation/devicetree/bindings/processed-schema.json
DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
DTC arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
DTC arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
CHECK arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
CHECK arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
CHECK arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml

The dts file is from vendor repo and is being cleaned up right now in
preperation for submitting to the mailing list:
https://github.com/starfive-tech/linux/tree/beaglev/arch/riscv/boot/dts/starfive

.../devicetree/bindings/riscv/starfive.yaml | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 Documentation/devicetree/bindings/riscv/starfive.yaml

diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml b/Documentation/devicetree/bindings/riscv/starfive.yaml
new file mode 100644
index 000000000000..5b36243fd674
--- /dev/null
+++ b/Documentation/devicetree/bindings/riscv/starfive.yaml
@@ -0,0 +1,27 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/riscv/starfive.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: StarFive SoC-based boards
+
+maintainers:
+ - Michael Zhu <[email protected]>
+ - Drew Fustini <[email protected]>
+
+description:
+ StarFive SoC-based boards
+
+properties:
+ $nodename:
+ const: '/'
+ compatible:
+ oneOf:
+ - items:
+ - const: beagle,beaglev-starlight-jh7100-r0
+ - const: starfive,jh7100
+
+additionalProperties: true
+
+...
--
2.27.0


2021-07-15 17:27:11

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Mon, 12 Jul 2021 23:30:18 -0700, Drew Fustini wrote:
> 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 <[email protected]>
> ---
> v4 changes:
> - removed JH7100 SoC revision number after discussion with Geert
>
> v3 changes:
> - added revision number for the board and soc after question from Palmer
>
> v2 changes:
> - removed "items:" entry that only had "const: starfive,jh7100"
> - correct typo in Description:
>
> Results of running checks:
> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dt_binding_check \
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
> DTEX Documentation/devicetree/bindings/riscv/starfive.example.dts
> SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
> DTC Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> CHECK Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check \
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> SYNC include/config/auto.conf.cmd
> UPD include/config/kernel.release
> SCHEMA Documentation/devicetree/bindings/processed-schema.json
> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
> DTC arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> DTC arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> CHECK arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> CHECK arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> CHECK arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
>
> The dts file is from vendor repo and is being cleaned up right now in
> preperation for submitting to the mailing list:
> https://github.com/starfive-tech/linux/tree/beaglev/arch/riscv/boot/dts/starfive
>
> .../devicetree/bindings/riscv/starfive.yaml | 27 +++++++++++++++++++
> 1 file changed, 27 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/riscv/starfive.yaml
>

Reviewed-by: Rob Herring <[email protected]>

(I'm expecting the RiscV maintainers to take this.)

2021-07-16 02:19:46

by Bin Meng

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Tue, Jul 13, 2021 at 2:34 PM Drew Fustini <[email protected]> wrote:
>
> 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 <[email protected]>
> ---
> v4 changes:
> - removed JH7100 SoC revision number after discussion with Geert
>
> v3 changes:
> - added revision number for the board and soc after question from Palmer
>
> v2 changes:
> - removed "items:" entry that only had "const: starfive,jh7100"
> - correct typo in Description:
>
> Results of running checks:
> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dt_binding_check \
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
> DTEX Documentation/devicetree/bindings/riscv/starfive.example.dts
> SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
> DTC Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> CHECK Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check \
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> SYNC include/config/auto.conf.cmd
> UPD include/config/kernel.release
> SCHEMA Documentation/devicetree/bindings/processed-schema.json
> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
> DTC arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> DTC arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> CHECK arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> CHECK arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> CHECK arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
>
> The dts file is from vendor repo and is being cleaned up right now in
> preperation for submitting to the mailing list:
> https://github.com/starfive-tech/linux/tree/beaglev/arch/riscv/boot/dts/starfive
>
> .../devicetree/bindings/riscv/starfive.yaml | 27 +++++++++++++++++++
> 1 file changed, 27 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/riscv/starfive.yaml
>

Reviewed-by: Bin Meng <[email protected]>

2021-08-04 22:25:33

by Atish Patra

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Wed, Aug 4, 2021 at 1:33 PM Palmer Dabbelt <[email protected]> wrote:
>
> On Thu, 15 Jul 2021 19:17:23 PDT (-0700), [email protected] wrote:
> > On Tue, Jul 13, 2021 at 2:34 PM Drew Fustini <[email protected]> wrote:
> >>
> >> 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 <[email protected]>
> >> ---
> >> v4 changes:
> >> - removed JH7100 SoC revision number after discussion with Geert
> >>
> >> v3 changes:
> >> - added revision number for the board and soc after question from Palmer
> >>
> >> v2 changes:
> >> - removed "items:" entry that only had "const: starfive,jh7100"
> >> - correct typo in Description:
> >>
> >> Results of running checks:
> >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dt_binding_check \
> >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> >> CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
> >> DTEX Documentation/devicetree/bindings/riscv/starfive.example.dts
> >> SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
> >> DTC Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> >> CHECK Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check \
> >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> >> SYNC include/config/auto.conf.cmd
> >> UPD include/config/kernel.release
> >> SCHEMA Documentation/devicetree/bindings/processed-schema.json
> >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
> >> DTC arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> >> DTC arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> >> CHECK arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> >> CHECK arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> >> CHECK arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> >>
> >> The dts file is from vendor repo and is being cleaned up right now in
> >> preperation for submitting to the mailing list:
> >> https://github.com/starfive-tech/linux/tree/beaglev/arch/riscv/boot/dts/starfive
> >>
> >> .../devicetree/bindings/riscv/starfive.yaml | 27 +++++++++++++++++++
> >> 1 file changed, 27 insertions(+)
> >> create mode 100644 Documentation/devicetree/bindings/riscv/starfive.yaml
> >>
> >
> > Reviewed-by: Bin Meng <[email protected]>
>
> Thanks. This is on for-next, as Rob suggested taking it via the RISC-V
> tree.
>
Given that beagleV starlight mass production is cancelled [1], are we
still upstreaming the support for this ?

[1] https://www.cnx-software.com/2021/07/31/beaglev-starlight-sbc-wont-be-mass-manufactured-redesigned-beaglev-risc-v-sbc-expected-in-q1-2022/
> _______________________________________________
> linux-riscv mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-riscv



--
Regards,
Atish

2021-08-04 22:34:40

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Wed, 04 Aug 2021 13:54:16 PDT (-0700), [email protected] wrote:
> On Wed, Aug 4, 2021 at 1:33 PM Palmer Dabbelt <[email protected]> wrote:
>>
>> On Thu, 15 Jul 2021 19:17:23 PDT (-0700), [email protected] wrote:
>> > On Tue, Jul 13, 2021 at 2:34 PM Drew Fustini <[email protected]> wrote:
>> >>
>> >> 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 <[email protected]>
>> >> ---
>> >> v4 changes:
>> >> - removed JH7100 SoC revision number after discussion with Geert
>> >>
>> >> v3 changes:
>> >> - added revision number for the board and soc after question from Palmer
>> >>
>> >> v2 changes:
>> >> - removed "items:" entry that only had "const: starfive,jh7100"
>> >> - correct typo in Description:
>> >>
>> >> Results of running checks:
>> >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dt_binding_check \
>> >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
>> >> CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
>> >> DTEX Documentation/devicetree/bindings/riscv/starfive.example.dts
>> >> SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
>> >> DTC Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
>> >> CHECK Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
>> >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check \
>> >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
>> >> SYNC include/config/auto.conf.cmd
>> >> UPD include/config/kernel.release
>> >> SCHEMA Documentation/devicetree/bindings/processed-schema.json
>> >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
>> >> DTC arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
>> >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
>> >> DTC arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
>> >> CHECK arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
>> >> CHECK arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
>> >> CHECK arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
>> >>
>> >> The dts file is from vendor repo and is being cleaned up right now in
>> >> preperation for submitting to the mailing list:
>> >> https://github.com/starfive-tech/linux/tree/beaglev/arch/riscv/boot/dts/starfive
>> >>
>> >> .../devicetree/bindings/riscv/starfive.yaml | 27 +++++++++++++++++++
>> >> 1 file changed, 27 insertions(+)
>> >> create mode 100644 Documentation/devicetree/bindings/riscv/starfive.yaml
>> >>
>> >
>> > Reviewed-by: Bin Meng <[email protected]>
>>
>> Thanks. This is on for-next, as Rob suggested taking it via the RISC-V
>> tree.
>>
> 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.

>
> [1] https://www.cnx-software.com/2021/07/31/beaglev-starlight-sbc-wont-be-mass-manufactured-redesigned-beaglev-risc-v-sbc-expected-in-q1-2022/
>> _______________________________________________
>> linux-riscv mailing list
>> [email protected]
>> http://lists.infradead.org/mailman/listinfo/linux-riscv

2021-08-05 02:04:50

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Thu, 15 Jul 2021 19:17:23 PDT (-0700), [email protected] wrote:
> On Tue, Jul 13, 2021 at 2:34 PM Drew Fustini <[email protected]> wrote:
>>
>> 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 <[email protected]>
>> ---
>> v4 changes:
>> - removed JH7100 SoC revision number after discussion with Geert
>>
>> v3 changes:
>> - added revision number for the board and soc after question from Palmer
>>
>> v2 changes:
>> - removed "items:" entry that only had "const: starfive,jh7100"
>> - correct typo in Description:
>>
>> Results of running checks:
>> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dt_binding_check \
>> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
>> CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
>> DTEX Documentation/devicetree/bindings/riscv/starfive.example.dts
>> SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
>> DTC Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
>> CHECK Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
>> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check \
>> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
>> SYNC include/config/auto.conf.cmd
>> UPD include/config/kernel.release
>> SCHEMA Documentation/devicetree/bindings/processed-schema.json
>> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
>> DTC arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
>> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
>> DTC arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
>> CHECK arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
>> CHECK arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
>> CHECK arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
>>
>> The dts file is from vendor repo and is being cleaned up right now in
>> preperation for submitting to the mailing list:
>> https://github.com/starfive-tech/linux/tree/beaglev/arch/riscv/boot/dts/starfive
>>
>> .../devicetree/bindings/riscv/starfive.yaml | 27 +++++++++++++++++++
>> 1 file changed, 27 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/riscv/starfive.yaml
>>
>
> Reviewed-by: Bin Meng <[email protected]>

Thanks. This is on for-next, as Rob suggested taking it via the RISC-V
tree.

2021-08-05 05:02:20

by Drew Fustini

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Wed, Aug 04, 2021 at 02:13:47PM -0700, Palmer Dabbelt wrote:
> On Wed, 04 Aug 2021 13:54:16 PDT (-0700), [email protected] wrote:
> > On Wed, Aug 4, 2021 at 1:33 PM Palmer Dabbelt <[email protected]> wrote:
> > >
> > > On Thu, 15 Jul 2021 19:17:23 PDT (-0700), [email protected] wrote:
> > > > On Tue, Jul 13, 2021 at 2:34 PM Drew Fustini <[email protected]> wrote:
> > > >>
> > > >> 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 <[email protected]>
> > > >> ---
> > > >> v4 changes:
> > > >> - removed JH7100 SoC revision number after discussion with Geert
> > > >>
> > > >> v3 changes:
> > > >> - added revision number for the board and soc after question from Palmer
> > > >>
> > > >> v2 changes:
> > > >> - removed "items:" entry that only had "const: starfive,jh7100"
> > > >> - correct typo in Description:
> > > >>
> > > >> Results of running checks:
> > > >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dt_binding_check \
> > > >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> > > >> CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
> > > >> DTEX Documentation/devicetree/bindings/riscv/starfive.example.dts
> > > >> SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
> > > >> DTC Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> > > >> CHECK Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> > > >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check \
> > > >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> > > >> SYNC include/config/auto.conf.cmd
> > > >> UPD include/config/kernel.release
> > > >> SCHEMA Documentation/devicetree/bindings/processed-schema.json
> > > >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
> > > >> DTC arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> > > >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> > > >> DTC arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> > > >> CHECK arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> > > >> CHECK arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> > > >> CHECK arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> > > >>
> > > >> The dts file is from vendor repo and is being cleaned up right now in
> > > >> preperation for submitting to the mailing list:
> > > >> https://github.com/starfive-tech/linux/tree/beaglev/arch/riscv/boot/dts/starfive
> > > >>
> > > >> .../devicetree/bindings/riscv/starfive.yaml | 27 +++++++++++++++++++
> > > >> 1 file changed, 27 insertions(+)
> > > >> create mode 100644 Documentation/devicetree/bindings/riscv/starfive.yaml
> > > >>
> > > >
> > > > Reviewed-by: Bin Meng <[email protected]>
> > >
> > > Thanks. This is on for-next, as Rob suggested taking it via the RISC-V
> > > tree.
> > >
> > 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.

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).

Thanks,
Drew

[1] https://lore.kernel.org/linux-riscv/CAOnJCU+ip1ccc9CrREi3c+15ue4Grcq+ENbQ+z_gh3CH249aAg@mail.gmail.com/T/#md422e9de172a179f8625c5bb595cf40e5942db67

2021-08-05 09:06:34

by Andreas Schwab

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Aug 04 2021, Drew Fustini wrote:

> The arch_sync_dma RFC from Atish [1] is key to the board running
> mainline.

It still has issues, though.

https://github.com/starfive-tech/linux/issues/1#issuecomment-879910372

Andreas.

--
Andreas Schwab, [email protected]
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."

2021-08-05 12:01:51

by Emil Renner Berthing

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Thu, 5 Aug 2021 at 04:30, Drew Fustini <[email protected]> wrote:
> On Wed, Aug 04, 2021 at 02:13:47PM -0700, Palmer Dabbelt wrote:
> > On Wed, 04 Aug 2021 13:54:16 PDT (-0700), [email protected] wrote:
> > > On Wed, Aug 4, 2021 at 1:33 PM Palmer Dabbelt <[email protected]> wrote:
> > > >
> > > > On Thu, 15 Jul 2021 19:17:23 PDT (-0700), [email protected] wrote:
> > > > > On Tue, Jul 13, 2021 at 2:34 PM Drew Fustini <[email protected]> wrote:
> > > > >>
> > > > >> 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 <[email protected]>
> > > > >> ---
> > > > >> v4 changes:
> > > > >> - removed JH7100 SoC revision number after discussion with Geert
> > > > >>
> > > > >> v3 changes:
> > > > >> - added revision number for the board and soc after question from Palmer
> > > > >>
> > > > >> v2 changes:
> > > > >> - removed "items:" entry that only had "const: starfive,jh7100"
> > > > >> - correct typo in Description:
> > > > >>
> > > > >> Results of running checks:
> > > > >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dt_binding_check \
> > > > >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> > > > >> CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
> > > > >> DTEX Documentation/devicetree/bindings/riscv/starfive.example.dts
> > > > >> SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
> > > > >> DTC Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> > > > >> CHECK Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> > > > >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check \
> > > > >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> > > > >> SYNC include/config/auto.conf.cmd
> > > > >> UPD include/config/kernel.release
> > > > >> SCHEMA Documentation/devicetree/bindings/processed-schema.json
> > > > >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
> > > > >> DTC arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> > > > >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> > > > >> DTC arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> > > > >> CHECK arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> > > > >> CHECK arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> > > > >> CHECK arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> > > > >>
> > > > >> The dts file is from vendor repo and is being cleaned up right now in
> > > > >> preperation for submitting to the mailing list:
> > > > >> https://github.com/starfive-tech/linux/tree/beaglev/arch/riscv/boot/dts/starfive
> > > > >>
> > > > >> .../devicetree/bindings/riscv/starfive.yaml | 27 +++++++++++++++++++
> > > > >> 1 file changed, 27 insertions(+)
> > > > >> create mode 100644 Documentation/devicetree/bindings/riscv/starfive.yaml
> > > > >>
> > > > >
> > > > > Reviewed-by: Bin Meng <[email protected]>
> > > >
> > > > Thanks. This is on for-next, as Rob suggested taking it via the RISC-V
> > > > tree.
> > > >
> > > 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.

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.html

> 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).
>
> Thanks,
> Drew
>
> [1] https://lore.kernel.org/linux-riscv/CAOnJCU+ip1ccc9CrREi3c+15ue4Grcq+ENbQ+z_gh3CH249aAg@mail.gmail.com/T/#md422e9de172a179f8625c5bb595cf40e5942db67

2021-08-05 20:16:03

by Atish Patra

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Thu, Aug 5, 2021 at 1:13 AM Emil Renner Berthing <[email protected]> wrote:
>
> On Thu, 5 Aug 2021 at 04:30, Drew Fustini <[email protected]> wrote:
> > On Wed, Aug 04, 2021 at 02:13:47PM -0700, Palmer Dabbelt wrote:
> > > On Wed, 04 Aug 2021 13:54:16 PDT (-0700), [email protected] wrote:
> > > > On Wed, Aug 4, 2021 at 1:33 PM Palmer Dabbelt <[email protected]> wrote:
> > > > >
> > > > > On Thu, 15 Jul 2021 19:17:23 PDT (-0700), [email protected] wrote:
> > > > > > On Tue, Jul 13, 2021 at 2:34 PM Drew Fustini <[email protected]> wrote:
> > > > > >>
> > > > > >> 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 <[email protected]>
> > > > > >> ---
> > > > > >> v4 changes:
> > > > > >> - removed JH7100 SoC revision number after discussion with Geert
> > > > > >>
> > > > > >> v3 changes:
> > > > > >> - added revision number for the board and soc after question from Palmer
> > > > > >>
> > > > > >> v2 changes:
> > > > > >> - removed "items:" entry that only had "const: starfive,jh7100"
> > > > > >> - correct typo in Description:
> > > > > >>
> > > > > >> Results of running checks:
> > > > > >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dt_binding_check \
> > > > > >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> > > > > >> CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
> > > > > >> DTEX Documentation/devicetree/bindings/riscv/starfive.example.dts
> > > > > >> SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
> > > > > >> DTC Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> > > > > >> CHECK Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> > > > > >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check \
> > > > > >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> > > > > >> SYNC include/config/auto.conf.cmd
> > > > > >> UPD include/config/kernel.release
> > > > > >> SCHEMA Documentation/devicetree/bindings/processed-schema.json
> > > > > >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
> > > > > >> DTC arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> > > > > >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> > > > > >> DTC arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> > > > > >> CHECK arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> > > > > >> CHECK arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> > > > > >> CHECK arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> > > > > >>
> > > > > >> The dts file is from vendor repo and is being cleaned up right now in
> > > > > >> preperation for submitting to the mailing list:
> > > > > >> https://github.com/starfive-tech/linux/tree/beaglev/arch/riscv/boot/dts/starfive
> > > > > >>
> > > > > >> .../devicetree/bindings/riscv/starfive.yaml | 27 +++++++++++++++++++
> > > > > >> 1 file changed, 27 insertions(+)
> > > > > >> create mode 100644 Documentation/devicetree/bindings/riscv/starfive.yaml
> > > > > >>
> > > > > >
> > > > > > Reviewed-by: Bin Meng <[email protected]>
> > > > >
> > > > > Thanks. This is on for-next, as Rob suggested taking it via the RISC-V
> > > > > tree.
> > > > >
> > > > 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.
>
> 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.html
>



> > 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.

However, I am not sure all the patches should be beagleV or
starfive/starlight given the new announcement
from StarFive. Does anybody know if they are going to mass produce the
exact same SBC (JH7100) or some variant of it ?

Maybe we should defer upstreaming until we see the new board ? We
probably don't want two different versions of upstreaming support
for the same board!

> > Thanks,
> > Drew
> >
> > [1] https://lore.kernel.org/linux-riscv/CAOnJCU+ip1ccc9CrREi3c+15ue4Grcq+ENbQ+z_gh3CH249aAg@mail.gmail.com/T/#md422e9de172a179f8625c5bb595cf40e5942db67



--
Regards,
Atish

2021-08-06 00:20:20

by Drew Fustini

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Thu, Aug 05, 2021 at 11:09:36AM -0700, Atish Patra wrote:
> On Thu, Aug 5, 2021 at 1:13 AM Emil Renner Berthing <[email protected]> wrote:
> >
> > On Thu, 5 Aug 2021 at 04:30, Drew Fustini <[email protected]> wrote:
> > > On Wed, Aug 04, 2021 at 02:13:47PM -0700, Palmer Dabbelt wrote:
> > > > On Wed, 04 Aug 2021 13:54:16 PDT (-0700), [email protected] wrote:
> > > > > On Wed, Aug 4, 2021 at 1:33 PM Palmer Dabbelt <[email protected]> wrote:
> > > > > >
> > > > > > On Thu, 15 Jul 2021 19:17:23 PDT (-0700), [email protected] wrote:
> > > > > > > On Tue, Jul 13, 2021 at 2:34 PM Drew Fustini <[email protected]> wrote:
> > > > > > >>
> > > > > > >> 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 <[email protected]>
> > > > > > >> ---
> > > > > > >> v4 changes:
> > > > > > >> - removed JH7100 SoC revision number after discussion with Geert
> > > > > > >>
> > > > > > >> v3 changes:
> > > > > > >> - added revision number for the board and soc after question from Palmer
> > > > > > >>
> > > > > > >> v2 changes:
> > > > > > >> - removed "items:" entry that only had "const: starfive,jh7100"
> > > > > > >> - correct typo in Description:
> > > > > > >>
> > > > > > >> Results of running checks:
> > > > > > >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dt_binding_check \
> > > > > > >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> > > > > > >> CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
> > > > > > >> DTEX Documentation/devicetree/bindings/riscv/starfive.example.dts
> > > > > > >> SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
> > > > > > >> DTC Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> > > > > > >> CHECK Documentation/devicetree/bindings/riscv/starfive.example.dt.yaml
> > > > > > >> $ make -j8 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check \
> > > > > > >> DT_SCHEMA_FILES=Documentation/devicetree/bindings/riscv/starfive.yaml
> > > > > > >> SYNC include/config/auto.conf.cmd
> > > > > > >> UPD include/config/kernel.release
> > > > > > >> SCHEMA Documentation/devicetree/bindings/processed-schema.json
> > > > > > >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
> > > > > > >> DTC arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> > > > > > >> DTC arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> > > > > > >> DTC arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> > > > > > >> CHECK arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dt.yaml
> > > > > > >> CHECK arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dt.yaml
> > > > > > >> CHECK arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dt.yaml
> > > > > > >>
> > > > > > >> The dts file is from vendor repo and is being cleaned up right now in
> > > > > > >> preperation for submitting to the mailing list:
> > > > > > >> https://github.com/starfive-tech/linux/tree/beaglev/arch/riscv/boot/dts/starfive
> > > > > > >>
> > > > > > >> .../devicetree/bindings/riscv/starfive.yaml | 27 +++++++++++++++++++
> > > > > > >> 1 file changed, 27 insertions(+)
> > > > > > >> create mode 100644 Documentation/devicetree/bindings/riscv/starfive.yaml
> > > > > > >>
> > > > > > >
> > > > > > > Reviewed-by: Bin Meng <[email protected]>
> > > > > >
> > > > > > Thanks. This is on for-next, as Rob suggested taking it via the RISC-V
> > > > > > tree.
> > > > > >
> > > > > 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.
> >
> > 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.html
> >
>
>
>
> > > 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.
>
> However, I am not sure all the patches should be beagleV or
> starfive/starlight given the new announcement
> from StarFive. Does anybody know if they are going to mass produce the
> exact same SBC (JH7100) or some variant of it ?
>
> Maybe we should defer upstreaming until we see the new board ? We
> probably don't want two different versions of upstreaming support
> for the same board!

The JH7100 was produced through MPW (multi-project wafer) runs and not
as a full mask set for mass production. I don't know what quantity will
exist beyond the 300 used on the beaglev starlight beta prototypes.

Thanks,
Drew

2021-08-09 12:06:53

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v4] dt-bindings: riscv: add starfive jh7100 bindings

On Thu, Aug 5, 2021 at 8:09 PM Atish Patra <[email protected]> wrote:
> On Thu, Aug 5, 2021 at 1:13 AM Emil Renner Berthing <[email protected]> wrote:
> > On Thu, 5 Aug 2021 at 04:30, Drew Fustini <[email protected]> wrote:
> > > On Wed, Aug 04, 2021 at 02:13:47PM -0700, Palmer Dabbelt wrote:
> > > > On Wed, 04 Aug 2021 13:54:16 PDT (-0700), [email protected] wrote:
> > > > > On Wed, Aug 4, 2021 at 1:33 PM Palmer Dabbelt <[email protected]> wrote:
> > > > > > On Thu, 15 Jul 2021 19:17:23 PDT (-0700), [email protected] wrote:
> > > > > > > On Tue, Jul 13, 2021 at 2:34 PM Drew Fustini <[email protected]> wrote:
> > > > > > >> 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 <[email protected]>

> > > > > 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).

> > 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.html
>
> > > 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 -- [email protected]

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