GSoC project suggestion for the BSP Raspberry pi 4B aarch64
Alan Cudmore
alan.cudmore at gmail.com
Sat Feb 25 16:21:13 UTC 2023
Improving Raspberry Pi 4 support would be a great GSOC project. Right now
the Beagleboard is my default for a low cost network enabled RTEMS board.
But a Pi4 with network and SMP support would be a great board to learn
RTEMS. Even better if the supply problems are addressed this year. In
addition to educational use, the RPI4 compute module enables industrial use
cases.
Regards,
Alan
On Sun, Feb 19, 2023 at 10:28 AM Joel Sherrill <joel at rtems.org> wrote:
> That's all great information to include in the ticket and/or the Users
> Guide.
>
>
>
> On Sun, Feb 19, 2023, 7:44 AM Noor Aman <nooraman5718 at gmail.com> wrote:
>
>> I booted freeBSD on the Raspberry pi, I was able to confirm that it used
>> genet driver together with miibus for the NIC. This is further confirmed
>> with the FreeBSD manual page.
>> https://man.freebsd.org/cgi/man.cgi?query=genet
>>
>> One more thing to follow is that i noticed that FreeBSD is using PSCI, so
>> I'm assuming that it is being used for SMP. I'll file a ticket as soon as
>> I'm able to grab more information.
>>
>> Here are the full dmesg log of Raspberry pi 4B booting FreeBSD 13.2
>>
>> WARNING: Cannot find freebsd,dts-version property, cannot check DTB
>>> compliance
>>> Copyright (c) 1992-2021 The FreeBSD Project.
>>> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>>> The Regents of the University of California. All rights reserved.
>>> FreeBSD is a registered trademark of The FreeBSD Foundation.
>>> FreeBSD 13.2-BETA2 releng/13.2-n254478-065f7854521d GENERIC arm64
>>> FreeBSD clang version 14.0.5 (https://github.com/llvm/llvm-project.git
>>> llvmorg-14.0.5-0-gc12386ae247c)
>>> VT(efifb): resolution 592x448
>>> module firmware already present!
>>> real memory = 4148158464 (3955 MB)
>>> avail memory = 4022452224 (3836 MB)
>>> Starting CPU 1 (1)
>>> Starting CPU 2 (2)
>>> Starting CPU 3 (3)
>>> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
>>> random: unblocking device.
>>> random: entropy device external interface
>>> MAP 39f2b000 mode 2 pages 1
>>> MAP 39f2f000 mode 2 pages 1
>>> MAP 39f31000 mode 2 pages 2
>>> MAP 39f34000 mode 2 pages 4
>>> MAP 3b350000 mode 2 pages 16
>>> MAP fe100000 mode 0 pages 1
>>> kbd0 at kbdmux0
>>> ofwbus0: <Open Firmware Device Tree>
>>> simplebus0: <Flattened device tree simple bus> on ofwbus0
>>> ofw_clkbus0: <OFW clocks bus> on ofwbus0
>>> clk_fixed0: <Fixed clock> on ofw_clkbus0
>>> clk_fixed1: <Fixed clock> on ofw_clkbus0
>>> clk_fixed2: <Fixed clock> on ofwbus0
>>> clk_fixed3: <Fixed clock> on ofwbus0
>>> simplebus1: <Flattened device tree simple bus> on ofwbus0
>>> simplebus2: <Flattened device tree simple bus> on ofwbus0
>>> regfix0: <Fixed Regulator> on ofwbus0
>>> regfix1: <Fixed Regulator> on ofwbus0
>>> regfix2: <Fixed Regulator> on ofwbus0
>>> simplebus3: <Flattened device tree simple bus> on ofwbus0
>>> simple_mfd0: <Simple MFD (Multi-Functions Device)> mem
>>> 0x7d5d2000-0x7d5d2eff on simplebus0
>>> bcm2835_firmware0: <BCM2835 Firmware> on simplebus0
>>> ofw_clkbus1: <OFW clocks bus> on bcm2835_firmware0
>>> psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
>>> gic0: <ARM Generic Interrupt Controller> mem
>>> 0x40041000-0x40041fff,0x40042000-0x40043fff,0x40044000-0x40045fff,0x40046000-0x40047fff
>>> irq 30 on simplebus0
>>> gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 256
>>> gpio0: <BCM2708/2835 GPIO controller> mem 0x7e200000-0x7e2000b3 irq
>>> 14,15 on simplebus0
>>> gpiobus0: <OFW GPIO bus> on gpio0
>>> gpio1: <Raspberry Pi Firmware GPIO controller> on bcm2835_firmware0
>>> gpiobus1: <GPIO bus> on gpio1
>>> regfix0: Cannot set GPIO pin: 6
>>> REGNODE_INIT failed: 6
>>> regfix0: Cannot register regulator.
>>> mbox0: <BCM2835 VideoCore Mailbox> mem 0x7e00b880-0x7e00b8bf irq 13 on
>>> simplebus0
>>> gpioregulator0: <GPIO controlled regulator> on ofwbus0
>>> generic_timer0: <ARMv8 Generic Timer> irq 4,5,6,7 on ofwbus0
>>> Timecounter "ARM MPCore Timecounter" frequency 54000000 Hz quality 1000
>>> Event timer "ARM MPCore Eventtimer" frequency 54000000 Hz quality 1000
>>> usb_nop_xceiv0: <USB NOP PHY> on ofwbus0
>>> bcm2835_clkman0: <BCM283x Clock Manager> mem 0x7e101000-0x7e102fff on
>>> simplebus0
>>> gpioc0: <GPIO controller> on gpio0
>>> uart0: <PrimeCell UART (PL011)> mem 0x7e201000-0x7e2011ff irq 16 on
>>> simplebus0
>>> uart0: console (115200,n,8,1)
>>> spi0: <BCM2708/2835 SPI controller> mem 0x7e204000-0x7e2041ff irq 18 on
>>> simplebus0
>>> spibus0: <OFW SPI bus> on spi0
>>> spibus0: <unknown card> at cs 0 mode 0
>>> spibus0: <unknown card> at cs 1 mode 0
>>> iichb0: <BCM2708/2835 BSC controller> mem 0x7e804000-0x7e804fff irq 26
>>> on simplebus0
>>> bcm_dma0: <BCM2835 DMA Controller> mem 0x7e007000-0x7e007aff irq
>>> 31,32,33,34,35,36,37,38,39,40,41 on simplebus0
>>> bcmwd0: <BCM2708/2835 Watchdog> mem
>>> 0x7e100000-0x7e100113,0x7e00a000-0x7e00a023,0x7ec11000-0x7ec1101f on
>>> simplebus0
>>> bcmrng0: <Broadcom BCM2835/BCM2838 RNG> mem 0x7e104000-0x7e104027 on
>>> simplebus0
>>> gpioc1: <GPIO controller> on gpio1
>>> sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x7e300000-0x7e3000ff
>>> irq 73 on simplebus0
>>> mmc0: <MMC/SD bus> on sdhci_bcm0
>>> fb0: <BCM2835 VT framebuffer driver> on simplebus0
>>> fb0: keeping existing fb bpp of 32
>>> fbd0 on fb0
>>> WARNING: Device "fb" is Giant locked and may be deleted before FreeBSD
>>> 14.0.
>>> VT: Replacing driver "efifb" with new "fb".
>>> fb0: 592x448(592x448 at 0,0) 32bpp
>>> fb0: fbswap: 1, pitch 2368, base 0x3eaf5000, screen_size 1060864
>>> sdhci_bcm1: <Broadcom 2708 SDHCI controller> mem 0x7e340000-0x7e3400ff
>>> irq 79 on simplebus1
>>> mmc1: <MMC/SD bus> on sdhci_bcm1
>>> pmu0: <Performance Monitoring Unit> irq 0,1,2,3 on ofwbus0
>>> cpulist0: <Open Firmware CPU Group> on ofwbus0
>>> cpu0: <Open Firmware CPU> on cpulist0
>>> bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
>>> cpu1: <Open Firmware CPU> on cpulist0
>>> cpu2: <Open Firmware CPU> on cpulist0
>>> cpu3: <Open Firmware CPU> on cpulist0
>>> pcib0: <BCM2838-compatible PCI-express controller> mem
>>> 0x7d500000-0x7d50930f irq 80,81 on simplebus2
>>> pcib0: hardware identifies as revision 0x304.
>>> pci1: <PCI bus> on pcib0
>>> pcib1: <PCI-PCI bridge> irq 91 at device 0.0 on pci1
>>> pci2: <PCI bus> on pcib1
>>> bcm_xhci0: <VL805 USB 3.0 controller (on the Raspberry Pi 4b)> irq 92 at
>>> device 0.0 on pci2
>>> bcm_xhci0: 32 bytes context size, 64-bit DMA
>>> usbus0 on bcm_xhci0
>>> pci0: <PCI bus> on pcib0
>>> pci0: failed to allocate bus number
>>> device_attach: pci0 attach returned 6
>>> genet0: <RPi4 Gigabit Ethernet> mem 0x7d580000-0x7d58ffff irq 82,83 on
>>> simplebus2
>>> genet0: GENET version 5.0 phy 0x0000
>>> miibus0: <MII bus> on genet0
>>> brgphy0: <BCM54213PE 1000BASE-T media interface> PHY 1 on miibus0
>>> brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
>>> 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
>>> genet0: Ethernet address: e4:5f:01:62:6c:5b
>>> gpioled0: <GPIO LEDs> on ofwbus0
>>> armv8crypto0: CPU lacks AES instructions
>>> Timecounters tick every 1.000 msec
>>> [nl_generic] genl_register_family: Registered family nlctrl id 16
>>> [nl_generic] genl_register_cmds: Adding cmd GETFAMILY(3) to family nlctrl
>>> usbus0: 5.0Gbps Super Speed USB v3.0
>>> iicbus0: <OFW I2C bus> on iichb0
>>> iic0: <I2C generic I/O> on iicbus0
>>> ugen0.1: <(0x1106) XHCI root HUB> at usbus0
>>> uhub0 on usbus0
>>> uhub0: <(0x1106) XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on
>>> usbus0
>>> sdhci_bcm0-slot0: Got command interrupt 0x00030000, but there is no
>>> active command.
>>> sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
>>> sdhci_bcm0-slot0: Sys addr: 0x00000000 | Version: 0x00009902
>>> sdhci_bcm0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000
>>> sdhci_bcm0-slot0: Argument: 0x000001aa | Trn mode: 0x00000000
>>> sdhci_bcm0-slot0: Present: 0x000f0000 | Host ctl: 0x00000001
>>> sdhci_bcm0-slot0: Power: 0x0000000f | Blk gap: 0x00000000
>>> sdhci_bcm0-slot0: Wake-up: 0x00000000 | Clock: 0x00003947
>>> sdhci_bcm0-slot0: Timeout: 0x00000000 | Int stat: 0x00000000
>>> sdhci_bcm0-slot0: Int enab: 0x01ff00bb | Sig enab: 0x01ff00bb
>>> sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
>>> sdhci_bcm0-slot0: Caps: 0x00000000 | Caps2: 0x00000000
>>> sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
>>> sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
>>> sdhci_bcm0-slot0: ===========================================
>>> sdhci_bcm0-slot0: Got command interrupt 0x00030000, but there is no
>>> active command.
>>> sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
>>> sdhci_bcm0-slot0: Sys addr: 0x00000000 | Version: 0x00009902
>>> sdhci_bcm0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000
>>> sdhci_bcm0-slot0: Argument: 0x000001aa | Trn mode: 0x00000000
>>> sdhci_bcm0-slot0: Present: 0x000f0000 | Host ctl: 0x00000001
>>> sdhci_bcm0-slot0: Power: 0x0000000f | Blk gap: 0x00000000
>>> sdhci_bcm0-slot0: Wake-up: 0x00000000 | Clock: 0x00003947
>>> sdhci_bcm0-slot0: Timeout: 0x00000000 | Int stat: 0x00000000
>>> sdhci_bcm0-slot0: Int enab: 0x01ff00bb | Sig enab: 0x01ff00bb
>>> sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
>>> sdhci_bcm0-slot0: Caps: 0x00000000 | Caps2: 0x00000000
>>> sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
>>> sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
>>> sdhci_bcm0-slot0: ===========================================
>>> sdhci_bcm0-slot0: Got command interrupt 0x00030000, but there is no
>>> active command.
>>> sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
>>> sdhci_bcm0-slot0: Sys addr: 0x00000000 | Version: 0x00009902
>>> sdhci_bcm0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000
>>> sdhci_bcm0-slot0: Argument: 0x000001aa | Trn mode: 0x00000000
>>> sdhci_bcm0-slot0: Present: 0x000f0000 | Host ctl: 0x00000001
>>> sdhci_bcm0-slot0: Power: 0x0000000f | Blk gap: 0x00000000
>>> sdhci_bcm0-slot0: Wake-up: 0x00000000 | Clock: 0x00003947
>>> sdhci_bcm0-slot0: Timeout: 0x00000000 | Int stat: 0x00000000
>>> sdhci_bcm0-slot0: Int enab: 0x01ff00bb | Sig enab: 0x01ff00bb
>>> sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
>>> sdhci_bcm0-slot0: Caps: 0x00000000 | Caps2: 0x00000000
>>> sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
>>> sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
>>> sdhci_bcm0-slot0: ===========================================
>>> sdhci_bcm0-slot0: Got command interrupt 0x00030000, but there is no
>>> active command.
>>> sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
>>> sdhci_bcm0-slot0: Sys addr: 0x00000000 | Version: 0x00009902
>>> sdhci_bcm0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000
>>> sdhci_bcm0-slot0: Argument: 0x000001aa | Trn mode: 0x00000000
>>> sdhci_bcm0-slot0: Present: 0x000f0000 | Host ctl: 0x00000001
>>> sdhci_bcm0-slot0: Power: 0x0000000f | Blk gap: 0x00000000
>>> sdhci_bcm0-slot0: Wake-up: 0x00000000 | Clock: 0x00003947
>>> sdhci_bcm0-slot0: Timeout: 0x00000000 | Int stat: 0x00000000
>>> sdhci_bcm0-slot0: Int enab: 0x01ff00bb | Sig enab: 0x01ff00bb
>>> sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
>>> sdhci_bcm0-slot0: Caps: 0x00000000 | Caps2: 0x00000000
>>> sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
>>> sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
>>> sdhci_bcm0-slot0: ===========================================
>>> sdhci_bcm0-slot0: Got command interrupt 0x00030000, but there is no
>>> active command.
>>> sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
>>> sdhci_bcm0-slot0: Sys addr: 0x00000000 | Version: 0x00009902
>>> sdhci_bcm0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000
>>> sdhci_bcm0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
>>> sdhci_bcm0-slot0: Present: 0x000f0000 | Host ctl: 0x00000001
>>> sdhci_bcm0-slot0: Power: 0x0000000f | Blk gap: 0x00000000
>>> sdhci_bcm0-slot0: Wake-up: 0x00000000 | Clock: 0x00003947
>>> sdhci_bcm0-slot0: Timeout: 0x00000000 | Int stat: 0x00000000
>>> sdhci_bcm0-slot0: Int enab: 0x01ff00bb | Sig enab: 0x01ff00bb
>>> sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
>>> sdhci_bcm0-slot0: Caps: 0x00000000 | Caps2: 0x00000000
>>> sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
>>> sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
>>> sdhci_bcm0-slot0: ===========================================
>>> sdhci_bcm0-slot0: Got command interrupt 0x00030000, but there is no
>>> active command.
>>> sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
>>> sdhci_bcm0-slot0: Sys addr: 0x00000000 | Version: 0x00009902
>>> sdhci_bcm0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000
>>> sdhci_bcm0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
>>> sdhci_bcm0-slot0: Present: 0x000f0000 | Host ctl: 0x00000001
>>> sdhci_bcm0-slot0: Power: 0x0000000f | Blk gap: 0x00000000
>>> sdhci_bcm0-slot0: Wake-up: 0x00000000 | Clock: 0x00003947
>>> sdhci_bcm0-slot0: Timeout: 0x00000000 | Int stat: 0x00000000
>>> sdhci_bcm0-slot0: Int enab: 0x01ff00bb | Sig enab: 0x01ff00bb
>>> sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
>>> sdhci_bcm0-slot0: Caps: 0x00000000 | Caps2: 0x00000000
>>> sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
>>> sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
>>> sdhci_bcm0-slot0: ===========================================
>>> sdhci_bcm0-slot0: Got command interrupt 0x00030000, but there is no
>>> active command.
>>> sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
>>> sdhci_bcm0-slot0: Sys addr: 0x00000000 | Version: 0x00009902
>>> sdhci_bcm0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000
>>> sdhci_bcm0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
>>> sdhci_bcm0-slot0: Present: 0x000f0000 | Host ctl: 0x00000001
>>> sdhci_bcm0-slot0: Power: 0x0000000f | Blk gap: 0x00000000
>>> sdhci_bcm0-slot0: Wake-up: 0x00000000 | Clock: 0x00003947
>>> sdhci_bcm0-slot0: Timeout: 0x00000000 | Int stat: 0x00000000
>>> sdhci_bcm0-slot0: Int enab: 0x01ff00bb | Sig enab: 0x01ff00bb
>>> sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
>>> sdhci_bcm0-slot0: Caps: 0x00000000 | Caps2: 0x00000000
>>> sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
>>> sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
>>> sdhci_bcm0-slot0: ===========================================
>>> sdhci_bcm0-slot0: Got command interrupt 0x00030000, but there is no
>>> active command.
>>> sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
>>> sdhci_bcm0-slot0: Sys addr: 0x00000000 | Version: 0x00009902
>>> sdhci_bcm0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000
>>> sdhci_bcm0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
>>> sdhci_bcm0-slot0: Present: 0x000f0000 | Host ctl: 0x00000001
>>> sdhci_bcm0-slot0: Power: 0x0000000f | Blk gap: 0x00000000
>>> sdhci_bcm0-slot0: Wake-up: 0x00000000 | Clock: 0x00003947
>>> sdhci_bcm0-slot0: Timeout: 0x00000000 | Int stat: 0x00000000
>>> sdhci_bcm0-slot0: Int enab: 0x01ff00bb | Sig enab: 0x01ff00bb
>>> sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
>>> sdhci_bcm0-slot0: Caps: 0x00000000 | Caps2: 0x00000000
>>> sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
>>> sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
>>> sdhci_bcm0-slot0: ===========================================
>>> uhub0: 5 ports with 4 removable, self powered
>>> mmc0: No compatible cards found on bus
>>> mmcsd0: 32GB <SDHC SS32G 8.0 SN 618C22B0 MFG 01/2022 by 3 SD> at mmc1
>>> 50.0MHz/4bit/65535-block
>>> bcm2835_cpufreq0: ARM 600MHz, Core 200MHz, SDRAM 400MHz, Turbo OFF
>>> CPU 0: ARM Cortex-A72 r0p3 affinity: 0
>>> Cache Type = <64 byte D-cacheline,64 byte
>>> I-cacheline,PIPT ICache,64 byte ERG,64 byte CWG>
>>> Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
>>> Instruction Set Attributes 0 = <CRC32>
>>> Instruction Set Attributes 1 = <>
>>> Instruction Set Attributes 2 = <>
>>> Processor Features 0 = <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 32>
>>> Processor Features 1 = <>
>>> Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit
>>> ASID,16TB PA>
>>> Memory Model Features 1 = <8bit VMID>
>>> Memory Model Features 2 = <32bit CCIDX,48bit VA>
>>> Debug Features 0 = <DoubleLock,2 CTX BKPTs,4 Watchpoints,6
>>> Breakpoints,PMUv3,Debugv8>
>>> Debug Features 1 = <>
>>> Auxiliary Features 0 = <>
>>> Auxiliary Features 1 = <>
>>> AArch32 Instruction Set Attributes 5 = <CRC32,SEVL>
>>> AArch32 Media and VFP Features 0 = <FPRound,FPSqrt,FPDivide,DP
>>> VFPv3+v4,SP VFPv3+v4,AdvSIMD>
>>> AArch32 Media and VFP Features 1 = <SIMDFMAC,FPHP DP Conv,SIMDHP SP
>>> Conv,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ>
>>> CPU 1: ARM Cortex-A72 r0p3 affinity: 1
>>> CPU 2: ARM Cortex-A72 r0p3 affinity: 2
>>> CPU 3: ARM Cortex-A72 r0p3 affinity: 3
>>> Release APs...done
>>> WARNING: / was not properly dismounted
>>> Warning: no time-of-day clock registered, system time will not be set
>>> accurately
>>> Dual Console: Serial Primary, Video Secondary
>>> ugen0.2: <vendor 0x2109 USB2.0 Hub> at usbus0
>>> uhub1 on uhub0
>>> uhub1: <vendor 0x2109 USB2.0 Hub, class 9/0, rev 2.10/4.21, addr 1> on
>>> usbus0
>>> uhub1: 4 ports with 4 removable, self powered
>>> lo0: link state changed to UP
>>> genet0: link state changed to DOWN
>>> genet0: link state changed to UP
>>>
>>
>>
>> On Sun, 19 Feb 2023 at 02:24, Joel Sherrill <joel at rtems.org> wrote:
>>
>>>
>>>
>>> On Sat, Feb 18, 2023 at 11:09 AM Noor Aman <nooraman5718 at gmail.com>
>>> wrote:
>>>
>>>>
>>>> Hey everyone,
>>>> Last year I helped with the porting of RTEMS-aarch64 for Raspberry Pi
>>>> 4B with Kinsey, Alan and Hesham. I'm looking forward to continuing my
>>>> project further. As of now, I have 2 projects in my mind.
>>>>
>>>
>>> Every GSoC project should have a ticket. I found this one for the lower
>>> model Pis but not one for the Pi4
>>>
>>> https://devel.rtems.org/ticket/2899
>>>
>>> Can you file a ticket like that for the Pi4 with these ideas?
>>>
>>>
>>>> 1. Bringing in multicore support for the BSP.
>>>> This can be achieved by one of the 2 methods which I know as of now.
>>>> - By using PSCI via TF-A (Currently implemented in Zync MPSoC).
>>>> - By adding support directly to the start.S file.
>>>>
>>>> 2. Add Ethernet support for the BSP
>>>> - This can be done by importing the Genet driver which is used by
>>>> freeBSD for the board. (
>>>> https://man.freebsd.org/cgi/man.cgi?query=genet )
>>>> - This is all I know as of now about this idea.
>>>>
>>>> To be honest, I'm not that very familiar with either RTEMS-libbsd or
>>>> TF-A. I did try to use libbsd with RPi4B. Some of the exe ran fine, like
>>>> crypto01 and openssl, but I dont have the exact idea about the rest of the
>>>> testsuites. I'm open to any further ideas. Your suggestions are most
>>>> welcome.
>>>>
>>>
>>> Did you manage to get anything using device drivers from libbsd working
>>> on the Pi4?
>>>
>>> I don't see it listed in include/bsp/nexus-devices.h: which is where the
>>> devices used
>>> would be listed. FWIW I also don't see any arm/Pi configurations either.
>>> I could be
>>> missing something though.
>>>
>>> A first step would be to identify which NIC driver is used for the Pi4
>>> on FreeBSD. This
>>> should help:
>>>
>>> https://wiki.freebsd.org/arm/Raspberry%20Pi
>>>
>>> Booting FreeBSD on the Pi4 would give you a boot log which should show a
>>> lot
>>> of the details about what needs to be configured.
>>>
>>> --joel
>>>
>>>>
>>>> Thank you. Regards
>>>> --
>>>> Mohd Noor Aman
>>>> Tinkering with Hardware
>>>>
>>>> _______________________________________________
>>>> devel mailing list
>>>> devel at rtems.org
>>>> http://lists.rtems.org/mailman/listinfo/devel
>>>
>>>
>>
>> --
>> Mohd Noor Aman
>> Tinkering with Hardware
>>
>> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20230225/b7e9946d/attachment-0001.htm>
More information about the devel
mailing list