Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Feb 2024 21:22:50 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        FreeBSD ARM List <freebsd-arm@freebsd.org>
Subject:   RPi5 PCIe and L1 Substates (and more): implications for using the RasPiOS .dtb (including on the PCIe that has the RP1)
Message-ID:  <5B4E7F48-CAB9-4A2E-8802-B59AB5EDFBB6@yahoo.com>
References:  <5B4E7F48-CAB9-4A2E-8802-B59AB5EDFBB6.ref@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
The RPi5 has in its live dtb (rasPiOS64) and on-disk dtb:

                pcie@120000 {
. . .
                        aspm-no-l0s;
                        brcm,enable-l1ss;
                        brcm,enable-mps-rcb;
                        brcm,vdm-qos-map =3D <0xbbaa9888>;
. . .

I found material indicating that for the brcm,enable-l1ss (L1 Substates,
using a Bidirectional CLKREQ#): "Setting this property only makes sense =
when
the downstream device is L1SS-capable and the OS is configured to =
activate
this mode".

This would seem to potentially mean that use of the RasPiOS dtb =
effectively
requires support of L1 Substates by the OS (or firmware for EDK2?).

Note: pcie@120000 is the one that contains the rpi1 (that, in turn,
has many of the devices).

I found material indicating that aspm-no-l0s means that L0's should be
disabled to avoid signal noise (plus it did not help much for power
savings).

I have not found material about brcm,enable-mps-rcb or brcm,vdm-qos-map =
.

There seem to be a fair number of dma ranges and plain ranges:

dma-ranges =3D <0x2000000 0x0 0x0 0x1f 0x0 0x0 0x400000 0x43000000 0x10 =
0x0 0x0 0x0 0x10 0x0>;
ranges =3D <0x2000000 0x0 0x0 0x1f 0x0 0x0 0xfffffffc 0x43000000 0x4 0x0 =
0x1c 0x0 0x3 0x0>;
Note for the above:
                        #address-cells =3D <0x3>;
                        #interrupt-cells =3D <0x1>;
                        #size-cells =3D <0x2>;

rp1's are:
dma-ranges =3D <0x10 0x0 0x43000000 0x10 0x0 0x10 0x0 0xc0 0x40000000 =
0x2000000 0x0 0x0 0x0 0x400000 0x0 0x0 0x2000000 0x10 0x0 0x10 0x0>;
ranges =3D <0xc0 0x40000000 0x2000000 0x0 0x0 0x0 0x400000>;
Note for the above:
                                #address-cells =3D <0x2>;
                                #interrupt-cells =3D <0x2>;
                                #size-cells =3D <0x2>;

Both usb@200000 and usb@300000 have:

                                        snps,axi-pipe-limit =3D [08];
                                        snps,dis_rxdet_inp3_quirk;
                                        snps,tx-max-burst-prd =3D <0x8>;
                                        snps,tx-thr-num-pkt-prd =3D =
<0x2>;
                                        usb3-lpm-capable;

"axi-pipe-limit" suggests that axi places some of its own constraints
on what usb style-of-usage is valid.

There are no xhci@ . . . in the dtb's.

axi contains all 3 pcie@*'s and has:

        axi {

                #address-cells =3D <0x2>;
                #size-cells =3D <0x2>;
                compatible =3D "simple-bus";
                dma-ranges =3D <0x0 0x0 0x0 0x0 0x10 0x0 0x10 0x0 0x10 =
0x0 0x1 0x0 0x14 0x0 0x14 0x0 0x4 0x0 0x18 0x0 0x18 0x0 0x4 0x0 0x1c 0x0 =
0x1c 0x0 0x4 0x0>;
                phandle =3D <0xae>;
                ranges =3D <0x0 0x0 0x0 0x0 0x10 0x0 0x10 0x0 0x10 0x0 =
0x1 0x0 0x14 0x0 0x14 0x0 0x4 0x0 0x18 0x0 0x18 0x0 0x4 0x0 0x1c 0x0 =
0x1c 0x0 0x4 0x0>;



=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5B4E7F48-CAB9-4A2E-8802-B59AB5EDFBB6>