[U-Boot-Board-Maintainers] Raspberry pi 4 - u-boot - genet / scb
Heinrich Schuchardt
xypron.glpk at gmx.de
Tue Nov 19 11:23:35 UTC 2019
On 11/19/19 11:05 AM, Sascha Dewald wrote:
> Hi Matthias,
>
> yes, i network boot with the beta firmware, since a while.
>
> Short Steps:
> * take latest bootloader from ( github.com/raspberrypi/firmware/boot/
> <http://github.com/raspberrypi/firmware/boot/> )
>
> * patched the beta pieeprom & vl805 with the recovery.bin and
> bootconf.txt - ( github.com/raspberrypi/rpi-eeprom/boot/
> <http://github.com/raspberrypi/rpi-eeprom/boot/> )
>
> * in bootconf.txt inside pieeprom i used BOOT_ORDER=0x12 - so that
> network boot was at first. (
> https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware/raspberry_pi4_network_boot_beta.md
> )
>
>
> Yesterday i figured out, that it was possible to embed the initramfs
> into the kernel. Today i will try this, because my distribution has NFS
> as module for the root filesystem.
> Would be nice if the rpi4 would accept the ramfsfile from the config.txt
> to load the initrd from tftp .. ;-)
How about using iSCSI instead of NFS. You should be able to boot via
U-Boot, iPXE, GRUB. See doc/uefi/iscsi.rst or
https://www.xypron.de/u-boot/uefi/iscsi.html .
Then update-grub will take care of keeping your kernel and initramfs in
sync.
Best regards
Heinrich
>
> i tried to add some more nic-id's inside broadcom.c, but with no
> success: (
> https://github.com/sd-hd/u-boot/blob/rpi4/drivers/net/phy/broadcom.c )
>
> The 64bit armstub with network enabled inside the assembler, seems to
> have no affect inside config.txt. (
> https://github.com/raspberrypi/tools/blob/master/armstubs/armstub8.S )
>
> My experimental u-boot devicetree prints this below, but i don't know
> how to enable the devices under the "scb - simple bus"...
>
> Maybe i can help testing for you ?
>
> U-Boot> dm tree
> Class Index Probed Driver Name
> -----------------------------------------------------------
> root 0 [ + ] root_driver root_driver
> simple_bus 0 [ + ] generic_simple_bus |-- soc
> pinctrl 0 [ + ] bcm283x_pinctrl | |-- gpio at 7e200000
> pinconfig 0 [ ] pinconfig | | |-- dpi_gpio0
> pinconfig 1 [ ] pinconfig | | |-- emmc_gpio22
> pinconfig 2 [ ] pinconfig | | |-- emmc_gpio34
> pinconfig 3 [ ] pinconfig | | |-- emmc_gpio48
> pinconfig 4 [ ] pinconfig | | |-- gpclk0_gpio4
> pinconfig 5 [ ] pinconfig | | |-- gpclk1_gpio5
> pinconfig 6 [ ] pinconfig | | |-- gpclk1_gpio42
> pinconfig 7 [ ] pinconfig | | |-- gpclk1_gpio44
> pinconfig 8 [ ] pinconfig | | |-- gpclk2_gpio6
> pinconfig 9 [ ] pinconfig | | |-- gpclk2_gpio43
> pinconfig 10 [ ] pinconfig | | |-- i2c0_gpio0
> pinconfig 11 [ ] pinconfig | | |-- i2c0_gpio28
> pinconfig 12 [ ] pinconfig | | |-- i2c0_gpio44
> pinconfig 13 [ ] pinconfig | | |-- i2c1_gpio2
> pinconfig 14 [ ] pinconfig | | |-- i2c1_gpio44
> pinconfig 15 [ ] pinconfig | | |-- jtag_gpio22
> pinconfig 16 [ ] pinconfig | | |-- pcm_gpio18
> pinconfig 17 [ ] pinconfig | | |-- pcm_gpio28
> pinconfig 18 [ ] pinconfig | | |-- pwm0_gpio12
> pinconfig 19 [ ] pinconfig | | |-- pwm0_gpio18
> pinconfig 20 [ ] pinconfig | | |-- pwm0_gpio40
> pinconfig 21 [ ] pinconfig | | |-- pwm1_gpio13
> pinconfig 22 [ ] pinconfig | | |-- pwm1_gpio19
> pinconfig 23 [ ] pinconfig | | |-- pwm1_gpio41
> pinconfig 24 [ ] pinconfig | | |-- pwm1_gpio45
> pinconfig 25 [ ] pinconfig | | |-- sdhost_gpio48
> pinconfig 26 [ ] pinconfig | | |-- spi0_gpio7
> pinconfig 27 [ ] pinconfig | | |-- spi0_gpio35
> pinconfig 28 [ ] pinconfig | | |-- spi1_gpio16
> pinconfig 29 [ ] pinconfig | | |-- spi2_gpio40
> pinconfig 30 [ ] pinconfig | | |-- uart0_gpio14
> pinconfig 31 [ ] pinconfig | | |--
> uart0_ctsrts_gpio16
> pinconfig 32 [ ] pinconfig | | |--
> uart0_ctsrts_gpio30
> pinconfig 33 [ ] pinconfig | | |-- uart0_gpio32
> pinconfig 34 [ ] pinconfig | | |-- uart0_gpio36
> pinconfig 35 [ ] pinconfig | | |--
> uart0_ctsrts_gpio38
> pinconfig 36 [ ] pinconfig | | |-- uart1_gpio14
> pinconfig 37 [ ] pinconfig | | |--
> uart1_ctsrts_gpio16
> pinconfig 38 [ ] pinconfig | | |-- uart1_gpio32
> pinconfig 39 [ ] pinconfig | | |--
> uart1_ctsrts_gpio30
> pinconfig 40 [ ] pinconfig | | |-- uart1_gpio40
> pinconfig 41 [ ] pinconfig | | |--
> uart1_ctsrts_gpio42
> pinconfig 42 [ ] pinconfig | | |-- gpclk0_gpio49
> pinconfig 43 [ ] pinconfig | | |-- gpclk1_gpio50
> pinconfig 44 [ ] pinconfig | | |-- gpclk2_gpio51
> pinconfig 45 [ ] pinconfig | | |-- i2c0_gpio46
> pinconfig 46 [ ] pinconfig | | |-- i2c1_gpio46
> pinconfig 47 [ ] pinconfig | | |-- i2c3_gpio2
> pinconfig 48 [ ] pinconfig | | |-- i2c3_gpio4
> pinconfig 49 [ ] pinconfig | | |-- i2c4_gpio6
> pinconfig 50 [ ] pinconfig | | |-- i2c4_gpio8
> pinconfig 51 [ ] pinconfig | | |-- i2c5_gpio10
> pinconfig 52 [ ] pinconfig | | |-- i2c5_gpio12
> pinconfig 53 [ ] pinconfig | | |-- i2c6_gpio0
> pinconfig 54 [ ] pinconfig | | |-- i2c6_gpio22
> pinconfig 55 [ ] pinconfig | | |-- i2c_slave_gpio8
> pinconfig 56 [ ] pinconfig | | |-- jtag_gpio48
> pinconfig 57 [ ] pinconfig | | |-- mii_gpio28
> pinconfig 58 [ ] pinconfig | | |-- mii_gpio36
> pinconfig 59 [ ] pinconfig | | |-- pcm_gpio50
> pinconfig 60 [ ] pinconfig | | |-- pwm0_gpio52
> pinconfig 61 [ ] pinconfig | | |-- pwm1_gpio53
> pinconfig 62 [ ] pinconfig | | |-- rgmii_gpio35
> pinconfig 63 [ ] pinconfig | | |-- rgmii_irq_gpio34
> pinconfig 64 [ ] pinconfig | | |-- rgmii_irq_gpio39
> pinconfig 65 [ ] pinconfig | | |--
> rgmii_mdio_gpio28
> pinconfig 66 [ ] pinconfig | | |--
> rgmii_mdio_gpio37
> pinconfig 67 [ ] pinconfig | | |-- spi0_gpio46
> pinconfig 68 [ ] pinconfig | | |-- spi2_gpio46
> pinconfig 69 [ ] pinconfig | | |-- spi3_gpio0
> pinconfig 70 [ ] pinconfig | | |-- spi4_gpio4
> pinconfig 71 [ ] pinconfig | | |-- spi5_gpio12
> pinconfig 72 [ ] pinconfig | | |-- spi6_gpio18
> pinconfig 73 [ ] pinconfig | | |-- uart2_gpio0
> pinconfig 74 [ ] pinconfig | | |--
> uart2_ctsrts_gpio2
> pinconfig 75 [ ] pinconfig | | |-- uart3_gpio4
> pinconfig 76 [ ] pinconfig | | |--
> uart3_ctsrts_gpio6
> pinconfig 77 [ ] pinconfig | | |-- uart4_gpio8
> pinconfig 78 [ ] pinconfig | | |--
> uart4_ctsrts_gpio10
> pinconfig 79 [ ] pinconfig | | |-- uart5_gpio12
> pinconfig 80 [ ] pinconfig | | |--
> uart5_ctsrts_gpio14
> pinconfig 81 [ ] pinconfig | | |-- dpi_18bit_gpio0
> pinconfig 82 [ ] pinconfig | | |-- gpioout
> pinconfig 83 [ ] pinconfig | | |-- alt0
> pinconfig 84 [ ] pinconfig | | |-- spi0_pins
> pinconfig 85 [ ] pinconfig | | |-- spi0_cs_pins
> pinconfig 86 [ ] pinconfig | | |-- spi3_pins
> pinconfig 87 [ ] pinconfig | | |-- spi3_cs_pins
> pinconfig 88 [ ] pinconfig | | |-- spi4_pins
> pinconfig 89 [ ] pinconfig | | |-- spi4_cs_pins
> pinconfig 90 [ ] pinconfig | | |-- spi5_pins
> pinconfig 91 [ ] pinconfig | | |-- spi5_cs_pins
> pinconfig 92 [ ] pinconfig | | |-- spi6_pins
> pinconfig 93 [ ] pinconfig | | |-- spi6_cs_pins
> pinconfig 94 [ ] pinconfig | | |-- i2c0
> pinconfig 95 [ ] pinconfig | | |-- i2c1
> pinconfig 96 [ ] pinconfig | | |-- i2c3
> pinconfig 97 [ ] pinconfig | | |-- i2c4
> pinconfig 98 [ ] pinconfig | | |-- i2c5
> pinconfig 99 [ ] pinconfig | | |-- i2c6
> pinconfig 100 [ ] pinconfig | | |-- i2s
> pinconfig 101 [ + ] pinconfig | | |-- sdio_pins
> pinconfig 102 [ ] pinconfig | | |-- bt_pins
> pinconfig 103 [ ] pinconfig | | |-- uart0_pins
> pinconfig 104 [ + ] pinconfig | | |-- uart1_pins
> pinconfig 105 [ ] pinconfig | | |-- uart2_pins
> pinconfig 106 [ ] pinconfig | | |-- uart3_pins
> pinconfig 107 [ ] pinconfig | | |-- uart4_pins
> pinconfig 108 [ ] pinconfig | | |-- uart5_pins
> pinconfig 109 [ ] pinconfig | | |-- audio_pins
> gpio 0 [ ] gpio_bcm2835 | | `-- gpio_bcm2835
> serial 0 [ ] bcm283x_pl011 | |-- serial at 7e201000
> serial 1 [ + ] serial_bcm283x_mu | |-- serial at 7e215040
> mmc 0 [ + ] sdhci-bcm2835 | |-- emmc2 at 7e340000
> blk 0 [ + ] mmc_blk | | `--
> emmc2 at 7e340000.blk
> mmc 1 [ + ] sdhci-bcm2835 | |-- mmcnr at 7e300000
> blk 1 [ ] mmc_blk | | `--
> mmcnr at 7e300000.blk
> video 0 [ + ] bcm2835_video | `-- fb
> vidconsole 0 [ + ] vidconsole0 | `-- fb.vidconsole0
> simple_bus 1 [ ] generic_simple_bus |-- clocks
> clk 0 [ ] fixed_rate_clock | |-- clock at 3
> clk 1 [ ] fixed_rate_clock | `-- clock at 4
> simple_bus 2 [ ] generic_simple_bus |-- v3dbus
> simple_bus 3 [ ] generic_simple_bus |-- scb
> clk 2 [ ] fixed_rate_clock |-- clock at 3
> clk 3 [ ] fixed_rate_clock `-- clock at 4
> U-Boot>
> PM_RSTS: 0x00001000
> RPi: BOOTLOADER release VERSION:b6a7593d Nov 18 2019 11:06:57 BOOTMODE:
> 0x00000006 part: 0 BUILD_TIMESTAMP=1574075215 0xe56706c5 0x00c03111
>
>
> Regards,
> Sascha
>
>
>
> Am Mo., 18. Nov. 2019 um 18:14 Uhr schrieb Matthias Brugger
> <mbrugger at suse.com <mailto:mbrugger at suse.com>>:
>
> HI Sascha,
>
> On 18/11/2019 10:24, Sascha Dewald wrote:
> > Hi Matthias,
> >
> > sorry for mention you directly.
> >
> > I successfully boot the raspberry pi 4 over network, but have
> problems to
> > load the initrd.img over tftp.
> >
>
> You do that through the PXE boot from the FW, right?
>
> > Do you know where i can get help, to enable scb & genet, so that
> u-boot
> > detect the network interface ?
> >
>
> I know that there is someone working on the driver and we should
> expect a first
> working version before end of the year. I was just checking on that
> today :)
>
> Regards,
> Matthias
>
>
> _______________________________________________
> U-Boot-Board-Maintainers mailing list
> U-Boot-Board-Maintainers at lists.denx.de
> https://lists.denx.de/listinfo/u-boot-board-maintainers
>
More information about the U-Boot-Board-Maintainers
mailing list