Tool/software: Linux
Hi all,
I want to evaluate a wifi-module with the BeagleBoneBlack. In my devicetree-overlay I want to use the mmc3-interface as sdio and the uart4-interface as uart.
I insert the overlay in the /boot/uEnv.txt . After start up I see that the mmc3-pins and uart4-pins configuered as wanted. (verified by the tool 'show-pins'). The major issue is that the interface mmc3 is not activated/assigned to the pins. By this during startup the BB doesn't check if a module is connected to the mmc3 pins.
///////////////////////////////////////////////////////////////////////////////////////
/dts-v1/;
/ {
part-number = "BLST-MMC3";
version = "00A0";
compatible = "ti,beaglebone", "ti,beaglebone-black";
exclusive-use = "P8.33", "P8.35","P9.13", "P9.11", "uart4", "P8.18" , "P8.12" , "P8.10" , "P8.11" , "P8.16" , "P8.15" , "mmc3", "P8.07";
fragment@0 {
target = <0xffffffff>;
__overlay__ {
/* uart4 */
P8_33_pinmux {
status = "disabled";
};
P8_35_pinmux {
status = "disabled";
};
P9_13_pinmux {
status = "disabled";
};
P9_11_pinmux {
status = "disabled";
};
/* mmc3 */
P8_18_pinmux {
status = "disabled";
};
P8_12_pinmux {
status = "disabled";
};
P8_10_pinmux {
status = "disabled";
};
P8_11_pinmux {
status = "disabled";
};
P8_16_pinmux {
status = "disabled";
};
P8_15_pinmux {
status = "disabled";
};
/* Reset */
P8_07_pinmux {
status = "disabled";
};
};
};
fragment@1 {
target = <0xffffffff>;
__overlay__ {
pinmux_mmc3_pins {
pinctrl-single,pins = <
0x88 0x33 /*mmc2_cmd */
0x8c 0x33 /*mmc2_clk */
0x30 0x33 /*mmc2_dat0*/
0x34 0x33 /*mmc2_dat1*/
0x38 0x33 /*mmc2_dat2*/
0x3c 0x33 /*mmc2_dat3*/
>;
linux,phandle = <0x2>;
phandle = <0x2>;
};
pinmux_uart4_pins_default {
pinctrl-single,pins = <0x70 0x2e 0x74 0xe 0xd0 0xe 0xd4 0x26>;
linux,phandle = <0x1>;
phandle = <0x1>;
};
pinmux_reset_pd_pin {
pinctrl-single,pins = <0x90 0x7f>;
linux,phandle = <0x3>;
phandle = <0x3>;
};
};
};
fragment@3 {
target = <0xffffffff>;
__overlay__ {
compatible = "ti,omap4-hsmmc";
dmas = <0xffffffff 0xc 0x0 0x1 0xffffffff 0xd 0x0 0x2>;
dma-names = "tx", "rx";
status = "okay";
vmmc-supply = <0x2>;
bus-width = <0x4>;
non-removable;
/* enable-sdio-wakeup;*/
cap-power-off-card;
broken-cd;
ti,needs-special-reset;
/* ti,needs-special-hs-handling;*/
ti,hwmods = "mmc3";
/* keep-power-in-suspend; */
pinctrl-names = "default";
pinctrl-0 = <0x2>;
#address-cells = <0x1>;
#size-cells = <0x0>;
sd8xxx-wlan@2 {
compatible = "marvell,sd8xxx";
reg = <0x2>;
interrupt-parent = <0xffffffff>;
interrupts = <0x1d 0x1>;
};
};
};
fragment@4 {
target = <0xffffffff>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <0x1>;
status = "okay";
};
};
fragment@5 {
target = <0xffffffff>;
__overlay__ {
pinctrl-names = "gpio_pu";
pinctrl-0 = <0x3>;
status = "okay";
};
};
__symbols__ {
mmc3_pins = "/fragment@1/__overlay__/pinmux_mmc3_pins";
uart4_pins_default = "/fragment@1/__overlay__/pinmux_uart4_pins_default";
wlcore = "/fragment@3/__overlay__/wlcore@2";
reset_pin_default = "/fragment@1/__overlay__/pinmux_reset_pd_pin";
};
__fixups__ {
ocp = "/fragment@0:target:0";
am33xx_pinmux = "/fragment@1:target:0";
mmc3 = "/fragment@3:target:0";
edma_xbar = "/fragment@3/__overlay__:dmas:0", "/fragment@3/__overlay__:dmas:16";
uart4 = "/fragment@4:target:0";
P8_07_gpio_pu_pin = "/fragment@5:target:0";
};
__local_fixups__ {
fragment@3 {
__overlay__ {
pinctrl-0 = <0x0>;
};
};
fragment@4 {
__overlay__ {
pinctrl-0 = <0x0>;
};
};
fragment@5 {
__overlay__ {
pinctrl-0 = <0x0>;
};
};
};
};
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
I insert the content of overlay-file. I use the kernel 4.14.71-ti-r80
Maybe somebody can give my a hint , how to solve the problem?
Thank you and best regards,
Enno