Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #67032 > unrolled thread

Bug#960129: linux-image-5.6.0-1-arm64: please enable CONFIG_PCIE_BRCMSTB in the arm64 kernel for Raspberry Pi 4

Started byBjørn Mork <bjorn@mork.no>
First post2020-05-09 21:10 +0200
Last post2020-05-10 15:00 +0200
Articles 6 — 2 participants

Back to article view | Back to linux.debian.kernel


Contents

  Bug#960129: linux-image-5.6.0-1-arm64: please enable CONFIG_PCIE_BRCMSTB in the arm64 kernel for Raspberry Pi 4 Bjørn Mork <bjorn@mork.no> - 2020-05-09 21:10 +0200
    Bug#960129: linux-image-5.6.0-1-arm64: please enable CONFIG_PCIE_BRCMSTB in the arm64 kernel for Raspberry Pi 4 Lucas Nussbaum <lucas@debian.org> - 2020-05-10 10:20 +0200
      Bug#960129: linux-image-5.6.0-1-arm64: please enable CONFIG_PCIE_BRCMSTB in the arm64 kernel for Raspberry Pi 4 Bjørn Mork <bjorn@mork.no> - 2020-05-10 11:10 +0200
      Bug#960129: linux-image-5.6.0-1-arm64: please enable CONFIG_PCIE_BRCMSTB in the arm64 kernel for Raspberry Pi 4 Bjørn Mork <bjorn@mork.no> - 2020-05-10 14:10 +0200
        Bug#960129: linux-image-5.6.0-1-arm64: please enable CONFIG_PCIE_BRCMSTB in the arm64 kernel for Raspberry Pi 4 Bjørn Mork <bjorn@mork.no> - 2020-05-10 14:30 +0200
          Bug#960129: linux-image-5.6.0-1-arm64: please enable CONFIG_PCIE_BRCMSTB in the arm64 kernel for Raspberry Pi 4 Lucas Nussbaum <lucas@debian.org> - 2020-05-10 15:00 +0200

#67032 — Bug#960129: linux-image-5.6.0-1-arm64: please enable CONFIG_PCIE_BRCMSTB in the arm64 kernel for Raspberry Pi 4

FromBjørn Mork <bjorn@mork.no>
Date2020-05-09 21:10 +0200
SubjectBug#960129: linux-image-5.6.0-1-arm64: please enable CONFIG_PCIE_BRCMSTB in the arm64 kernel for Raspberry Pi 4
Message-ID<A4D1g-4UH-11@gated-at.bofh.it>
Package: src:linux
Version: 5.6.7-1
Severity: wishlist

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dear Maintainer,

Please enable CONFIG_PCIE_BRCMSTB on arm64.

The Raspberry Pi 4 has a VL805 xhci controller connected to the
PCIe bus on the SoC.  All USB ports are connected to this controller.
CONFIG_PCIE_BRCMSTB is therefore necessary for USB support.

I tested rebuilding the current Debian 5.6 kernel in sid with just
this change, and it is enough to enable the USB port on the RPi4:

