uatechsys
Posts: 2
Joined: Mon May 22, 2017 8:15 pm

Re: SDIO for Wifi/Bluetooth module

Mon May 22, 2017 8:26 pm

I am not sure if it is just me but I don't get the logic of removing all the network peripherals in the name of industrial use which make this SBC standout among others. The cherry on top is that there is no documentation or reference design for users to make their own boards. What I have seen on other platforms is the development kit comes with all the added components and the design is open source for users to pick and choose what they need in their final product. What a waste of time to convert your product from RPI3 to CM3. Not doing it!!!!

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1819
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: SDIO for Wifi/Bluetooth module

Tue May 23, 2017 8:25 am

I am not sure if it is just me but I don't get the logic of removing all the network peripherals in the name of industrial use which make this SBC standout among others.
I assume you are talking about the Compute Module (you don't say). If you don't understand the usefulness of the CM then you aren't the target market. Think of it as a processor and some RAM on a plug-in card, which allows lower risk product development because:

1. The CPU and RAM are likely to be the most expensive elements in a design, so if you build a bad board you save the cost of having to scrap them.
2. The layout between the CPU and RAM is probably the most timing critical, and the CM is known to work.
3. You get the same software support as the other Raspberry Pi models.
4. You are very unlikely to be able to source any of the BCM283* processors for your own projects.
The cherry on top is that there is no documentation or reference design for users to make their own boards.
Do the schematics and design files here not count?

Yes, the Compute Module isn't for everybody, but NEC felt it was sufficiently useful to put a CM socket in their professional displays.

Killertechno
Posts: 135
Joined: Wed Jan 02, 2013 8:28 am

Re: SDIO for Wifi/Bluetooth module

Mon Jan 22, 2018 5:01 pm

Sorry guys, I hope to not bother nobody....
I'm migrating from ZeroW and I'm trying to avoid to use CM -> USB connector -> USB connector -> WiFi module.
Are there WiFi modules (only 2,4 or both 2,4/5 GHz) compatible with Raspberry CM?
I'm a bit confused, I can find a lot of WiFi modules with SDIO interface, but I can't find drivers and/or instruction about devicetree.....
So, except ESP8266, are there any known WiFi modules with SDIO interface correctly working with CM?
Thansk.

GAMELASTER
Posts: 38
Joined: Sat Feb 14, 2015 8:05 pm

Re: SDIO for Wifi/Bluetooth module

Wed Jan 24, 2018 7:34 am

Killertechno wrote:
Mon Jan 22, 2018 5:01 pm
Sorry guys, I hope to not bother nobody....
I'm migrating from ZeroW and I'm trying to avoid to use CM -> USB connector -> USB connector -> WiFi module.
Are there WiFi modules (only 2,4 or both 2,4/5 GHz) compatible with Raspberry CM?
I'm a bit confused, I can find a lot of WiFi modules with SDIO interface, but I can't find drivers and/or instruction about devicetree.....
So, except ESP8266, are there any known WiFi modules with SDIO interface correctly working with CM?
Thansk.
Hello, is known that RTL8723BS (2USD WiFi/BT module with SDIO) you can run on Raspberry Pi / Compute module,
https://hackaday.io/project/9934-raspbe ... bs-wifi-bt
WiFi drivers are in main-line kernel in staging, but there is also way to build is yourself:
https://github.com/hadess/rtl8723bs
https://github.com/NextThingCo/RTL8723BS
https://github.com/lwfinger/rtl8723bs_bt

uatechsys
Posts: 2
Joined: Mon May 22, 2017 8:15 pm

Re: SDIO for Wifi/Bluetooth module

Fri Apr 13, 2018 10:14 pm

@PhilE

yes, the minimal development board design count. However, the standard practice by board manufacturers is to provide a fully loaded development board so that people can easily strip out what they don't need. I have been waiting to see if anybody out there has came up with a stable solution to add wifi. bluetooth or any other communication peripherals. But I am sorry to say all I see is thousands of people still trying to figure this out without much luck. If RPI team already has a solution then why not put it on so developers can get the fastest time to the market for their product. I am really looking forward to a change here.

KrashRekovery
Posts: 7
Joined: Wed Apr 11, 2018 3:50 pm

Re: SDIO for Wifi/Bluetooth module

Fri Apr 20, 2018 6:12 pm

I'm trying to add the LBEE5KL1DX to a carrier board I have designed. I have mapped all the SDIO pins to the CM3 (GPIO34-39, Alt 3 configuration). Per the recommendation in this thread.

I have updated my build and added the sdio-sdhost.dtb file per the thread. When I go to compile it I get the following error:
[email protected]:/home# dtc [email protected] -I dts -O dtb -o sdio-sdhost.dtb sdio-sdhost.dts
sdio-sdhost.dtb: Warning (unit_address_vs_reg): Node /[email protected] has a unit name, but no reg property
sdio-sdhost.dtb: Warning (unit_address_vs_reg): Node /[email protected] has a unit name, but no reg property

I'm a H/W guy, not a S/W guy so I will admit I'm a bit out of my element here.

I control the GPIO pin that enables the chipset, so I need to be able to turn it on and off, so I need the ability to poll every second to see if its on or off. So I added the following to the end of /boot/config.txt

dtoverlay=sdio,poll_once=no

Any suggestions?

John Westlake
Posts: 61
Joined: Thu Nov 09, 2017 4:34 am

Re: SDIO for Wifi/Bluetooth module

Thu Apr 26, 2018 11:18 pm

I must confess to being a little lost here - does not the RPi3 use the secondary SDIO interface to communicate with its WiFi Chip? If so why is RPi not being more forward with supporting Compute Module owners - it seems they have already done all the leg work developing drivers etc. and yet are selling hardware for industrial user but not really forthcoming with support.

I'm presuming that the eMMC is in the Primary SDIO, so the secondary SDIO WiFi interface wound just be RPI3 like?,

Why not support us Pro users with info on how to interface WiFi to the secondary SDIO port thus helping us to save the rather restricted USB Bandwidth...

suyog44
Posts: 7
Joined: Mon Aug 20, 2018 6:49 pm

Re: SDIO for Wifi/Bluetooth module

Wed Aug 22, 2018 4:11 am

Hiee, i have faced the same issue while integrating esp8266. I have tried your solution, but no success. Can anybody able to help on this topic. I am getting following errors.


Code: Select all

 DTCO    arch/arm/boot/dts/overlays/mmc.dtbo
arch/arm/boot/dts/overlays/mmc.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm/boot/dts/overlays/mmc.dtbo: Warning (avoid_default_addr_size): Relying on default #address-cells value for /[email protected]/__overlay__/[email protected]
arch/arm/boot/dts/overlays/mmc.dtbo: Warning (avoid_default_addr_size): Relying on default #size-cells value for /[email protected]/__overlay__/[email protected]

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1819
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: SDIO for Wifi/Bluetooth module

Wed Aug 22, 2018 8:00 am

Those aren't errors - they're just warnings. The dtc compiler is getting cleverer in trying to spot common problems, but a) it doesn't understand overlay syntax very well, and b) it often doesn't have enough information to give sensible warnings.

suyog44
Posts: 7
Joined: Mon Aug 20, 2018 6:49 pm

Re: SDIO for Wifi/Bluetooth module

Wed Aug 22, 2018 4:00 pm

PhilE wrote: Those aren't errors - they're just warnings. The dtc compiler is getting cleverer in trying to spot common problems, but a) it doesn't understand overlay syntax very well, and b) it often doesn't have enough information to give sensible warnings.
Dear PhilE

Thanks for your feedback. I have compiled the whole linux source code and edited the mmc-overlay.dtsi file itself. Is it safe to do that or i have to create separate node for mmc ?

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1819
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: SDIO for Wifi/Bluetooth module

Wed Aug 22, 2018 4:04 pm

Show me your modified overlay and I'll tell you if it looks correct and safe.

suyog44
Posts: 7
Joined: Mon Aug 20, 2018 6:49 pm

Re: SDIO for Wifi/Bluetooth module

Wed Aug 22, 2018 7:49 pm

Code: Select all

File: arch/arm/boot/overlay/mmc-overlay.dts
/dts-v1/;
/plugin/;

/{
	compatible = "brcm,bcm2708";

	[email protected] {
		target = <&mmc>;
		frag0: __overlay__ {
			pinctrl-names = "default";
			pinctrl-0 = <&mmc_pins>;
			bus-width = <4>;
			brcm,overclock-50 = <0>;
			status = "okay";
		};
	};

	[email protected] {
		target = <&gpio>;
		__overlay__ {
			mmc_pins: mmc_pins {
				brcm,pins = <48 49 50 51 52 53>;
				brcm,function = <7>; /* alt3 */
			};
		};
	};

	[email protected] {
		target = <&sdhost>;
		__overlay__ {
			status = "disabled";
		};
	};

	__overrides__ {
		overclock_50     = <&frag0>,"brcm,overclock-50:0";
	};
};
I have changed the content of the files as below.

Code: Select all

File: arch/arm/boot/overlay/mmc-overlay.dts
/dts-v1/;
/plugin/;

/{
        compatible = "brcm,bcm2708";

        [email protected]{
                target = <&mmc>;
                __overlay__ {
                        status = "disabled";
                };
        };

        [email protected]{
                target = <&soc>;
                __overlay__ {
                        mmcb: [email protected] {
                                compatible = "brcm,bcm2835-mmc";
                                reg = <0x7e300000 0x100>;
                                interrupts = <2 30>;
                                clocks = <&clocks 28>;
                                dmas = <&dma 11>;
                                dma-names = "rx-tx";
                                brcm,overclock-50 = <0>;
                                status = "okay";
                                pinctrl-names = "default";
                                pinctrl-0 = <&sdio_pins>;
                                bus-width = <4>;
                        };
                };
        };

        [email protected] {
                target = <&sdio_pins>;
                __overlay__ {
                        brcm,pins = <22 23 24 25 26 27>;
                };
        };

};
Is okay to edit the mmc-overlay file or another node creation will be better.

suyog44
Posts: 7
Joined: Mon Aug 20, 2018 6:49 pm

Re: SDIO for Wifi/Bluetooth module

Thu Aug 23, 2018 10:47 am

PhilE wrote: Show me your modified overlay and I'll tell you if it looks correct and safe.
suyog44 wrote:
Wed Aug 22, 2018 7:49 pm

Code: Select all

File: arch/arm/boot/overlay/mmc-overlay.dts
/dts-v1/;
/plugin/;

/{
	compatible = "brcm,bcm2708";

	[email protected] {
		target = <&mmc>;
		frag0: __overlay__ {
			pinctrl-names = "default";
			pinctrl-0 = <&mmc_pins>;
			bus-width = <4>;
			brcm,overclock-50 = <0>;
			status = "okay";
		};
	};

	[email protected] {
		target = <&gpio>;
		__overlay__ {
			mmc_pins: mmc_pins {
				brcm,pins = <48 49 50 51 52 53>;
				brcm,function = <7>; /* alt3 */
			};
		};
	};

	[email protected] {
		target = <&sdhost>;
		__overlay__ {
			status = "disabled";
		};
	};

	__overrides__ {
		overclock_50     = <&frag0>,"brcm,overclock-50:0";
	};
};
I have changed the content of the files as below.

Code: Select all

File: arch/arm/boot/overlay/mmc-overlay.dts
/dts-v1/;
/plugin/;

/{
        compatible = "brcm,bcm2708";

        [email protected]{
                target = <&mmc>;
                __overlay__ {
                        status = "disabled";
                };
        };

        [email protected]{
                target = <&soc>;
                __overlay__ {
                        mmcb: [email protected] {
                                compatible = "brcm,bcm2835-mmc";
                                reg = <0x7e300000 0x100>;
                                interrupts = <2 30>;
                                clocks = <&clocks 28>;
                                dmas = <&dma 11>;
                                dma-names = "rx-tx";
                                brcm,overclock-50 = <0>;
                                status = "okay";
                                pinctrl-names = "default";
                                pinctrl-0 = <&sdio_pins>;
                                bus-width = <4>;
                        };
                };
        };

        [email protected] {
                target = <&sdio_pins>;
                __overlay__ {
                        brcm,pins = <22 23 24 25 26 27>;
                };
        };

};
Is okay to edit the mmc-overlay file or another node creation will be better.

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1819
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: SDIO for Wifi/Bluetooth module

Thu Aug 23, 2018 4:10 pm

The overlay looks fine, but then it should because I wrote it (ahem). Although changing the existing overlay isn't wrong or harmful, it will get overwritten when you next update your firmware, which isn't ideal.

However, this custom overlay is no longer necessary because the same functionality is provided by the standard "sdio" overlay (provided you are running a 4.14 kernel):

Code: Select all

[email protected]:~ $ dtoverlay -h sdio
Name:   sdio

Info:   Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
        and enables SDIO via GPIOs 22-27.

Usage:  dtoverlay=sdio,<param>=<val>

