2022-09-08 14:31:27

by Cristian Ciocaltea

[permalink] [raw]
Subject: [PATCH v3 0/3] Enable initial support for StarFive VisionFive V1 SBC

The StarFive VisionFive V1 SBC [1] is similar with the already supported
BeagleV Starlight Beta board, both being based on the StarFive JH7100 SoC.

In addition to documenting the necessary compatibles, this patch series
moves most of the content from jh7100-beaglev-starlight.dts to a new file
jh7100-common.dtsi, to be shared between the two boards.

No other changes are required in order to successfully boot the board.

[1] https://github.com/starfive-tech/VisionFive

Changes in v3:
- Added Reviewed-by tag from Krzysztof in patch 1/3
- Optimized patch 2/3 by enabling copy detection on "git format-patch",
as indicated by Krzysztof

Changes in v2:
- Simplified documentation by using 'enum' instead of 'const' in
patch 1/3, according to Conor's review
- Added Reviewed-by tags from Conor

Cristian Ciocaltea (3):
dt-bindings: riscv: starfive: Add StarFive VisionFive V1 board
riscv: dts: starfive: Add common DT for JH7100 based boards
riscv: dts: starfive: Add StarFive VisionFive V1 device tree

.../devicetree/bindings/riscv/starfive.yaml | 4 +-
arch/riscv/boot/dts/starfive/Makefile | 2 +-
.../dts/starfive/jh7100-beaglev-starlight.dts | 153 +-----------------
...aglev-starlight.dts => jh7100-common.dtsi} | 3 -
.../jh7100-starfive-visionfive-v1.dts | 20 +++
5 files changed, 25 insertions(+), 157 deletions(-)
copy arch/riscv/boot/dts/starfive/{jh7100-beaglev-starlight.dts => jh7100-common.dtsi} (96%)
create mode 100644 arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts

--
2.37.3


2022-09-08 14:50:46

by Cristian Ciocaltea

[permalink] [raw]
Subject: [PATCH v3 2/3] riscv: dts: starfive: Add common DT for JH7100 based boards

In preparation for adding initial device tree support for the StarFive
VisionFive board, which is similar with BeagleV Starlight, move most
of the content from jh7100-beaglev-starlight.dts to a new file, to be
shared between the two boards.

Signed-off-by: Cristian Ciocaltea <[email protected]>
Reviewed-by: Conor Dooley <[email protected]>
---
.../dts/starfive/jh7100-beaglev-starlight.dts | 153 +-----------------
...aglev-starlight.dts => jh7100-common.dtsi} | 3 -
2 files changed, 1 insertion(+), 155 deletions(-)
copy arch/riscv/boot/dts/starfive/{jh7100-beaglev-starlight.dts => jh7100-common.dtsi} (96%)

diff --git a/arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dts b/arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dts
index c9af67f7a0d2..7cda3a89020a 100644
--- a/arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dts
+++ b/arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dts
@@ -5,160 +5,9 @@
*/

/dts-v1/;
-#include "jh7100.dtsi"
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/leds/common.h>
-#include <dt-bindings/pinctrl/pinctrl-starfive.h>
+#include "jh7100-common.dtsi"