root@buster-rpi4:~# lspci -nn
00:00.0 PCI bridge [0604]: Broadcom Limited Device [14e4:2711] (rev 10)
01:00.0 USB controller [0c03]: VIA Technologies, Inc. VL805 USB 3.0 Host Controller [1106:3483] (rev 01)
root@buster-rpi4:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@buster-rpi4:~# dmesg |egrep -i 'pci|usb|xhci'
[    0.877939] PCI: CLS 0 bytes, default 64
[    1.359321] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    1.359879] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    1.359905] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[    1.359943] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x0603ffffff -> 0x00f8000000
[    1.359978] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x00bfffffff -> 0x0000000000
[    1.409038] brcm-pcie fd500000.pcie: link up, 5 GT/s x1 (SSC)
[    1.409257] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    1.409277] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.409296] pci_bus 0000:00: root bus resource [mem 0x600000000-0x603ffffff] (bus address [0xf8000000-0xfbffffff])
[    1.409340] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[    1.409442] pci 0000:00:00.0: PME# supported from D0 D3hot
[    1.411585] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.411761] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330
[    1.411849] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]
[    1.412028] pci 0000:01:00.0: PME# supported from D0 D3cold
[    1.424884] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.424924] pci 0000:00:00.0: BAR 14: assigned [mem 0x600000000-0x6000fffff]
[    1.424947] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600000fff 64bit]
[    1.424975] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.424991] pci 0000:00:00.0:   bridge window [mem 0x600000000-0x6000fffff]
[    1.425165] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[    1.425312] pcieport 0000:00:00.0: PME: Signaling with IRQ 40
[    1.425631] pcieport 0000:00:00.0: AER: enabled with IRQ 40
[    1.425806] pci 0000:01:00.0: enabling device (0000 -> 0002)
[    3.189692] usb_phy_generic phy: phy supply vcc not found, using dummy regulator
[    3.278169] usbcore: registered new interface driver usbfs
[    3.284814] usbcore: registered new interface driver hub
[    3.291153] usbcore: registered new device driver usb
[    3.336101] dwc2 fe980000.usb: fe980000.usb supply vusb_d not found, using dummy regulator
[    3.344668] dwc2 fe980000.usb: fe980000.usb supply vusb_a not found, using dummy regulator
[    3.459118] dwc2 fe980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM
[   15.946055] xhci_hcd 0000:01:00.0: xHCI Host Controller
[   15.954077] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
[   15.967736] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000000000000090
[   15.989621] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.06
[   15.998076] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   16.005520] usb usb1: Product: xHCI Host Controller
[   16.010535] usb usb1: Manufacturer: Linux 5.6.0-2-arm64 xhci-hcd
[   16.016722] usb usb1: SerialNumber: 0000:01:00.0
[   16.023171] hub 1-0:1.0: USB hub found
[   16.033311] xhci_hcd 0000:01:00.0: xHCI Host Controller
[   16.039381] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[   16.039400] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[   16.039510] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[   16.039578] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.06
[   16.039581] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   16.039584] usb usb2: Product: xHCI Host Controller
[   16.039587] usb usb2: Manufacturer: Linux 5.6.0-2-arm64 xhci-hcd
[   16.039589] usb usb2: SerialNumber: 0000:01:00.0
[   16.039938] hub 2-0:1.0: USB hub found
[   16.197384] usbcore: registered new interface driver brcmfmac
[   16.443015] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[   16.601666] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21
[   16.613530] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[   16.613535] usb 1-1: Product: USB2.0 Hub
[   16.635572] hub 1-1:1.0: USB hub found

(I'm reporting this from another system, so I deleted all the irrelevant
data collected there)


root@buster-rpi4:~# dmesg |egrep -i 'pci|usb|xhci'
[    0.877939] PCI: CLS 0 bytes, default 64
[    1.359321] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    1.359879] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    1.359905] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[    1.359943] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x0603ffffff -> 0x00f8000000
[    1.359978] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x00bfffffff -> 0x0000000000
[    1.409038] brcm-pcie fd500000.pcie: link up, 5 GT/s x1 (SSC)
[    1.409257] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    1.409277] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.409296] pci_bus 0000:00: root bus resource [mem 0x600000000-0x603ffffff] (bus address [0xf8000000-0xfbffffff])
[    1.409340] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[    1.409442] pci 0000:00:00.0: PME# supported from D0 D3hot
[    1.411585] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.411761] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330
[    1.411849] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]
[    1.412028] pci 0000:01:00.0: PME# supported from D0 D3cold
[    1.424884] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.424924] pci 0000:00:00.0: BAR 14: assigned [mem 0x600000000-0x6000fffff]
[    1.424947] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600000fff 64bit]
[    1.424975] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.424991] pci 0000:00:00.0:   bridge window [mem 0x600000000-0x6000fffff]
[    1.425165] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[    1.425312] pcieport 0000:00:00.0: PME: Signaling with IRQ 40
[    1.425631] pcieport 0000:00:00.0: AER: enabled with IRQ 40
[    1.425806] pci 0000:01:00.0: enabling device (0000 -> 0002)
[    3.189692] usb_phy_generic phy: phy supply vcc not found, using dummy regulator
[    3.278169] usbcore: registered new interface driver usbfs
[    3.284814] usbcore: registered new interface driver hub
[    3.291153] usbcore: registered new device driver usb
[    3.336101] dwc2 fe980000.usb: fe980000.usb supply vusb_d not found, using dummy regulator
[    3.344668] dwc2 fe980000.usb: fe980000.usb supply vusb_a not found, using dummy regulator
[    3.459118] dwc2 fe980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM
[   15.946055] xhci_hcd 0000:01:00.0: xHCI Host Controller
[   15.954077] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
[   15.967736] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000000000000090
[   15.989621] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.06
[   15.998076] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   16.005520] usb usb1: Product: xHCI Host Controller
[   16.010535] usb usb1: Manufacturer: Linux 5.6.0-2-arm64 xhci-hcd
[   16.016722] usb usb1: SerialNumber: 0000:01:00.0
[   16.023171] hub 1-0:1.0: USB hub found
[   16.033311] xhci_hcd 0000:01:00.0: xHCI Host Controller
[   16.039381] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[   16.039400] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[   16.039510] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[   16.039578] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.06
[   16.039581] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   16.039584] usb usb2: Product: xHCI Host Controller
[   16.039587] usb usb2: Manufacturer: Linux 5.6.0-2-arm64 xhci-hcd
[   16.039589] usb usb2: SerialNumber: 0000:01:00.0
[   16.039938] hub 2-0:1.0: USB hub found
[   16.197384] usbcore: registered new interface driver brcmfmac
[   16.443015] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[   16.601666] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21
[   16.613530] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[   16.613535] usb 1-1: Product: USB2.0 Hub
[   16.635572] hub 1-1:1.0: USB hub found


Bjørn

-----BEGIN PGP SIGNATURE-----

iGwEARECACwWIQR3fjfc8EF8nPbC0aDXSuqSjBsiyQUCXrb5+g4cYmpvcm5AbW9y
ay5ubwAKCRDXSuqSjBsiybgfAJ4xKRmfaM3d02ovWd2Z66/bUT004QCgh3id5j9T
jtJ/BrjfTI1eKsweySo=
=WTcB
-----END PGP SIGNATURE-----

[toc] | [next] | [standalone]


#67039

FromLucas Nussbaum <lucas@debian.org>
Date2020-05-10 10:20 +0200
Message-ID<A4PlL-4q7-1@gated-at.bofh.it>
In reply to#67032
Hi Bjørn,

On 09/05/20 at 20:44 +0200, Bjørn Mork wrote:
> Please enable CONFIG_PCIE_BRCMSTB on arm64.
> 
> The Raspberry Pi 4 has a VL805 xhci controller connected to the
> PCIe bus on the SoC.  All USB ports are connected to this controller.
> CONFIG_PCIE_BRCMSTB is therefore necessary for USB support.

I am trying to boot a RPI4 with the 5.6 kernel from unstable, but it
fails to boot (while it worked with 5.5 from unstable).

What I'm seeing with 5.5, but not with 5.6, is:
[    4.500333] mmc1: SDHCI controller on fe340000.emmc2 [fe340000.emmc2] using ADMA
[    4.500585] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[    4.577842] mmc0: new high speed SDIO card at address 0001
[    4.610694] mmc1: new ultra high speed DDR50 SDHC card at address aaaa
[    4.618812] mmcblk1: mmc1:aaaa SC16G 14.8 GiB
[    4.629268]  mmcblk1: p1 p2

Did you also see that issue? Was it fixed by enabling
CONFIG_PCIE_BRCMSTB, or is that a different issue?

Thanks,

Lucas

[toc] | [prev] | [next] | [standalone]


#67040

FromBjørn Mork <bjorn@mork.no>
Date2020-05-10 11:10 +0200
Message-ID<A4Q8a-4WE-13@gated-at.bofh.it>
In reply to#67039
Lucas Nussbaum <lucas@debian.org> writes:
> On 09/05/20 at 20:44 +0200, Bjørn Mork wrote:
>> Please enable CONFIG_PCIE_BRCMSTB on arm64.
>> 
>> The Raspberry Pi 4 has a VL805 xhci controller connected to the
>> PCIe bus on the SoC.  All USB ports are connected to this controller.
>> CONFIG_PCIE_BRCMSTB is therefore necessary for USB support.
>
> I am trying to boot a RPI4 with the 5.6 kernel from unstable, but it
> fails to boot (while it worked with 5.5 from unstable).
>
> What I'm seeing with 5.5, but not with 5.6, is:
> [    4.500333] mmc1: SDHCI controller on fe340000.emmc2 [fe340000.emmc2] using ADMA
> [    4.500585] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
> [    4.577842] mmc0: new high speed SDIO card at address 0001
> [    4.610694] mmc1: new ultra high speed DDR50 SDHC card at address aaaa
> [    4.618812] mmcblk1: mmc1:aaaa SC16G 14.8 GiB
> [    4.629268]  mmcblk1: p1 p2
>
> Did you also see that issue?

