From: Matthias Brugger <matthias.bgg@gmail.com>
To: yanhong wang <yanhong.wang@starfivetech.com>, Torsten Duwe <duwe@lst.de>
Cc: u-boot@lists.denx.de, Rick Chen <rick@andestech.com>,
Leo <ycliang@andestech.com>, Lukasz Majewski <lukma@denx.de>,
Sean Anderson <seanga2@gmail.com>,
Lee Kuan Lim <kuanlim.lee@starfivetech.com>,
Jianlong Huang <jianlong.huang@starfivetech.com>,
Emil Renner Berthing <kernel@esmil.dk>
Subject: Re: [PATCH v5 00/17] Basic StarFive JH7110 RISC-V SoC support
Date: Fri, 14 Apr 2023 17:05:15 +0200 [thread overview]
Message-ID: <230f4552-0e89-438e-c9b7-e8b8061713ba@gmail.com> (raw)
In-Reply-To: <f8e5af5a-8723-c7e8-2d53-49ce4481ccc5@starfivetech.com>
On 13/04/2023 12:05, yanhong wang wrote:
>
>
> On 2023/4/13 17:03, Torsten Duwe wrote:
>> On Thu, 13 Apr 2023 10:05:28 +0800
>> yanhong wang <yanhong.wang@starfivetech.com> wrote:
>>
>>> the definition of DT refers to Linux and is consistent with the definition framework of Linux.
>>
>> This is one of the desired goals, to avoid confusion, usually. But note there are already the
>> -u-boot.dtsi files; in this case it would be vice-versa: U-Boot could be simple, the kernel
>> required a different treatment. As long as the resulting tree matches the hardware!
>>
>>> The difference between 1.2A and 1.3B is the PHY type and phy clock delay configuration,
>>> which are reflected in DT, and the difference in defconfig is the configuration of the DT file.
>>>
>>> Is defconfig defined separately or merged?
>>
>> You are the implementer, this is your decision. You make a proposal, and it will get accepted
>> or not. We only make suggestions, with the intention to improve the code.
>>
>
> Thanks. A defconfig matches a piece of hardware, which is more developer-friendly and less confusing,
> so defconfig is better defined separately.
>
My opinion isIn my opinion user-friendlyness is more important then developer
friendly that from an end-user point of view it's much easier to have one binary
that works on all different board versions. If not users will have to know which
board version they have to flash the correct U-Boot.
For the RaspberryPi we even went further and put effort into U-Boot development
to have one U-Boot binary which can boot RPi3 and RPi4 boards.
In that sense I would advise you to revisit your decision to put a
developer-friendly approach over an end-user-friendly one.
As Torsten said, it shouldn't be too difficult to update the device-tree at boot
time to fit the actual board you are running U-Boot on.
Just my thoughts about the issue :)
Best regards,
Matthias
>>> The EEPROM is being prepared and will be submitted as soon as possible. Is it necessary to
>>> incorporate EEPROM into this submission?
>>>
>>> When eeprom is supported, the MAC address will be read from eeprom. The board reversion
>>> can be read from eeprom, but phy clock delay configuration cannot be read from eeprom, only in DT.
>>
>> But the board revision number in EEPROM can be used to differentiate between 1.2 and 1.3, right?
>>
>
> Yes, board reversion read from eeprom can distinguish between 1.2A and 1.3B.
>
> 1.2A and 1.3B are two sets of hardware, and the differences between the hardware are defined
> by DT, which is more concise and clear.
>
>> When I look at the code and my test results, this is my proposal to pull this in, in order to
>> simplify things and avoid duplication. Whether you do so is up to you, see above. Let me recap:
>>
>> * the device tree *must* match the hardware at hand.
>>
>> * the differences are minor and could be patched, Copy&Waste is error prone and causes extra work.
>>
>> It is my firm conviction that this patch set does not introduce hardware variants, and it would be
>> the task of the ethernet driver patch set to split the code (DT+defconfig) OR to provide a patching
>> method. Maybe I find a few cycles to look at the EEPROM.
>>
>> Torsten
next prev parent reply other threads:[~2023-04-14 15:05 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-29 3:42 [PATCH v5 00/17] Basic StarFive JH7110 RISC-V SoC support Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 01/17] riscv: cpu: jh7110: Add support for jh7110 SoC Yanhong Wang
2023-05-12 5:50 ` Bo Gan
2023-05-16 6:49 ` yanhong wang
2023-03-29 3:42 ` [PATCH v5 02/17] cache: starfive: Add StarFive JH7110 support Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 03/17] dt-bindings: reset: Add StarFive JH7110 reset definitions Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 04/17] reset: starfive: jh7110: Add reset driver for StarFive JH7110 SoC Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 05/17] dt-bindings: clock: Add StarFive JH7110 clock definitions Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 06/17] clk: starfive: Add StarFive JH7110 clock driver Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 07/17] dt-bindings: pinctrl: Add StarFive JH7110 pinctrl definitions Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 08/17] pinctrl: starfive: Add StarFive JH7110 driver Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 09/17] ram: starfive: add ddr driver Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 10/17] board: starfive: add StarFive VisionFive v2 board support Yanhong Wang
2023-04-27 9:53 ` Heinrich Schuchardt
2023-03-29 3:42 ` [PATCH v5 11/17] riscv: cpu: jh7110: Add Kconfig for StarFive JH7110 SoC Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 12/17] board: starfive: Add Kconfig for StarFive VisionFive v2 Board Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 13/17] board: starfive: Add TARGET_STARFIVE_VISIONFIVE2 to Kconfig Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 14/17] riscv: dts: jh7110: Add initial StarFive JH7110 device tree Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 15/17] riscv: dts: jh7110: Add initial u-boot " Yanhong Wang
2023-04-20 18:33 ` Leo Liang
2023-03-29 3:42 ` [PATCH v5 16/17] riscv: dts: jh7110: Add initial StarFive VisionFive v2 board " Yanhong Wang
2023-03-29 3:42 ` [PATCH v5 17/17] configs: starfive: add defconfig for StarFive VisionFvie2 1.2A and 1.3B Yanhong Wang
2023-03-29 9:41 ` [PATCH v5 00/17] Basic StarFive JH7110 RISC-V SoC support Torsten Duwe
2023-03-29 10:16 ` yanhong wang
2023-03-29 11:46 ` Torsten Duwe
2023-04-12 17:50 ` Torsten Duwe
2023-04-13 2:05 ` yanhong wang
2023-04-13 9:03 ` Torsten Duwe
2023-04-13 10:05 ` yanhong wang
2023-04-14 15:05 ` Matthias Brugger [this message]
2023-05-02 12:41 ` Andreas Schwab
2023-05-02 12:46 ` Matthias Brugger
2023-05-02 13:11 ` Andreas Schwab
2023-05-02 13:24 ` Heinrich Schuchardt
2023-05-04 2:35 ` yanhong wang
2023-04-20 3:45 ` Leo Liang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=230f4552-0e89-438e-c9b7-e8b8061713ba@gmail.com \
--to=matthias.bgg@gmail.com \
--cc=duwe@lst.de \
--cc=jianlong.huang@starfivetech.com \
--cc=kernel@esmil.dk \
--cc=kuanlim.lee@starfivetech.com \
--cc=lukma@denx.de \
--cc=rick@andestech.com \
--cc=seanga2@gmail.com \
--cc=u-boot@lists.denx.de \
--cc=yanhong.wang@starfivetech.com \
--cc=ycliang@andestech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox