This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352: SDIO exception

Part Number: AM3352
Other Parts Discussed in Thread: SYSCONFIG

Hi team,

Here's an issue from the customer may need your help:

When debugging SDIO wifi, use SDIO from mmC3 to connect to AP6256.

When using SDIO data lines, the SDIO group GPIO1-17, GPIO1-18, GPIO1-19, GPIO1-28 is always abnormal. When the SDIO data line is using GPIO1-12, goio1-13, GPIO1-14, GPIO1-15, SDIO communication is good and the wifi works properly.

The customer configures the group GPIO1-17, GPIO1-18, GPIO1-19, GPIO1-28 as general GPIO for debug and pull the pin high and low. Currently, only GPIO1-28 can pull high and low normally. GPIO1-17, GPIO1-18, GPIO1-19 pins appear to be not functioning properly.

The following are the device tree configurations:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "am33xx.dtsi"
#include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
model = "VT-M2M-L335M";
compatible = "ti,vt-m2m-l335-m", "ti,am33xx";
cpus {
cpu@0 {
cpu0-supply = <&dcdc2_reg>;
};
};
aliases {
// led-boot = &led_sys;
// led-failsafe = &led_sys;
// led-running = &led_sys;
// led-upgrade = &led_sys;
};
memory@80000000 {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Could you help check this case? Thanks.

Best Regards,

Cherry

  • You must use the GPMC_CLK and GPMC_SCn3 pins for clock and command when using the GMPC_A1, GPMC_A2, GPMC_A3, and GPMC_BEn1 pins for SDIO data.

    You cannot use invalid combinations of signal multiplexing because the AM335x peripherals were only timing closed to operate properly with a limited number of pin multiplexing combinations. This is why you must use the SYSCONFIG tool to assign signal functions. This tool knows the valid combinations and makes sure you do not select invalid combinations.

    This does not explain why you are not able to toggle pins when placed in GPIO mode.

    I will need to assign your post to a software person that can answer questions about device tree configuration.

    Regards,
    Paul

  • Hi Paul,

    Thanks for your support.

    You cannot use invalid combinations of signal multiplexing because the AM335x peripherals were only timing closed to operate properly with a limited number of pin multiplexing combinations. This is why you must use the SYSCONFIG tool to assign signal functions. This tool knows the valid combinations and makes sure you do not select invalid combinations.

    They've double checked the pins and ensured that the pin usage of mmc3 is fine. 

    The data lines of SDIO are tested as normal GPIOs without problems.

    GPIO1-17, GPIO1-18, GPIO1-19, GPIO1-28 currently controls WiFi as an SDIO port and is still abnormal.

    Thanks and regards,

    Cherry

  • GPIO1-17, GPIO1-18, GPIO1-19 pins appear to be not functioning properly.

    What exactly does this mean? You can't control them in a GPIO capacity at all?

    How exactly are you trying to control those pins?

    Can you post the contents of all GPIO pinctrl-single driver Kernel debug files? Like this...

    # cat /sys/kernel/debug/pinctrl/*.pinctrl-pinctrl-single/*

    You can analyze/compare those debug files for your different working and non-working scenarios and see if there are any significant differences.

    Regards, Andreas