No, I didn't.  I am netbooting, so I wouldn't have noticed...

Don't think I've tried booting any Debian kernels from an SD card yet.
Will try to find some time to test it.  But I find using SD cards more
quite a hassle :-)

> Was it fixed by enabling
> CONFIG_PCIE_BRCMSTB, or is that a different issue?

Probably different.  I believe this driver just enables the PCIe
controller, which should be independent of anything else except the PCIe
connected xhci controller.


Bjørn

[toc] | [prev] | [next] | [standalone]


#67043

FromBjørn Mork <bjorn@mork.no>
Date2020-05-10 14:10 +0200
Message-ID<A4SWl-6GC-1@gated-at.bofh.it>
In reply to#67039

[Multipart message — attachments visible in raw view] — view raw

Lucas Nussbaum <lucas@debian.org> writes:

> I am trying to boot a RPI4 with the 5.6 kernel from unstable, but it
> fails to boot (while it worked with 5.5 from unstable).
>
> What I'm seeing with 5.5, but not with 5.6, is:
> [    4.500333] mmc1: SDHCI controller on fe340000.emmc2 [fe340000.emmc2] using ADMA
> [    4.500585] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
> [    4.577842] mmc0: new high speed SDIO card at address 0001
> [    4.610694] mmc1: new ultra high speed DDR50 SDHC card at address aaaa
> [    4.618812] mmcblk1: mmc1:aaaa SC16G 14.8 GiB
> [    4.629268]  mmcblk1: p1 p2
>
> Did you also see that issue? Was it fixed by enabling
> CONFIG_PCIE_BRCMSTB, or is that a different issue?

Tested now, both with my kernel with CONFIG_PCIE_BRCMSTB=y and with the
current kernel from sid (version 5.6.7-1).  Either seems to work fine
(except for USB of course).

I am attaching the full boot log from the 5.6.7-1 kernel for reference.

Note that I found that I had to remove the cma=xx option raspi-firmware
wants to put into the cmdline.txt.  This messed up mailbox access to the
firmware, and took several drivers/devices with it in the fall.  Don't
think the SD card was one one them.  But still worth trying.  Makes the
sound driver load at least, and allows vcgencmd to talk to the firmware.

My cmdline.txt and config.txt while doing this SD card test:

root@buster-rpi4:/boot/firmware# cat cmdline.txt 
console=tty0 console=ttyS1,115200 root=/dev/mmcblk1p3 ro net.ifnames=0 apparmor=0 rootwait

root@buster-rpi4:/boot/firmware# cat config.txt 
# Switch the CPU from ARMv7 into ARMv8 (aarch64) mode
arm_64bit=1

enable_uart=1
upstream_kernel=1

kernel=vmlinuz-5.6.0-1-arm64
# For details on the initramfs directive, see
# https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=10532
initramfs initrd.img-5.6.0-1-arm64


Maybe you somehow have removed one of the necessary modules from the
initramfs? I have these loaded after a full boot:

