[PATCH] RISC-V: add Star64 board devicetree

H Bell posted 1 patch 1 year, 8 months ago
arch/riscv/boot/dts/starfive/Makefile         |  1 +
.../dts/starfive/jh7110-pine64-star64.dts     | 62 +++++++++++++++++++
2 files changed, 63 insertions(+)
create mode 100644 arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
[PATCH] RISC-V: add Star64 board devicetree
Posted by H Bell 1 year, 8 months ago
The Pine64 Star64 is a development board based on the Starfive JH7110 SoC.
The board features:

- JH7110 SoC
- 4/8 GiB LPDDR4 DRAM
- AXP15060 PMIC
- 40 pin GPIO header
- 1x USB 3.0 host port
- 3x USB 2.0 host port
- 1x eMMC slot
- 1x MicroSD slot
- 1x QSPI Flash
- 2x 1Gbps Ethernet port
- 1x HDMI port
- 1x 4-lane DSI
- 1x 2-lane CSI
- 1x PCIe 2.0 x1 lane

Signed-off-by: Henry Bell <dmoo_dv@protonmail.com>
Cc: Conor Dooley <conor.dooley@microchip.com>
---
 arch/riscv/boot/dts/starfive/Makefile         |  1 +
 .../dts/starfive/jh7110-pine64-star64.dts     | 62 +++++++++++++++++++
 2 files changed, 63 insertions(+)
 create mode 100644 arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts

diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
index 2fa0cd7f31c3..7a163a7d6ba3 100644
--- a/arch/riscv/boot/dts/starfive/Makefile
+++ b/arch/riscv/boot/dts/starfive/Makefile
@@ -9,5 +9,6 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-beaglev-starlight.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb
 
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
+dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb
diff --git a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
new file mode 100644
index 000000000000..c70fffd51181
--- /dev/null
+++ b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
@@ -0,0 +1,62 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+* Copyright (C) 2022 StarFive Technology Co., Ltd.
+* Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk>
+*/
+
+/dts-v1/;
+#include "jh7110-common.dtsi"
+
+/ {
+	model = "Pine64 Star64";
+	compatible = "pine64,star64", "starfive,jh7110";
+		aliases {
+				ethernet1 = &gmac1;
+		};
+};
+
+&gmac0 {
+	starfive,tx-use-rgmii-clk;
+	assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
+	assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>;
+};
+
+&gmac1 {
+	phy-handle = <&phy1>;
+	phy-mode = "rgmii-id";
+	status = "okay";
+	starfive,tx-use-rgmii-clk;
+	assigned-clocks = <&syscrg JH7110_SYSCLK_GMAC1_TX>;
+	assigned-clock-parents = <&syscrg JH7110_SYSCLK_GMAC1_RMII_RTX>;
+
+	mdio {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "snps,dwmac-mdio";
+
+		phy1: ethernet-phy@1 {
+			reg = <0>;
+		};
+	};
+};
+
+&phy0 {
+	motorcomm,tx-clk-adj-enabled;
+	motorcomm,tx-clk-10-inverted;
+	motorcomm,tx-clk-100-inverted;
+	motorcomm,tx-clk-1000-inverted;
+	motorcomm,rx-clk-drv-microamp = <2910>;
+	motorcomm,rx-data-drv-microamp = <2910>;
+	rx-internal-delay-ps = <1900>; 
+	tx-internal-delay-ps = <1500>;
+};
+
+&phy1 {
+	motorcomm,tx-clk-adj-enabled;
+	motorcomm,tx-clk-10-inverted;
+	motorcomm,tx-clk-100-inverted;
+	motorcomm,rx-clk-drv-microamp = <2910>;
+	motorcomm,rx-data-drv-microamp = <2910>;
+	rx-internal-delay-ps = <0>;
+	tx-internal-delay-ps = <300>;
+};
-- 
2.44.0
Re: [PATCH] RISC-V: add Star64 board devicetree
Posted by Markus Elfring 1 year, 8 months ago
…
> The board features:
…

Would you like to add an imperative wording for an improved change description?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.9#n94

Regards,
Markus
Re: [PATCH] RISC-V: add Star64 board devicetree
Posted by Henry Bell 1 year, 8 months ago
On Saturday, May 25th, 2024 at 9:37 AM, Markus Elfring <Markus.Elfring@web.de> wrote:

> …
> 
> > The board features:
> 
> …
> 
> Would you like to add an imperative wording for an improved change description?
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.9#n94
> 
> Regards,
> Markus

I'm happy to change it, but was going off the format used in Conor's  Milkv Mars commit
https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/commit/?id=04a228aadb84d894721b13197649ca741f3018bc
Re: [PATCH] RISC-V: add Star64 board devicetree
Posted by Conor Dooley 1 year, 8 months ago
On Sat, May 25, 2024 at 10:12:01AM +0000, Henry Bell wrote:
> On Saturday, May 25th, 2024 at 9:37 AM, Markus Elfring <Markus.Elfring@web.de> wrote:
> 
> > …
> > 
> > > The board features:
> > 
> > …
> > 
> > Would you like to add an imperative wording for an improved change description?
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.9#n94
> > 
> > Regards,
> > Markus
> 
> I'm happy to change it, but was going off the format used in Conor's  Milkv Mars commit
> https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/commit/?id=04a228aadb84d894721b13197649ca741f3018bc

Don't worry about Markus, most maintainers (myself included) ignore his
comments on patches. The commit message here is fine.

