lkml.org 
[lkml]   [2019]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] riscv: dts: Add DT node for SiFive FU540 Ethernet controller driver
From
Date
On 6/21/19 6:57 PM, Troy Benjegerdes wrote:
>
>
>> On Jun 21, 2019, at 7:33 PM, Troy Benjegerdes <troy.benjegerdes@sifive.com> wrote:
>>
>>
>>
>>> On Jun 21, 2019, at 4:59 PM, Atish Patra <Atish.Patra@wdc.com> 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.
>

Glad it worked for you.
> 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?
>
At least serial & clock needs to be correct for uart to work so that
useful debug information can be displayed.

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

If I understand you correctly, you want a kernel command line with fixed
initrd location set in chosen node that U-Boot can pass on to kernel ?

If that's the case, that's not feasible as everybody's kernel command
line may not be same and will probably override it using CONFIG_CMDLINE.

So I don't see the point int setting a fixed one. What's the advantage
in doing that ?

>>
>>>
>>>> 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@wdc.com>
>>>>> 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@sifive.com>
>>>>>>> ---
>>>>>>> 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@wdc.com>
>>>>>>
>>>>>> Regards,
>>>>>> Atish
>>>>>> _______________________________________________
>>>>>> linux-riscv mailing list
>>>>>> linux-riscv@lists.infradead.org
>>>>>> http://lists.infradead.org/mailman/listinfo/linux-riscv
>>
>
>


--
Regards,
Atish

\
 
 \ /
  Last update: 2019-06-23 09:05    [W:0.078 / U:0.684 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site