Re: [PATCH v2] riscv: dts: Add DT node for SiFive FU540 Ethernet controller driver

From: Troy Benjegerdes
Date: Fri Jun 21 2019 - 22:40:14 EST




> On Jun 21, 2019, at 7:33 PM, Troy Benjegerdes <troy.benjegerdes@xxxxxxxxxx> wrote:
>
>
>
>> On Jun 21, 2019, at 4:59 PM, Atish Patra <Atish.Patra@xxxxxxx> wrote:
>>
>> On Fri, 2019-06-21 at 14:46 -0700, Atish Patra wrote:
>>> On Fri, 2019-06-21 at 14:18 -0500, Troy Benjegerdes wrote:
>>>> Can you post the fsbl and other images you used to boot/test this?
>>>>
>>>
>>
>> Resending it without the attachment. Obviously, the mail did not go
>> through with the binary blob attached :( :(. My bad.
>>
>> Let me know if you still want me to share the binary with you. I will
>> probably share it via some other method.
>
> The bl came through as it was sent direct to me, and I can deal with
> the tftp config manually. I have a kernel image, but not the boot.scr.uimg
> that it looks like you are using. Is that from Yocto?

I got console output, after extracting the boot script from yocto.

The important part seems to be calling
âbootm $kernel_addr_r - $fdt_addr_râ

Which maybe leads into a discussion of what can we do to at
least output some sort of useful debug information if the device
tree is not found or invalid?

Iâd also like to propose that on RiscV, we use the chosen node
for kernel command line and initrd location (like qemu does), and
in u-boot, default to always passing the device tree from bootm
and other commands (like bootelf)

>
>>
>>> I have not changed fsbl. It's the default one came with the board.
>>> Here are the heads of OpenSBI + U-Boot + Linux repo.
>>>
>>> OpenSBI: cd2dfdc870ed (master)
>>> U-boot: 77f6e2dd0551 + Anup's patch series (v4)
>>> https://github.com/atishp04/u-boot/tree/unleashed_working
>>>
>>> Linux: bed3c0d84e7e + Yash's Macb Series + this patch
>>> https://github.com/atishp04/linux/tree/5.2-rc6-pre
>>>
>>> I have also attached the OpenSBI + U-boot binary as well. But this is
>>> pre-configured with my tftpboot server. You need to change that.
>>>
>>>> I keep running into various failures when I build from source and I
>>>> want to rule out potential hardware issues related to clock and/or
>>>> ddr initialization
>>>>
>>>> On Fri, Jun 21, 2019, 2:14 PM Atish Patra <Atish.Patra@xxxxxxx>
>>>> wrote:
>>>>> On Fri, 2019-06-21 at 16:23 +0530, Yash Shah wrote:
>>>>>> DT node for SiFive FU540-C000 GEMGXL Ethernet controller driver
>>>>> added
>>>>>> Signed-off-by: Yash Shah <yash.shah@xxxxxxxxxx>
>>>>>> ---
>>>>>> arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 16
>>>>>> ++++++++++++++++
>>>>>> arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts | 9
>>>>> +++++++++
>>>>>> 2 files changed, 25 insertions(+)
>>>>>>
>>>>>> diff --git a/arch/riscv/boot/dts/sifive/fu540-c000.dtsi
>>>>>> b/arch/riscv/boot/dts/sifive/fu540-c000.dtsi
>>>>>> index 4e8fbde..c53b4ea 100644
>>>>>> --- a/arch/riscv/boot/dts/sifive/fu540-c000.dtsi
>>>>>> +++ b/arch/riscv/boot/dts/sifive/fu540-c000.dtsi
>>>>>> @@ -225,5 +225,21 @@
>>>>>> #address-cells = <1>;
>>>>>> #size-cells = <0>;
>>>>>> };
>>>>>> + eth0: ethernet@10090000 {
>>>>>> + compatible = "sifive,fu540-macb";
>>>>>> + interrupt-parent = <&plic0>;
>>>>>> + interrupts = <53>;
>>>>>> + reg = <0x0 0x10090000 0x0 0x2000
>>>>>> + 0x0 0x100a0000 0x0 0x1000>;
>>>>>> + reg-names = "control";
>>>>>> + status = "disabled";
>>>>>> + local-mac-address = [00 00 00 00 00 00];
>>>>>> + clock-names = "pclk", "hclk";
>>>>>> + clocks = <&prci PRCI_CLK_GEMGXLPLL>,
>>>>>> + <&prci PRCI_CLK_GEMGXLPLL>;
>>>>>> + #address-cells = <1>;
>>>>>> + #size-cells = <0>;
>>>>>> + };
>>>>>> +
>>>>>> };
>>>>>> };
>>>>>> diff --git a/arch/riscv/boot/dts/sifive/hifive-unleashed-
>>>>>> a00.dts
>>>>>> b/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts
>>>>>> index 4da8870..d783bf2 100644
>>>>>> --- a/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts
>>>>>> +++ b/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts
>>>>>> @@ -63,3 +63,12 @@
>>>>>> disable-wp;
>>>>>> };
>>>>>> };
>>>>>> +
>>>>>> +&eth0 {
>>>>>> + status = "okay";
>>>>>> + phy-mode = "gmii";
>>>>>> + phy-handle = <&phy1>;
>>>>>> + phy1: ethernet-phy@0 {
>>>>>> + reg = <0>;
>>>>>> + };
>>>>>> +};
>>>>>
>>>>> Thanks. I am able to boot Unleashed with networking enabled with
>>>>> this
>>>>> patch.
>>>>>
>>>>> FWIW,
>>>>> Tested-by: Atish Patra <atish.patra@xxxxxxx>
>>>>>
>>>>> Regards,
>>>>> Atish
>>>>> _______________________________________________
>>>>> linux-riscv mailing list
>>>>> linux-riscv@xxxxxxxxxxxxxxxxxxx
>>>>> http://lists.infradead.org/mailman/listinfo/linux-riscv
>