SoC : : Architecture/: : i.MX

i.MX 9 BSP Porting Guide - Adding SDHC

Jay.P Morgan 2024. 4. 30. 23:38

 

  10.  Intro

 

  uSDHC에는 14개의 관련 I/O 신호가 있습니다. 다음 목록은 관련 I/O 신호를 설명합니다.

 

 

 

  10.1  Signal 개요

 

• SD_CLK는 MMC, SD, SDIO 카드를 구동하는 데 사용되는 내부 생성 클럭입니다.
• CMD I/O는 카드로 명령을 보내고 응답을 받는 데 사용됩니다. 8개의 데이터 라인(DAT7 DAT0)은 SDHC와 카드 간의 데이터 전송을 수행하는 데 사용됩니다.
• SD_CD# 및 SD_WP는 소켓에서 직접 라우팅되는 카드 감지 및 쓰기 방지 신호입니다. 이 두 신호는 active low(0)입니다. SD_CD#이 low면 카드가 삽입되었음을 의미하고 SD_WP가 high면 쓰기 방지 스위치가 활성화되었음을 의미합니다.
• SD_LCTL은 SD 인터페이스가 사용 중임을 나타내기 위해 외부 LED를 구동하는 데 사용되는 출력 신호입니다.
• SD_RST_N은 MMC 카드를 재설정하는 데 사용되는 출력 신호입니다. 이는 카드에서 지원되어야 합니다.
• SD_VSELECT는 외부 전원 공급 장치의 전압을 변경하는 데 사용되는 출력 신호입니다.

  SD_CD#, SD_WP, SD_LCTL, SD_RST_N 및 SD_VSELECT는 모두 시스템 구현을 위한 선택 사항입니다.

  uSDHC가 4비트 데이터 전송을 지원하려는 경우 DAT7 - DAT4도 선택 사항이며 high voltage에 연결할 수 있습니다.

 

 

  10.2  디바이스 트리에 uSDHC 지원 추가

 

다음은 디바이스 트리에 uSDHC 지원을 추가하는 예입니다.

usdhc@02194000 { /* uSDHC2 */
          compatible = "fsl,imx6q-usdhc";           reg = <0x02194000 0x4000>;           interrupts = <0 23 0x04>;
          clocks = <&clks 164>, <&clks 164>, <&clks 164>;
          clock-names = "ipg", "ahb", "per";
          pinctrl-names = "default";           pinctrl-0 = <&pinctrl_usdhc2_1>;
          cd-gpios = <&gpio2 2 0>;           wp-gpios = <&gpio2 3 0>;
          bus-width = <8>;           no-1-8-v;
          keep-power-in-suspend;           enable-sdio-wakeup;           status = "okay";
};
usdhc1: usdhc@02190000 {
                                compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-
usdhc";
                                reg = <0x02190000 0x4000>;
                                interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6UL_CLK_USDHC1>,                                          <&clks IMX6UL_CLK_USDHC1>,                                          <&clks IMX6UL_CLK_USDHC1>;                                 clock-names = "ipg", "ahb", "per";
                                bus-width = <4>;                                 status = "disabled";
                        };

 

자세한 내용은 다음을 참조하세요.
• linux/Documentation/devicetree/bounds/mmc/fsl-imx-esdhc.txt에 있는 바인딩 문서.
• arch/arm/boot/dts/imx6ul.dtsi
• arch/arm/boot/dts/imx6ul-14x14-evk.dts • arch/arm/boot/dts/imx6qdl.dtsi
• arch/arm/boot/dts/imx6qdl-sabresd.dtsi

 

 

  10.3  SD3.0 지원

 

  SD3.0에는 신호 전압으로 3.3V 및 1.8V가 필요합니다. 플랫폼에서 전압 선택을 구현해야 합니다.

 

 

  10.4  SDIO 지원

 

  대부분의 상황에서 SDIO는 SD/MMC 메모리 카드보다 더 많은 전력을 필요로 합니다. SDIO를 사용하는 동안 전원 공급 장치가 SD 슬롯에 있는지 확인하거나 대신 SDIO에 외부 전원을 공급하십시오.