/ {
model = "BeagleV Starlight Beta";
compatible = "beagle,beaglev-starlight-jh7100-r0", "starfive,jh7100";
-
- aliases {
- serial0 = &uart3;
- };
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-
- cpus {
- timebase-frequency = <6250000>;
- };
-
- memory@80000000 {
- device_type = "memory";
- reg = <0x0 0x80000000 0x2 0x0>;
- };
-
- leds {
- compatible = "gpio-leds";
-
- led-ack {
- gpios = <&gpio 43 GPIO_ACTIVE_HIGH>;
- color = <LED_COLOR_ID_GREEN>;
- function = LED_FUNCTION_HEARTBEAT;
- linux,default-trigger = "heartbeat";
- label = "ack";
- };
- };
-};
-
-&gpio {
- i2c0_pins: i2c0-0 {
- i2c-pins {
- pinmux = <GPIOMUX(62, GPO_LOW,
- GPO_I2C0_PAD_SCK_OEN,
- GPI_I2C0_PAD_SCK_IN)>,
- <GPIOMUX(61, GPO_LOW,
- GPO_I2C0_PAD_SDA_OEN,
- GPI_I2C0_PAD_SDA_IN)>;
- bias-disable; /* external pull-up */
- input-enable;
- input-schmitt-enable;
- };
- };
-
- i2c1_pins: i2c1-0 {
- i2c-pins {
- pinmux = <GPIOMUX(47, GPO_LOW,
- GPO_I2C1_PAD_SCK_OEN,
- GPI_I2C1_PAD_SCK_IN)>,
- <GPIOMUX(48, GPO_LOW,
- GPO_I2C1_PAD_SDA_OEN,
- GPI_I2C1_PAD_SDA_IN)>;
- bias-pull-up;
- input-enable;
- input-schmitt-enable;
- };
- };
-
- i2c2_pins: i2c2-0 {
- i2c-pins {
- pinmux = <GPIOMUX(60, GPO_LOW,
- GPO_I2C2_PAD_SCK_OEN,
- GPI_I2C2_PAD_SCK_IN)>,
- <GPIOMUX(59, GPO_LOW,
- GPO_I2C2_PAD_SDA_OEN,
- GPI_I2C2_PAD_SDA_IN)>;
- bias-disable; /* external pull-up */
- input-enable;
- input-schmitt-enable;
- };
- };
-
- uart3_pins: uart3-0 {
- rx-pins {
- pinmux = <GPIOMUX(13, GPO_LOW, GPO_DISABLE,
- GPI_UART3_PAD_SIN)>;
- bias-pull-up;
- drive-strength = <14>;
- input-enable;
- input-schmitt-enable;
- slew-rate = <0>;
- };
- tx-pins {
- pinmux = <GPIOMUX(14, GPO_UART3_PAD_SOUT,
- GPO_ENABLE, GPI_NONE)>;
- bias-disable;
- drive-strength = <35>;
- input-disable;
- input-schmitt-disable;
- slew-rate = <0>;
- };
- };
-};
-
-&i2c0 {
- clock-frequency = <100000>;
- i2c-sda-hold-time-ns = <300>;
- i2c-sda-falling-time-ns = <500>;
- i2c-scl-falling-time-ns = <500>;
- pinctrl-names = "default";
- pinctrl-0 = <&i2c0_pins>;
- status = "okay";
-
- pmic@5e {
- compatible = "ti,tps65086";
- reg = <0x5e>;
- gpio-controller;
- #gpio-cells = <2>;
-
- regulators {
- };
- };
-};
-
-&i2c1 {
- clock-frequency = <400000>;
- i2c-sda-hold-time-ns = <300>;
- i2c-sda-falling-time-ns = <100>;
- i2c-scl-falling-time-ns = <100>;
- pinctrl-names = "default";
- pinctrl-0 = <&i2c1_pins>;
- status = "okay";
-};
-
-&i2c2 {
- clock-frequency = <100000>;
- i2c-sda-hold-time-ns = <300>;
- i2c-sda-falling-time-ns = <500>;
- i2c-scl-falling-time-ns = <500>;
- pinctrl-names = "default";
- pinctrl-0 = <&i2c2_pins>;
- status = "okay";
-};
-
-&osc_sys {
- clock-frequency = <25000000>;
-};
-
-&osc_aud {
- clock-frequency = <27000000>;
-};
-
-&uart3 {
- pinctrl-names = "default";
- pinctrl-0 = <&uart3_pins>;
- status = "okay";
};
diff --git a/arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dts b/arch/riscv/boot/dts/starfive/jh7100-common.dtsi
similarity index 96%
copy from arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dts
copy to arch/riscv/boot/dts/starfive/jh7100-common.dtsi
index c9af67f7a0d2..6a66abacb612 100644
--- a/arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dts
+++ b/arch/riscv/boot/dts/starfive/jh7100-common.dtsi
@@ -11,9 +11,6 @@
#include <dt-bindings/pinctrl/pinctrl-starfive.h>