root@buster-rpi4:~# lsmod
Module                  Size  Used by
cmac                   16384  1
bnep                   28672  2
nls_ascii              16384  1
nls_cp437              20480  1
btsdio                 20480  0
brcmfmac              311296  0
hci_uart              135168  0
brcmutil               16384  1 brcmfmac
btqca                  20480  1 hci_uart
btrtl                  24576  1 hci_uart
bcm2835_v4l2           65536  0
btbcm                  24576  1 hci_uart
btintel                28672  1 hci_uart
cfg80211              716800  1 brcmfmac
snd_bcm2835            28672  0
videobuf2_vmalloc      20480  1 bcm2835_v4l2
bluetooth             606208  28 btrtl,btqca,btsdio,btintel,hci_uart,btbcm,bnep
videobuf2_memops       20480  1 videobuf2_vmalloc
snd_pcm               126976  1 snd_bcm2835
videobuf2_v4l2         28672  1 bcm2835_v4l2
videobuf2_common       53248  2 videobuf2_v4l2,bcm2835_v4l2
snd_timer              45056  1 snd_pcm
snd                    98304  3 snd_bcm2835,snd_timer,snd_pcm
videodev              270336  3 videobuf2_v4l2,bcm2835_v4l2,videobuf2_common
soundcore              20480  1 snd
mc                     53248  3 videodev,videobuf2_v4l2,videobuf2_common
cpufreq_dt             20480  0
overlay               122880  1
vfat                   28672  1
fat                    90112  1 vfat
ext4                  712704  1
mbcache                24576  1 ext4
jbd2                  135168  1 ext4
crc32c_generic         16384  2
nfsv3                  53248  0
nfs_acl                20480  1 nfsv3
nfs                   331776  1 nfsv3
lockd                 106496  2 nfsv3,nfs
grace                  20480  1 lockd
sunrpc                442368  5 lockd,nfsv3,nfs_acl,nfs
fscache               397312  1 nfs
autofs4                53248  2
ip_tables              32768  0
x_tables               36864  1 ip_tables
crc16                  16384  2 bluetooth,ext4
rfkill                 32768  5 bluetooth,cfg80211
ecdh_generic           16384  2 bluetooth
ecc                    28672  1 ecdh_generic
ansi_cprng             20480  1
broadcom               24576  1
bcm_phy_lib            16384  1 broadcom
mdio_bcm_unimac        20480  0
dwc2                  241664  0
udc_core               49152  1 dwc2
genet                  65536  0
usbcore               286720  2 dwc2,brcmfmac
vchiq                 360448  2 snd_bcm2835,bcm2835_v4l2
bcm2835_wdt            20480  0
sdhci_iproc            20480  0
of_mdio                24576  3 mdio_bcm_unimac,genet
sdhci_pltfm            16384  1 sdhci_iproc
fixed_phy              16384  2 genet,of_mdio
raspberrypi_cpufreq    16384  0
usb_common             16384  3 dwc2,usbcore,udc_core
watchdog               36864  1 bcm2835_wdt
sdhci                  69632  2 sdhci_pltfm,sdhci_iproc
libphy                 94208  6 mdio_bcm_unimac,genet,of_mdio,broadcom,fixed_phy,bcm_phy_lib
iproc_rng200           16384  0
i2c_bcm2835            20480  0
pwm_bcm2835            16384  0
rng_core               24576  1 iproc_rng200
leds_gpio              16384  0
gpio_regulator         16384  1
phy_generic            20480  1


Bjørn

[toc] | [prev] | [next] | [standalone]


#67044

FromBjørn Mork <bjorn@mork.no>
Date2020-05-10 14:30 +0200
Message-ID<A4TfH-6N1-3@gated-at.bofh.it>
In reply to#67043
Bjørn Mork <bjorn@mork.no> writes:

> Note that I found that I had to remove the cma=xx option raspi-firmware
> wants to put into the cmdline.txt.  This messed up mailbox access to the
> firmware, and took several drivers/devices with it in the fall.  Don't
> think the SD card was one one them.  But still worth trying.  Makes the
> sound driver load at least, and allows vcgencmd to talk to the firmware.


Sorry about all the mails.. Should have tested this myself before
sending the previous one.

I do believe this is the problem. I just tested with 'cma=64M' on the
command line, like raspi-firmware wants to put there, and it fails to
load the mmc driver too:


[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 5.6.0-1-arm64 (debian-kernel@lists.debian.org) (gcc version 9.3.0 (Debian 9.3.0-11)) #1 SMP Debian 5.6.7-1 (2020-04-29)
[    0.000000] Machine model: Raspberry Pi 4 Model B Rev 1.2
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: bypass linux,cma node, using cmdline CMA params instead
[    0.000000] OF: reserved mem: node linux,cma compatible matching fail
[    0.000000] cma: Reserved 64 MiB at 0x00000000f8000000
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x00000000fbffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xf781d0c0-0xf781efff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000fbffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003b3fffff]
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000fbffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000000fbffffff]
[    0.000000] percpu: Embedded 32 pages/cpu s93976 r8192 d28904 u131072
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: EL2 vector hardening
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] ARM_SMCCC_ARCH_WORKAROUND_1 missing from firmware
[    0.000000] CPU features: detected: ARM erratum 1319367
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 996912
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line:  dma.dmachans=0x71f5 bcm2709.boardrev=0xc03112 bcm2709.serial=0xf5ccdafc bcm2709.uart_clock=48000000 bcm2709.disk_led_gpio=42 bcm2709.disk_led_active_low=0 smsc95xx.macaddr=DC:A6:32:77:E5:5E vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=tty0 console=ttyS1,115200 root=/dev/mmcblk1p3 ro net.ifnames=0 cma=64M apparmor=0 rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x37400000-0x3b400000] (64MB)
[    0.000000] Memory: 1925100K/4050944K available (10108K kernel code, 1836K rwdata, 3752K rodata, 5184K init, 557K bss, 174912K reserved, 65536K cma-reserved)
[    0.000000] random: get_random_u64 called from __kmem_cache_create+0x44/0x5c8 with crng_init=0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 36361 entries in 143 pages
[    0.000000] ftrace: allocated 143 pages with 5 groups
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[    0.000006] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[    0.000184] Console: colour dummy device 80x25
[    0.000554] printk: console [tty0] enabled
[    0.000683] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000)
[    0.000708] pid_max: default: 32768 minimum: 301
[    0.000871] LSM: Security Framework initializing
[    0.000944] Yama: disabled by default; enable with sysctl kernel.yama.*
[    0.000983] SELinux:  Initializing.
[    0.001067] TOMOYO Linux initialized
[    0.001202] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.001273] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.003410] rcu: Hierarchical SRCU implementation.
[    0.005788] EFI services will not be available.
[    0.006331] smp: Bringing up secondary CPUs ...
[    0.006932] Detected PIPT I-cache on CPU1
[    0.006996] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[    0.007678] Detected PIPT I-cache on CPU2
[    0.007717] CPU2: Booted secondary processor 0x0000000002 [0x410fd083]
[    0.008412] Detected PIPT I-cache on CPU3
[    0.008451] CPU3: Booted secondary processor 0x0000000003 [0x410fd083]
[    0.008549] smp: Brought up 1 node, 4 CPUs
[    0.008606] SMP: Total of 4 processors activated.
[    0.008619] CPU features: detected: 32-bit EL0 Support
[    0.008632] CPU features: detected: CRC32 instructions
[    0.032327] CPU: All CPU(s) started at EL2
[    0.032421] alternatives: patching kernel code
[    0.108886] node 0 initialised, 471349 pages in 76ms
[    0.110189] devtmpfs: initialized
[    0.115938] Registered cp15_barrier emulation handler
[    0.115969] Registered setend emulation handler
[    0.115990] KASLR enabled
[    0.116421] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.116452] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.118166] pinctrl core: initialized pinctrl subsystem
[    0.119077] thermal_sys: Registered thermal governor 'fair_share'
[    0.119081] thermal_sys: Registered thermal governor 'step_wise'
[    0.119333] DMI not present or invalid.
[    0.119953] NET: Registered protocol family 16
[    0.122004] DMA: preallocated 256 KiB pool for atomic allocations
[    0.122031] audit: initializing netlink subsys (disabled)
[    0.122208] audit: type=2000 audit(0.120:1): state=initialized audit_enabled=0 res=1
[    0.123406] cpuidle: using governor ladder
[    0.123440] cpuidle: using governor menu
[    0.123724] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.123832] ASID allocator initialised with 32768 entries
[    0.124152] Serial: AMBA PL011 UART driver
[    0.139913] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.139941] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.139956] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.139970] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.791773] ACPI: Interpreter disabled.
[    0.792046] iommu: Default domain type: Translated 
[    0.792310] vgaarb: loaded
[    0.792649] EDAC MC: Ver: 3.0.0
[    0.793980] NetLabel: Initializing
[    0.793996] NetLabel:  domain hash size = 128
[    0.794006] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.794081] NetLabel:  unlabeled traffic allowed by default
[    0.794383] clocksource: Switched to clocksource arch_sys_counter
[    0.863654] VFS: Disk quotas dquot_6.6.0
[    0.863753] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.864682] simple-framebuffer: probe of 0.framebuffer failed with error -12
[    0.864733] pnp: PnP ACPI: disabled
[    0.873262] NET: Registered protocol family 2
[    0.873914] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.873979] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.874187] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[    0.874627] TCP: Hash tables configured (established 32768 bind 32768)
[    0.874847] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.874914] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.875166] NET: Registered protocol family 1
[    0.875202] NET: Registered protocol family 44
[    0.875222] PCI: CLS 0 bytes, default 64
[    0.875465] Trying to unpack rootfs image as initramfs...
[    1.376652] Freeing initrd memory: 7192K
[    1.377829] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[    1.378075] kvm [1]: IPA Size Limit: 44bits
[    1.378827] kvm [1]: vgic interrupt IRQ1
[    1.378997] kvm [1]: Hyp mode initialized successfully
[    1.380711] Initialise system trusted keyrings
[    1.380762] Key type blacklist registered
[    1.380998] workingset: timestamp_bits=44 max_order=20 bucket_order=0
[    1.387847] zbud: loaded
[    1.388930] Platform Keyring initialized
[    1.388953] Key type asymmetric registered
[    1.388965] Asymmetric key parser 'x509' registered
[    1.389010] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[    1.389261] io scheduler mq-deadline registered
[    1.394711] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    1.403359] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.405182] printk: console [ttyS1] disabled
[    1.405276] fe215040.serial: ttyS1 at MMIO 0xfe215040 (irq = 19, base_baud = 25000000) is a 16550
[    2.228797] printk: console [ttyS1] enabled
[    2.233817] Serial: AMBA driver
[    2.237300] msm_serial: driver initialized
[    2.242360] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    2.249264] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    2.257313] mousedev: PS/2 mouse device common for all mice
[    2.264821] ledtrig-cpu: registered to indicate activity on CPUs
[    2.271529] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[    2.277916] drop_monitor: Initializing network drop monitor service
[    2.285176] NET: Registered protocol family 10
[    2.341866] Segment Routing with IPv6
[    2.345736] mip6: Mobile IPv6
[    2.348771] NET: Registered protocol family 17
[    2.353498] mpls_gso: MPLS GSO support
[    2.357979] registered taskstats version 1
[    2.362173] Loading compiled-in X.509 certificates
[    2.522996] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
[    2.531968] Loaded X.509 cert 'Debian Secure Boot Signer: 00a7468def'
[    2.538682] zswap: loaded using pool lzo/zbud
[    2.543708] Key type ._fscrypt registered
[    2.547813] Key type .fscrypt registered
[    2.551811] Key type fscrypt-provisioning registered
[    2.562240] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 16, base_baud = 0) is a PL011 rev2
[    2.571545] serial serial0: tty port ttyAMA0 registered
[    2.578732] raspberrypi-firmware soc:firmware: Request 0x00000001 returned status 0x00000000
[    2.587430] raspberrypi-firmware soc:firmware: Request 0x00030046 returned status 0x00000000
[    2.596384] raspberrypi-firmware soc:firmware: Request 0x00030007 returned status 0x00000000
[    2.605000] raspberrypi-clk raspberrypi-clk: Failed to get pllb min freq: -22
[    2.612267] raspberrypi-clk raspberrypi-clk: Failed to initialize pllb, -22
[    2.619366] raspberrypi-clk: probe of raspberrypi-clk failed with error -22
[    2.626862] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    2.635468] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 0 config (-22 80)
[    2.643755] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    2.652358] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 1 config (-22 81)
[    2.660638] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    2.669240] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 2 config (-22 82)
[    2.677522] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    2.686123] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 3 config (-22 83)
[    2.694404] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    2.703005] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 4 config (-22 84)
[    2.711286] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    2.719887] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 5 config (-22 85)
[    2.728167] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    2.736768] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 6 config (-22 86)
[    2.745049] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    2.753652] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 7 config (-22 87)
[    2.762581] raspberrypi-firmware soc:firmware: Request 0x00030030 returned status 0x00000000
[    2.771635] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    2.780241] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 1 config (-22 81)
[    2.788528] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    2.797131] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 1 config (-22 81)
[    2.805384] pwrseq_simple: probe of wifi-pwrseq failed with error -22
[    2.812685] hctosys: unable to open rtc device (rtc0)
[    2.826909] Freeing unused kernel memory: 5184K
[    2.876504] Checked W+X mappings: passed, no W+X pages found
[    2.882299] Run /init as init process
Loading, please wait...
Starting version 241
[    3.197462] usb_phy_generic phy: phy supply vcc not found, using dummy regulator
[    3.197646] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    3.197786] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    3.197798] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 2 config (-22 82)
[    3.197887] raspberrypi-firmware soc:firmware: Request 0x00030041 returned status 0x00000000
[    3.197897] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 2 state (-22 82)
[    3.198032] leds-gpio: probe of leds failed with error -22
[    3.240247] libphy: Fixed MDIO Bus: probed
[    3.247263] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 4 config (-22 84)
[    3.265402] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    3.274116] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 4 config (-22 84)
[    3.283573] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[    3.283953] gpio-regulator: probe of sd_io_1v8_reg failed with error -22
[    3.292635] vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    3.297306] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    3.321517] sdhci: Secure Digital Host Controller Interface driver
[    3.327882] sdhci: Copyright(c) Pierre Ossman
[    3.336002] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.348018] iproc-rng200 fe104000.rng: hwrng registered
[    3.374701] libphy: bcmgenet MII bus: probed
[    3.379394] raspberrypi-firmware soc:firmware: Request 0x00048010 returned status 0x00000000
[    3.388052] bcm2835_vchiq fe00b840.mailbox: failed to set channelbase
[    3.394624] vchiq: could not load vchiq
[    3.398683] bcm2835_vchiq: probe of fe00b840.mailbox failed with error -22
[    3.410424] usbcore: registered new interface driver usbfs
[    3.416151] usbcore: registered new interface driver hub
[    3.421731] usbcore: registered new device driver usb
[    3.454547] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
[    3.472662] raspberrypi-firmware soc:firmware: Request 0x00028001 returned status 0x00000000
Begin: Loading essential drivers ... [    3.535320] alg: No test for fips(ansi_cprng) (fips_ansi_cprng)
[    6.246424] random: crng init done
[    6.461168] FS-Cache: Loaded
[    6.549757] RPC: Registered named UNIX socket transport module.
[    6.555861] RPC: Registered udp transport module.
[    6.560656] RPC: Registered tcp transport module.
[    6.565443] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    6.712652] FS-Cache: Netfs 'nfs' registered for caching
done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root file system device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/mmcblk1p3 does not exist.  Dropping to a shell!