Params: sdio_overclock          SDIO Clock (in MHz) to use when the MMC
                                framework requests 50MHz

        poll_once               Disable SDIO-device polling every second
                                (default on: polling once at boot-time)

        bus_width               Set the SDIO host bus width (default 4 bits)
If you want the card to be polled periodically then apply the overlay with:

Code: Select all

dtoverlay=sdio,poll_once=off

suyog44
Posts: 7
Joined: Mon Aug 20, 2018 6:49 pm

Re: SDIO for Wifi/Bluetooth module

Fri Aug 24, 2018 9:20 am

PhilE wrote:
Thu Aug 23, 2018 4:10 pm
The overlay looks fine, but then it should because I wrote it (ahem). Although changing the existing overlay isn't wrong or harmful, it will get overwritten when you next update your firmware, which isn't ideal.

However, this custom overlay is no longer necessary because the same functionality is provided by the standard "sdio" overlay (provided you are running a 4.14 kernel):

Code: Select all

[email protected]:~ $ dtoverlay -h sdio
Name:   sdio

Info:   Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
        and enables SDIO via GPIOs 22-27.

Usage:  dtoverlay=sdio,<param>=<val>

Params: sdio_overclock          SDIO Clock (in MHz) to use when the MMC
                                framework requests 50MHz

        poll_once               Disable SDIO-device polling every second
                                (default on: polling once at boot-time)

        bus_width               Set the SDIO host bus width (default 4 bits)
If you want the card to be polled periodically then apply the overlay with:

Code: Select all

dtoverlay=sdio,poll_once=off
Thanks for support PhilE. Till now i have tried this all configuration, but don't know where i am stuck. Is there any way that we can debug sdio pins. In my case i have interfaced GPIO <22,23,24,25,26,27>. Still i am getting "SDIO can not power up !".
I think ESP8266 12E will not support this driver. What do you say.

aBUGSworstnightmare
Posts: 861
Joined: Tue Jun 30, 2015 1:35 pm

Re: SDIO for Wifi/Bluetooth module

Fri Aug 24, 2018 9:43 am

suyog44 wrote: Till now i have tried this all configuration, but don't know where i am stuck. Is there any way that we can debug sdio pins. In my case i have interfaced GPIO <22,23,24,25,26,27>. Still i am getting "SDIO can not power up !".
I think ESP8266 12E will not support this driver. What do you say.
You should also let us know how you connected the mentioned GPIO to your ESP8266...

suyog44
Posts: 7
Joined: Mon Aug 20, 2018 6:49 pm

Re: SDIO for Wifi/Bluetooth module

Fri Aug 24, 2018 10:02 am

aBUGSworstnightmare wrote:
Fri Aug 24, 2018 9:43 am
suyog44 wrote: Till now i have tried this all configuration, but don't know where i am stuck. Is there any way that we can debug sdio pins. In my case i have interfaced GPIO <22,23,24,25,26,27>. Still i am getting "SDIO can not power up !".
I think ESP8266 12E will not support this driver. What do you say.
You should also let us know how you connected the mentioned GPIO to your ESP8266...
I have followed this tutorial. Along with code from this github repo : https://github.com/al177/esp8089
Image

I have created a node for sdio overlay. But i doesn't have much experience in device tree compilation. I am trying to learn with faults, whatever i am facing.

aBUGSworstnightmare
Posts: 861
Joined: Tue Jun 30, 2015 1:35 pm

Re: SDIO for Wifi/Bluetooth module

Fri Aug 24, 2018 10:29 am

o.k. ... that's exactly how I've conncted it too when trying to get is running. Never succeeded --> abandoned the idea and opted for a BT/WiFi USB stick.

suyog44
Posts: 7
Joined: Mon Aug 20, 2018 6:49 pm

Re: SDIO for Wifi/Bluetooth module

Fri Aug 24, 2018 11:29 am

aBUGSworstnightmare wrote:
Fri Aug 24, 2018 10:29 am
o.k. ... that's exactly how I've conncted it too when trying to get is running. Never succeeded --> abandoned the idea and opted for a BT/WiFi USB stick.
:D Finally i have decided to move on with Marvell SDIO WiFi Chip set . I found support on official Linux Kernel Source. I hope it will work and no need to do diy kind of stuff and hacking the things.
https://github.com/raspberrypi/linux/tr ... ss/marvell

Product
https://www.alibaba.com/product-detail/ ... 94670.html

Return to “Compute Module”

Who is online

Users browsing this forum: oweno and 2 guests