/ {
- model = "BeagleV Starlight Beta";
- compatible = "beagle,beaglev-starlight-jh7100-r0", "starfive,jh7100";
-
aliases {
serial0 = &uart3;
};
--
2.37.3

2022-09-08 15:03:12

by Cristian Ciocaltea

[permalink] [raw]
Subject: [PATCH v3 3/3] riscv: dts: starfive: Add StarFive VisionFive V1 device tree

Add initial device tree for the StarFive VisionFive V1 SBC [1], which
is similar with the already supported BeagleV Starlight Beta board,
both being based on the StarFive JH7100 SoC.

[1] https://github.com/starfive-tech/VisionFive

Signed-off-by: Cristian Ciocaltea <[email protected]>
Reviewed-by: Conor Dooley <[email protected]>
---
arch/riscv/boot/dts/starfive/Makefile | 2 +-
.../jh7100-starfive-visionfive-v1.dts | 20 +++++++++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
create mode 100644 arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts

diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
index 0ea1bc15ab30..039c143cba33 100644
--- a/arch/riscv/boot/dts/starfive/Makefile
+++ b/arch/riscv/boot/dts/starfive/Makefile
@@ -1,2 +1,2 @@
# SPDX-License-Identifier: GPL-2.0
-dtb-$(CONFIG_SOC_STARFIVE) += jh7100-beaglev-starlight.dtb
+dtb-$(CONFIG_SOC_STARFIVE) += jh7100-beaglev-starlight.dtb jh7100-starfive-visionfive-v1.dtb
diff --git a/arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts b/arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts
new file mode 100644
index 000000000000..e82af72f1aaf
--- /dev/null
+++ b/arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2021 StarFive Technology Co., Ltd.
+ * Copyright (C) 2021 Emil Renner Berthing <[email protected]>
+ */
+
+/dts-v1/;
+#include "jh7100-common.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ model = "StarFive VisionFive V1";
+ compatible = "starfive,visionfive-v1", "starfive,jh7100";
+
+ gpio-restart {
+ compatible = "gpio-restart";
+ gpios = <&gpio 63 GPIO_ACTIVE_HIGH>;
+ priority = <224>;
+ };
+};
--
2.37.3

2022-10-03 11:40:44

by Cristian Ciocaltea

[permalink] [raw]
Subject: Re: [PATCH v3 0/3] Enable initial support for StarFive VisionFive V1 SBC

Please let me know if there is anything else missing in order to get
this queued for merging.

Thanks,
Cristian

On 9/8/22 17:29, Cristian Ciocaltea wrote:
> The StarFive VisionFive V1 SBC [1] is similar with the already supported
> BeagleV Starlight Beta board, both being based on the StarFive JH7100 SoC.
>
> In addition to documenting the necessary compatibles, this patch series
> moves most of the content from jh7100-beaglev-starlight.dts to a new file
> jh7100-common.dtsi, to be shared between the two boards.
>
> No other changes are required in order to successfully boot the board.
>
> [1] https://github.com/starfive-tech/VisionFive
>
> Changes in v3:
> - Added Reviewed-by tag from Krzysztof in patch 1/3
> - Optimized patch 2/3 by enabling copy detection on "git format-patch",
> as indicated by Krzysztof
>
> Changes in v2:
> - Simplified documentation by using 'enum' instead of 'const' in
> patch 1/3, according to Conor's review
> - Added Reviewed-by tags from Conor
>
> Cristian Ciocaltea (3):
> dt-bindings: riscv: starfive: Add StarFive VisionFive V1 board
> riscv: dts: starfive: Add common DT for JH7100 based boards
> riscv: dts: starfive: Add StarFive VisionFive V1 device tree
>
> .../devicetree/bindings/riscv/starfive.yaml | 4 +-
> arch/riscv/boot/dts/starfive/Makefile | 2 +-
> .../dts/starfive/jh7100-beaglev-starlight.dts | 153 +-----------------
> ...aglev-starlight.dts => jh7100-common.dtsi} | 3 -
> .../jh7100-starfive-visionfive-v1.dts | 20 +++
> 5 files changed, 25 insertions(+), 157 deletions(-)
> copy arch/riscv/boot/dts/starfive/{jh7100-beaglev-starlight.dts => jh7100-common.dtsi} (96%)
> create mode 100644 arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts
>

2022-10-04 10:23:05

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH v3 0/3] Enable initial support for StarFive VisionFive V1 SBC

On Mon, Oct 03, 2022 at 02:06:32PM +0300, Cristian Ciocaltea wrote:
> Please let me know if there is anything else missing in order to get this
> queued for merging.

Hey Cristian,

LinusW has applied a conflicting change for 6.1 as he renamed the
pinctrl header that you have moved from one file to another in this
patch [0]. Could you rebase once that lands upstream please?

Thanks,
Conor.

0 - https://lore.kernel.org/linux-riscv/CACRpkdZmmMjVwpHxkJP+Ui0XJgrdZx8kpVybifbwkRB1_uMhAg@mail.gmail.com/

