GSoC project suggestion for the BSP Raspberry pi 4B aarch64

Joel Sherrill joel at rtems.org
Sun Feb 26 18:59:57 UTC 2023


The Pynq is a low cost Zynq board I have wanted to have support for.

http://www.pynq.io/board.html

Basic support should be a matter of tweaking the settings and adding a bsp
variant

On Sat, Feb 25, 2023, 10:21 AM Alan Cudmore <alan.cudmore at gmail.com> wrote:

> 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/20230226/6e19acd4/attachment-0001.htm>


More information about the devel mailing list