diff mbox

Bringing up the BRCM43362 on Beaglebone Black

Message ID CALtMJEDjF2NqdLpoDgAFzqBG6yqCCDBTp5HfweN=0LC_QLMUzQ@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Andreas Fenkart June 10, 2016, 11:37 a.m. UTC
me again,

2016-06-10 13:20 GMT+02:00 Andreas Fenkart <afenkart@gmail.com>:
>
>> The omap_hsmmc.c driver supports configuring two interrupts, and
>> two named pinctrl states. See PINCTRL_STATE_IDLE in the driver.
>>
>> You need to define the dat1 GPIO mux mode as the PINCTRL_STATE_IDLE
>> in the dts file, and add that as the second interrupt using the
>> interrupts-extended binding.
>
> Actually it should work without this. The throughput would be lame
> though, since it would fallback to polling mode.
>
> http://www.mjmwired.net/kernel/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt#61


just realized that am33xx.dtsi, declares the mmc ports to be
compatible with "ti,omap4-hsmmc"

        mmc1: mmc@48060000 {
            compatible = "ti,omap4-hsmmc";

That way the omap_hsmmc driver will never emit a warning for missing
pinctrl states, and NOT fallback to polling. That would explain the
problems that Michael observed.

This probably should be changed to:


Guess this makes sense for all platforms based on am33xx and points
people into the right direction quicker.

/Andreas
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Tony Lindgren June 10, 2016, 11:48 a.m. UTC | #1
* Andreas Fenkart <afenkart@gmail.com> [160610 04:40]:
> me again,
> 
> 2016-06-10 13:20 GMT+02:00 Andreas Fenkart <afenkart@gmail.com>:
> >
> >> The omap_hsmmc.c driver supports configuring two interrupts, and
> >> two named pinctrl states. See PINCTRL_STATE_IDLE in the driver.
> >>
> >> You need to define the dat1 GPIO mux mode as the PINCTRL_STATE_IDLE
> >> in the dts file, and add that as the second interrupt using the
> >> interrupts-extended binding.
> >
> > Actually it should work without this. The throughput would be lame
> > though, since it would fallback to polling mode.
> >
> > http://www.mjmwired.net/kernel/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt#61

OK

> just realized that am33xx.dtsi, declares the mmc ports to be
> compatible with "ti,omap4-hsmmc"
> 
>         mmc1: mmc@48060000 {
>             compatible = "ti,omap4-hsmmc";
> 
> That way the omap_hsmmc driver will never emit a warning for missing
> pinctrl states, and NOT fallback to polling. That would explain the
> problems that Michael observed.
> 
> This probably should be changed to:
> 
> --- a/arch/arm/boot/dts/am33xx.dtsi
> +++ b/arch/arm/boot/dts/am33xx.dtsi
> @@ -357,7 +357,7 @@
>                 };
> 
>                 mmc1: mmc@48060000 {
> -                       compatible = "ti,omap4-hsmmc";
> +                       compatible = "ti,am33xx-hsmmc";
>                         ti,hwmods = "mmc1";
>                         ti,dual-volt;
>                         ti,needs-special-reset;
> 
> Guess this makes sense for all platforms based on am33xx and points
> people into the right direction quicker.

OK care to post a separate patch for that?

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michael Eskowitz June 10, 2016, 5:56 p.m. UTC | #2
Andreas, Tony,

Thank you for your help.  Unfortunately, I tried changing

	compatible = "ti,omap4-hsmmc";

to

	compatible = "ti,am33xx-hsmmc";

in the dtb, but the modifications didn't change the end result.


When I boot with the module in place I end up in initramfs and when I insert
the module into a booted system I get errors at the console and the error

	-bash: /bin/dmesg: Input/output error

when I try and run dmesg.  That said, ls is working now and I am able to
list the contents of a directory which I couldn't do before.


I don't have the idle state defined the dts, but I've used this module with
an iMX6 Ultralite board (with the non-open source Broadcom drivers in NXP's
git) and I didn't need to define that state there.  I'll take a look at
PINCTRL_STATE_IDLE in the driver to see if I learn anything. 


Any other suggestions?  



-----Original Message-----
From: Tony Lindgren [mailto:tony@atomide.com] 
Sent: Friday, June 10, 2016 7:48 AM
To: Andreas Fenkart <afenkart@gmail.com>
Cc: Michael Eskowitz <MichaelE@inventeksys.com>; linux-omap
<linux-omap@vger.kernel.org>
Subject: Re: Bringing up the BRCM43362 on Beaglebone Black

* Andreas Fenkart <afenkart@gmail.com> [160610 04:40]:
> me again,
> 
> 2016-06-10 13:20 GMT+02:00 Andreas Fenkart <afenkart@gmail.com>:
> >
> >> The omap_hsmmc.c driver supports configuring two interrupts, and 
> >> two named pinctrl states. See PINCTRL_STATE_IDLE in the driver.
> >>
> >> You need to define the dat1 GPIO mux mode as the PINCTRL_STATE_IDLE 
> >> in the dts file, and add that as the second interrupt using the 
> >> interrupts-extended binding.
> >
> > Actually it should work without this. The throughput would be lame 
> > though, since it would fallback to polling mode.
> >
> > http://www.mjmwired.net/kernel/Documentation/devicetree/bindings/mmc
> > /ti-omap-hsmmc.txt#61

OK

> just realized that am33xx.dtsi, declares the mmc ports to be 
> compatible with "ti,omap4-hsmmc"
> 
>         mmc1: mmc@48060000 {
>             compatible = "ti,omap4-hsmmc";
> 
> That way the omap_hsmmc driver will never emit a warning for missing 
> pinctrl states, and NOT fallback to polling. That would explain the 
> problems that Michael observed.
> 
> This probably should be changed to:
> 
> --- a/arch/arm/boot/dts/am33xx.dtsi
> +++ b/arch/arm/boot/dts/am33xx.dtsi
> @@ -357,7 +357,7 @@
>                 };
> 
>                 mmc1: mmc@48060000 {
> -                       compatible = "ti,omap4-hsmmc";
> +                       compatible = "ti,am33xx-hsmmc";
>                         ti,hwmods = "mmc1";
>                         ti,dual-volt;
>                         ti,needs-special-reset;
> 
> Guess this makes sense for all platforms based on am33xx and points 
> people into the right direction quicker.

OK care to post a separate patch for that?

Regards,

Tony

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andreas Fenkart June 10, 2016, 7:39 p.m. UTC | #3
Hi,

2016-06-10 19:56 GMT+02:00 Michael Eskowitz <MichaelE@inventeksys.com>:
> Andreas, Tony,
>
> Thank you for your help.  Unfortunately, I tried changing
>
>         compatible = "ti,omap4-hsmmc";
>
> to
>
>         compatible = "ti,am33xx-hsmmc";
>
> in the dtb, but the modifications didn't change the end result.
>
>
> When I boot with the module in place I end up in initramfs and when I insert
> the module into a booted system I get errors at the console and the error
>
>         -bash: /bin/dmesg: Input/output error
>
> when I try and run dmesg.  That said, ls is working now and I am able to
> list the contents of a directory which I couldn't do before.
>
>
>
> Any other suggestions?

This is from your initial mail:

[   60.994101] mmcblk0: error -110 sending status command, retrying
[   61.028873] mmcblk0: error -110 sending status command, retrying
[   61.068751] mmcblk0: error -110 sending status command, aborting
[   61.074947] blk_update_request: I/O error, dev mmcblk0, sector 537792
[   61.081506] blk_update_request: I/O error, dev mmcblk0, sector 537800
[   61.088018] blk_update_request: I/O error, dev mmcblk0, sector 537808

mmcblk0 is probably your rootfs device. I don't think the mmc layer is
the problem here, since mmc1(wifi)/mmc0(flash) should be well
decoupled.


/Andreas
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michael Eskowitz June 10, 2016, 7:51 p.m. UTC | #4
I agree that they should be decoupled but I have no other explanation as to why the module (mmc0) would cause a filesystem problem when plugged in.

I'm able to see the contents of flash (mmc1) when I boot into the initramfs command prompt.

-Mike




-----Original Message-----
From: Andreas Fenkart [mailto:afenkart@gmail.com] 
Sent: Friday, June 10, 2016 3:39 PM
To: Michael Eskowitz <MichaelE@inventeksys.com>
Cc: Tony Lindgren <tony@atomide.com>; linux-omap <linux-omap@vger.kernel.org>
Subject: Re: Bringing up the BRCM43362 on Beaglebone Black

Hi,

2016-06-10 19:56 GMT+02:00 Michael Eskowitz <MichaelE@inventeksys.com>:
> Andreas, Tony,
>
> Thank you for your help.  Unfortunately, I tried changing
>
>         compatible = "ti,omap4-hsmmc";
>
> to
>
>         compatible = "ti,am33xx-hsmmc";
>
> in the dtb, but the modifications didn't change the end result.
>
>
> When I boot with the module in place I end up in initramfs and when I 
> insert the module into a booted system I get errors at the console and 
> the error
>
>         -bash: /bin/dmesg: Input/output error
>
> when I try and run dmesg.  That said, ls is working now and I am able 
> to list the contents of a directory which I couldn't do before.
>
>
>
> Any other suggestions?

This is from your initial mail:

[   60.994101] mmcblk0: error -110 sending status command, retrying
[   61.028873] mmcblk0: error -110 sending status command, retrying
[   61.068751] mmcblk0: error -110 sending status command, aborting
[   61.074947] blk_update_request: I/O error, dev mmcblk0, sector 537792
[   61.081506] blk_update_request: I/O error, dev mmcblk0, sector 537800
[   61.088018] blk_update_request: I/O error, dev mmcblk0, sector 537808

mmcblk0 is probably your rootfs device. I don't think the mmc layer is the problem here, since mmc1(wifi)/mmc0(flash) should be well decoupled.


/Andreas

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -357,7 +357,7 @@ 
                };

                mmc1: mmc@48060000 {
-                       compatible = "ti,omap4-hsmmc";
+                       compatible = "ti,am33xx-hsmmc";
                        ti,hwmods = "mmc1";
                        ti,dual-volt;
                        ti,needs-special-reset;