>
> Thanks,
> Cristian
>
> On 9/8/22 17:29, Cristian Ciocaltea wrote:
> > The StarFive VisionFive V1 SBC [1] is similar with the already supported
> > BeagleV Starlight Beta board, both being based on the StarFive JH7100 SoC.
> >
> > In addition to documenting the necessary compatibles, this patch series
> > moves most of the content from jh7100-beaglev-starlight.dts to a new file
> > jh7100-common.dtsi, to be shared between the two boards.
> >
> > No other changes are required in order to successfully boot the board.
> >
> > [1] https://github.com/starfive-tech/VisionFive
> >
> > Changes in v3:
> > - Added Reviewed-by tag from Krzysztof in patch 1/3
> > - Optimized patch 2/3 by enabling copy detection on "git format-patch",
> > as indicated by Krzysztof
> >
> > Changes in v2:
> > - Simplified documentation by using 'enum' instead of 'const' in
> > patch 1/3, according to Conor's review
> > - Added Reviewed-by tags from Conor
> >
> > Cristian Ciocaltea (3):
> > dt-bindings: riscv: starfive: Add StarFive VisionFive V1 board
> > riscv: dts: starfive: Add common DT for JH7100 based boards
> > riscv: dts: starfive: Add StarFive VisionFive V1 device tree
> >
> > .../devicetree/bindings/riscv/starfive.yaml | 4 +-
> > arch/riscv/boot/dts/starfive/Makefile | 2 +-
> > .../dts/starfive/jh7100-beaglev-starlight.dts | 153 +-----------------
> > ...aglev-starlight.dts => jh7100-common.dtsi} | 3 -
> > .../jh7100-starfive-visionfive-v1.dts | 20 +++
> > 5 files changed, 25 insertions(+), 157 deletions(-)
> > copy arch/riscv/boot/dts/starfive/{jh7100-beaglev-starlight.dts => jh7100-common.dtsi} (96%)
> > create mode 100644 arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts
> >
>
> _______________________________________________
> linux-riscv mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-riscv
>

2022-10-04 10:50:24

by Cristian Ciocaltea

[permalink] [raw]
Subject: Re: [PATCH v3 0/3] Enable initial support for StarFive VisionFive V1 SBC

On 10/4/22 12:52, Conor Dooley wrote:
> On Mon, Oct 03, 2022 at 02:06:32PM +0300, Cristian Ciocaltea wrote:
>> Please let me know if there is anything else missing in order to get this
>> queued for merging.
>
> Hey Cristian,
>
> LinusW has applied a conflicting change for 6.1 as he renamed the
> pinctrl header that you have moved from one file to another in this
> patch [0]. Could you rebase once that lands upstream please?

Hi Conor,

Sure, I will rebase as soon as rc1 is out.

Thanks,
Cristian

>
> Thanks,
> Conor.
>
> 0 - https://lore.kernel.org/linux-riscv/CACRpkdZmmMjVwpHxkJP+Ui0XJgrdZx8kpVybifbwkRB1_uMhAg@mail.gmail.com/
>
>>
>> Thanks,
>> Cristian
>>
>> On 9/8/22 17:29, Cristian Ciocaltea wrote:
>>> The StarFive VisionFive V1 SBC [1] is similar with the already supported
>>> BeagleV Starlight Beta board, both being based on the StarFive JH7100 SoC.
>>>
>>> In addition to documenting the necessary compatibles, this patch series
>>> moves most of the content from jh7100-beaglev-starlight.dts to a new file
>>> jh7100-common.dtsi, to be shared between the two boards.
>>>
>>> No other changes are required in order to successfully boot the board.
>>>
>>> [1] https://github.com/starfive-tech/VisionFive
>>>
>>> Changes in v3:
>>> - Added Reviewed-by tag from Krzysztof in patch 1/3
>>> - Optimized patch 2/3 by enabling copy detection on "git format-patch",
>>> as indicated by Krzysztof
>>>
>>> Changes in v2:
>>> - Simplified documentation by using 'enum' instead of 'const' in
>>> patch 1/3, according to Conor's review
>>> - Added Reviewed-by tags from Conor
>>>
>>> Cristian Ciocaltea (3):
>>> dt-bindings: riscv: starfive: Add StarFive VisionFive V1 board
>>> riscv: dts: starfive: Add common DT for JH7100 based boards
>>> riscv: dts: starfive: Add StarFive VisionFive V1 device tree
>>>
>>> .../devicetree/bindings/riscv/starfive.yaml | 4 +-
>>> arch/riscv/boot/dts/starfive/Makefile | 2 +-
>>> .../dts/starfive/jh7100-beaglev-starlight.dts | 153 +-----------------
>>> ...aglev-starlight.dts => jh7100-common.dtsi} | 3 -
>>> .../jh7100-starfive-visionfive-v1.dts | 20 +++
>>> 5 files changed, 25 insertions(+), 157 deletions(-)
>>> copy arch/riscv/boot/dts/starfive/{jh7100-beaglev-starlight.dts => jh7100-common.dtsi} (96%)
>>> create mode 100644 arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts
>>>
>>
>> _______________________________________________
>> linux-riscv mailing list
>> [email protected]
>> http://lists.infradead.org/mailman/listinfo/linux-riscv
>>

