configuring i.mx ssp2 for a wifi chip

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

configuring i.mx ssp2 for a wifi chip

617 Views
tylerarnold
Contributor II

hi there,

I am trying to modify the i.mx28 dts file to use ssp2 for connecting to a broadcom wifi chip soldering on the same board as it. From peeping at other config files posted I

I currently have:

ssp2: ssp@80014000 {

    compatible = "fsl,imx28-mmc";

    pinctrl-names = "default";

    pinctrl-0 = <&mmc2_4bit_pins_a &mmc2_cd_cfg &mmc2_sck_cfg>;

    bus-width = <4>;

    non-removable;

    vmmc-supply = <&reg_vddio_sd2>;

    status = "okay";

    };

with the mmc2 definitions as:

mmc2_4bit_pins_a: mmc2-4bit@0 {

  reg = <0>;

  fsl,pinmux-ids = <

  MX28_PAD_SSP0_DATA4__SSP2_D0

  MX28_PAD_SSP1_SCK__SSP2_D1

  MX28_PAD_SSP1_CMD__SSP2_D2

  MX28_PAD_SSP0_DATA5__SSP2_D3

  MX28_PAD_SSP0_DATA6__SSP2_CMD

  MX28_PAD_SSP0_DATA7__SSP2_SCK

  >;

  fsl,drive-strength = <MXS_DRIVE_8mA>;

  fsl,voltage = <MXS_VOLTAGE_HIGH>;

  fsl,pull-up = <MXS_PULL_ENABLE>;

  };

  mmc2_cd_cfg: mmc2-cd-cfg {

  fsl,pinmux-ids = <

  MX28_PAD_AUART1_RX__SSP2_CARD_DETECT

  >;

  fsl,pull-up = <MXS_PULL_DISABLE>;

  };

  mmc2_sck_cfg: mmc2-sck-cfg {

  fsl,pinmux-ids = <

  MX28_PAD_SSP0_DATA7__SSP2_SCK

  >;

  fsl,drive-strength = <MXS_DRIVE_12mA>;

  fsl,pull-up = <MXS_PULL_DISABLE>;

  };

under regulators, I have:

reg_vddio_sd2: vddio-sd2 {

            compatible = "regulator-fixed";

            regulator-name = "vddio-sd2";

            regulator-min-microvolt = <1800000>;

            regulator-max-microvolt = <1800000>;

            gpio = <&gpio2 14 0>;

            startup-delay-us = <70000>;

            enable-active-high;

};

which controls the wifi chip enable.

which I believe matches up to what I have on the board.

On ssp0, I have an sd card to boot the kernel image. With SSP2 configured as such, the system gets a kernel panic, it seems to be confused about mmc0 versus mmc2:

.073406] VFS: Cannot open root device "mmcblk0p3" or unknown-block(179,3): error -30

[    2.081616] Please append a correct "root=" boot option; here are the available partitions:

[    2.090040] b300         7782400 mmcblk0  driver: mmcblk

[    2.095570]   b301            1024 mmcblk0p1 00000000-01

[    2.100936]   b302            2048 mmcblk0p2 00000000-02

[    2.106441]   b303         7778304 mmcblk0p3 00000000-03

Without SSP2 configured, the system boots from SSP0 fine. Perhaps I need to change my uboot options.

Any thoughts on how to proceed?

thanks!

-Tyler

Labels (2)
0 Kudos
1 Reply

400 Views
alejandrolozan1
NXP Employee
NXP Employee

Hi Tyler,

I found this answer from the experts.

When you boot with ssp2 and ssp0 enabled, please check the kernel logs and see what is the mmc device node that it uses.

Most likely you need to adapt the kernel command line to mmcroot=/dev/mmcblk1p3 for example

Regards,

Alejandro

0 Kudos