Thanks,
Conor.
Re: RISC-V: add Star64 board devicetree
Posted by Markus Elfring 1 year, 8 months ago
>>> Would you like to add an imperative wording for an improved change description?
>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.9#n94
…
>> I'm happy to change it, but was going off the format used in Conor's  Milkv Mars commit
>> https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/commit/?id=04a228aadb84d894721b13197649ca741f3018bc
>
> Don't worry about Markus, most maintainers (myself included) ignore his
> comments on patches. The commit message here is fine.

Would such a response mean also that you are occasionally ignoring requirements
from a referenced Linux development guideline?

Regards,
Markus
Re: RISC-V: add Star64 board devicetree
Posted by Conor Dooley 1 year, 8 months ago
On Sat, May 25, 2024 at 02:11:05PM +0200, Markus Elfring wrote:
> >>> Would you like to add an imperative wording for an improved change description?
> >>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.9#n94
> …
> >> I'm happy to change it, but was going off the format used in Conor's  Milkv Mars commit
> >> https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/commit/?id=04a228aadb84d894721b13197649ca741f3018bc
> >
> > Don't worry about Markus, most maintainers (myself included) ignore his
> > comments on patches. The commit message here is fine.
> 
> Would such a response mean also that you are occasionally ignoring requirements
> from a referenced Linux development guideline?

I do ignore it from time to time, yes. Being a stickler to the
guidelines wastes everybody's time (just like this discussion).
That said, the tense used in this patch is perfectly in-line with the
guideline you reference. "Add Star64 board devicetree" is in the
imperative and the commit message body contains additional information
about the board's configuration.

Thanks,
Conor.
Re: RISC-V: add Star64 board devicetree
Posted by Markus Elfring 1 year, 8 months ago
>>> Don't worry about Markus, most maintainers (myself included) ignore his
>>> comments on patches. The commit message here is fine.
>>
>> Would such a response mean also that you are occasionally ignoring requirements
>> from a referenced Linux development guideline?
>
> I do ignore it from time to time, yes. Being a stickler to the
> guidelines wastes everybody's time (just like this discussion).
> That said, the tense used in this patch is perfectly in-line with the
> guideline you reference.

Partly, yes.


> "Add Star64 board devicetree" is in the imperative

This information fits to the summary phrase.


> and the commit message body contains additional information about
> the board's configuration.

I hope that further contributors can follow the recommendation better
also for the imperative mood in changelogs.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.9#n94

Regards,
Markus
Re: [PATCH] RISC-V: add Star64 board devicetree
Posted by Krzysztof Kozlowski 1 year, 8 months ago
On 23/05/2024 21:06, H Bell wrote:
> The Pine64 Star64 is a development board based on the Starfive JH7110 SoC.
> The board features:
> 
> - JH7110 SoC
> - 4/8 GiB LPDDR4 DRAM
> - AXP15060 PMIC
> - 40 pin GPIO header
> - 1x USB 3.0 host port
> - 3x USB 2.0 host port
> - 1x eMMC slot
> - 1x MicroSD slot
> - 1x QSPI Flash
> - 2x 1Gbps Ethernet port
> - 1x HDMI port
> - 1x 4-lane DSI
> - 1x 2-lane CSI
> - 1x PCIe 2.0 x1 lane
> 
> Signed-off-by: Henry Bell <dmoo_dv@protonmail.com>
> Cc: Conor Dooley <conor.dooley@microchip.com>
> ---
>  arch/riscv/boot/dts/starfive/Makefile         |  1 +
>  .../dts/starfive/jh7110-pine64-star64.dts     | 62 +++++++++++++++++++
>  2 files changed, 63 insertions(+)
>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
> 
> diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
> index 2fa0cd7f31c3..7a163a7d6ba3 100644
> --- a/arch/riscv/boot/dts/starfive/Makefile
> +++ b/arch/riscv/boot/dts/starfive/Makefile
> @@ -9,5 +9,6 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-beaglev-starlight.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb
>  
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
> +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
> new file mode 100644
> index 000000000000..c70fffd51181
> --- /dev/null
> +++ b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
> @@ -0,0 +1,62 @@
> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> +/*
> +* Copyright (C) 2022 StarFive Technology Co., Ltd.
> +* Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk>
> +*/
> +
> +/dts-v1/;
> +#include "jh7110-common.dtsi"
> +
> +/ {
> +	model = "Pine64 Star64";
> +	compatible = "pine64,star64", "starfive,jh7110";

Please run scripts/checkpatch.pl and fix reported warnings. Then please
run `scripts/checkpatch.pl --strict` and (probably) fix more warnings.
Some warnings can be ignored, especially from --strict run, but the code
here looks like it needs a fix. Feel free to get in touch if the warning
is not clear.

It does not look like you tested the DTS against bindings. Please run
`make dtbs_check W=1` (see
Documentation/devicetree/bindings/writing-schema.rst or
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
for instructions).

> +		aliases {
> +				ethernet1 = &gmac1;
> +		};

Messed indentation.


> +};
> +
> +&gmac0 {
> +	starfive,tx-use-rgmii-clk;
> +	assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
> +	assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>;
> +};
> +
> +&gmac1 {
> +	phy-handle = <&phy1>;
> +	phy-mode = "rgmii-id";
> +	status = "okay";

Status is the last property. Please read DTS coding style.


Best regards,
Krzysztof