BusyBox v1.30.1 (Debian 1:1.30.1-4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) cat /proc/partitions
(initramfs)



I did add a comment about this problem in an existing raspi-firmware
cmdline related bug: https://bugs.debian.org/951744

But I guess it might be severe enough to warrant some more noise.


Bjørn

[toc] | [prev] | [next] | [standalone]


#67045

FromLucas Nussbaum <lucas@debian.org>
Date2020-05-10 15:00 +0200
Message-ID<A4TIJ-6Wu-1@gated-at.bofh.it>
In reply to#67044
On 10/05/20 at 14:22 +0200, Bjørn Mork wrote:
> Bjørn Mork <bjorn@mork.no> writes:
> 
> > Note that I found that I had to remove the cma=xx option raspi-firmware
> > wants to put into the cmdline.txt.  This messed up mailbox access to the
> > firmware, and took several drivers/devices with it in the fall.  Don't
> > think the SD card was one one them.  But still worth trying.  Makes the
> > sound driver load at least, and allows vcgencmd to talk to the firmware.
> 
> 
> Sorry about all the mails.. Should have tested this myself before
> sending the previous one.
> 
> I do believe this is the problem. I just tested with 'cma=64M' on the
> command line, like raspi-firmware wants to put there, and it fails to
> load the mmc driver too:

Thanks! Indeed it works now.

I'll make sure that this gets fixed into raspi-firmware at some point.

Lucas

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.kernel


csiph-web