2022-10-17 21:26:15

by Cristian Ciocaltea

[permalink] [raw]
Subject: Re: [PATCH v3 0/3] Enable initial support for StarFive VisionFive V1 SBC

On 10/4/22 13:15, Cristian Ciocaltea wrote:
> On 10/4/22 12:52, Conor Dooley wrote:
>> On Mon, Oct 03, 2022 at 02:06:32PM +0300, Cristian Ciocaltea wrote:
>>> Please let me know if there is anything else missing in order to get
>>> this
>>> queued for merging.
>>
>> Hey Cristian,
>>
>> LinusW has applied a conflicting change for 6.1 as he renamed the
>> pinctrl header that you have moved from one file to another in this
>> patch [0]. Could you rebase once that lands upstream please?
>
> Hi Conor,
>
> Sure, I will rebase as soon as rc1 is out.

I have submitted v4:

https://lore.kernel.org/all/[email protected]/

> Thanks,
> Cristian
>
>>
>> Thanks,
>> Conor.
>>
>> 0 -
>> https://lore.kernel.org/linux-riscv/CACRpkdZmmMjVwpHxkJP+Ui0XJgrdZx8kpVybifbwkRB1_uMhAg@mail.gmail.com/
>>
>>>
>>> Thanks,
>>> Cristian
>>>
>>> On 9/8/22 17:29, Cristian Ciocaltea wrote:
>>>> The StarFive VisionFive V1 SBC [1] is similar with the already
>>>> supported
>>>> BeagleV Starlight Beta board, both being based on the StarFive
>>>> JH7100 SoC.
>>>>
>>>> In addition to documenting the necessary compatibles, this patch series
>>>> moves most of the content from jh7100-beaglev-starlight.dts to a new
>>>> file
>>>> jh7100-common.dtsi, to be shared between the two boards.
>>>>
>>>> No other changes are required in order to successfully boot the board.
>>>>
>>>> [1] https://github.com/starfive-tech/VisionFive
>>>>
>>>> Changes in v3:
>>>>    - Added Reviewed-by tag from Krzysztof in patch 1/3
>>>>    - Optimized patch 2/3 by enabling copy detection on "git
>>>> format-patch",
>>>>      as indicated by Krzysztof
>>>>
>>>> Changes in v2:
>>>>    - Simplified documentation by using 'enum' instead of 'const' in
>>>>      patch 1/3, according to Conor's review
>>>>    - Added Reviewed-by tags from Conor
>>>>
>>>> Cristian Ciocaltea (3):
>>>>     dt-bindings: riscv: starfive: Add StarFive VisionFive V1 board
>>>>     riscv: dts: starfive: Add common DT for JH7100 based boards
>>>>     riscv: dts: starfive: Add StarFive VisionFive V1 device tree
>>>>
>>>>    .../devicetree/bindings/riscv/starfive.yaml   |   4 +-
>>>>    arch/riscv/boot/dts/starfive/Makefile         |   2 +-
>>>>    .../dts/starfive/jh7100-beaglev-starlight.dts | 153
>>>> +-----------------
>>>>    ...aglev-starlight.dts => jh7100-common.dtsi} |   3 -
>>>>    .../jh7100-starfive-visionfive-v1.dts         |  20 +++
>>>>    5 files changed, 25 insertions(+), 157 deletions(-)
>>>>    copy arch/riscv/boot/dts/starfive/{jh7100-beaglev-starlight.dts
>>>> => jh7100-common.dtsi} (96%)
>>>>    create mode 100644
>>>> arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts
>>>>
>>>
>>> _______________________________________________
>>> linux-riscv mailing list
>>> [email protected]
>>> http://lists.infradead.org/mailman/listinfo/linux-riscv
>>>