Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: rpi0w wifi



On Wed, Feb 19, 2020 at 03:35:40PM +0100, Harold Gutch wrote:
> On Wed, Feb 19, 2020 at 02:12:42PM +0000, Patrick Welche wrote:
> > On Tue, Feb 18, 2020 at 11:14:30PM +0100, Harold Gutch wrote:
> > > On Fri, Feb 14, 2020 at 09:43:43AM +0100, Harold Gutch wrote:
> > > > On Thu, Feb 13, 2020 at 03:00:47PM +0000, Patrick Welche wrote:
> > > > > On Thu, Feb 13, 2020 at 01:48:20PM +0000, Luke Ross wrote:
> > > > > > Might be worth checking your dmesg to see if you are experiencing similar? I
> > > > > > think "sdmmc1: sdmmc_mem_enable failed with error 60" is key error.
> > > > > 
> > > > > I just opened PR kern/54959 hoping the SDMMC_DEBUG bits might help.
> > > > 
> > > > Just to confirm, I am seeing the same as you (CRC errors on sdhc0, no
> > > > bwfm) with both the 202002081050Z and the 202002130840Z build on an
> > > > RPi-0W.  I'll try to find some time over the weekend to find the
> > > > commit that broke it.
> > > 
> > > It's the .dtb.  A new set of .dts files was imported on January 3,
> > > reverting to bcm2835-rpi-zero-w.dtb from January 2 makes bwfm show up
> > > again.  With the attached patch applied I also see bwfm again.  In
> > > terms of the dts files as in the tree, it esems to me this should go after
> > > l. 114 in src/sys/external/gpl2/dts/dist/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
> > > but I haven't tested this.
> > > 
> > > 
> > >   Harold
> > 
> > > --- bcm2835-rpi-zero-w_old.dts	2020-02-18 00:56:09.212331000 +0100
> > > +++ bcm2835-rpi-zero-w.dts	2020-02-18 22:53:04.145250000 +0100
> > > @@ -528,16 +528,17 @@
> > >  		sdhci@7e300000 {
> > >  			compatible = "brcm,bcm2835-sdhci";
> > >  			reg = <0x7e300000 0x100>;
> > >  			interrupts = <0x2 0x1e>;
> > >  			clocks = <0x8 0x1c>;
> > >  			status = "okay";
> > >  			#address-cells = <0x1>;
> > >  			#size-cells = <0x0>;
> > > +			pinctrl-names = "default";
> > >  			pinctrl-0 = <0x12 0x13>;
> > >  			bus-width = <0x4>;
> > >  			mmc-pwrseq = <0x14>;
> > >  			non-removable;
> > >  			phandle = <0x4d>;
> > >  
> > >  			wifi@1 {
> > >  				reg = <0x1>;
> > 
> > 
> > My bcm2835-rpi-zero-w.dts (from -current) doesn't look like yours?
> 
> The diff up there was against the dts extracted/generated from the
> dtb, i.e.,
> 
>   $ dtc -O dts -o bcm2835-rpi-zero-w.dts bcm2835-rpi-zero-w.dtb
>   $ patch < bcm2835-rpi-zero-w.dts.diff
>   $ dtc -O dtb -o bcm2835-rpi-zero-w_fixed.dtb bcm2835-rpi-zero-w.dts
> 
> (and then copy that over).
> 
> Alternatively, adding pinctrl-names to the in-tree .dts around like
> 114 and then rebuilding the .dtb should also work.  I suppose "dtc -O
> dtb -o ... bcm2835-rpi-zero-w.dts" does that but I'm not sure.
> 
> 
> > On the off chance I tried
> > 
> > https://raw.githubusercontent.com/raspberrypi/linux/rpi-4.19.y/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
> > 
> > to no avail, but it does have an extra pinctrl-names="default", in wifi_pwrseq.
> 
> The files in that branch are older, the ones in the rpi-5.5.y branch
> seem to coincide with upstream.

oh - wrong branch - thanks.


I seem to be unlucky: I applied

Index: bcm2835-rpi-zero-w.dts
===================================================================
RCS file: /cvsroot/src/sys/external/gpl2/dts/dist/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 bcm2835-rpi-zero-w.dts
--- bcm2835-rpi-zero-w.dts      3 Jan 2020 14:33:09 -0000       1.1.1.4
+++ bcm2835-rpi-zero-w.dts      19 Feb 2020 16:45:40 -0000
@@ -112,6 +112,7 @@
 &sdhci {
        #address-cells = <1>;
        #size-cells = <0>;
+       pinctrl-names = "default";
        pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>;
        bus-width = <4>;
        mmc-pwrseq = <&wifi_pwrseq>;


built a release, dd'd the rpi.img, booted, and no change. Just to make
sure that the change made it,

rpi# dtc -O dts  /boot/bcm2835-rpi-zero-w.dtb

shows

                sdhci@7e300000 {
                        compatible = "brcm,bcm2835-sdhci";
                        reg = <0x7e300000 0x100>;
                        interrupts = <0x02 0x1e>;
                        clocks = <0x08 0x1c>;
                        status = "okay";
                        #address-cells = <0x01>;
                        #size-cells = <0x00>;
                        pinctrl-names = "default";
                        pinctrl-0 = <0x12 0x13>;
                        bus-width = <0x04>;

and I still see

[     1.267161] sdmmc1: sdmmc_mem_enable failed with error 60
[     1.267161] sdmmc1: autoconfiguration error: couldn't enable card: 60


Not sure what I'm missing...


Cheers,

Patrick


Home | Main Index | Thread Index | Old Index