• PUDN用户
  • Unix_Linux
  • 4KB
  • rar
  • 0
  • 1 积分
  • 1
  • 2015-06-13 20:13
TI Highspeed MMC host controller for OMAP.
  • ti-omap-hsmmc.txt
  • STG4000Reg.c
* TI Highspeed MMC host controller for OMAP The Highspeed MMC Host Controller on TI OMAP family provides an interface for MMC, SD, and SDIO types of memory cards. This file documents differences between the core properties described by mmc.txt and the properties used by the omap_hsmmc driver. Required properties: - compatible: Should be "ti,omap2-hsmmc", for OMAP2 controllers Should be "ti,omap3-hsmmc", for OMAP3 controllers Should be "ti,omap3-pre-es3-hsmmc" for OMAP3 controllers pre ES3.0 Should be "ti,omap4-hsmmc", for OMAP4 controllers Should be "ti,am33xx-hsmmc", for AM335x controllers - ti,hwmods: Must be "mmc<n>", n is controller instance starting 1 Optional properties: ti,dual-volt: boolean, supports dual voltage cards <supply-name>-supply: phandle to the regulator device tree node "supply-name" examples are "vmmc", "vmmc_aux" etc ti,non-removable: non-removable slot (like eMMC) ti,needs-special-reset: Requires a special softreset sequence ti,needs-special-hs-handling: HSMMC IP needs special setting for handling High Speed dmas: List of DMA specifiers with the controller specific format as described in the generic DMA client binding. A tx and rx specifier is required. dma-names: List of DMA request names. These strings correspond 1:1 with the DMA specifiers listed in dmas. The string naming is to be "rx" and "tx" for RX and TX DMA requests, respectively. Examples: [hwmod populated DMA resources] mmc1: mmc@0x4809c000 { compatible = "ti,omap4-hsmmc"; reg = <0x4809c000 0x400>; ti,hwmods = "mmc1"; ti,dual-volt; bus-width = <4>; vmmc-supply = <&vmmc>; /* phandle to regulator node */ ti,non-removable; }; [generic DMA request binding] mmc1: mmc@0x4809c000 { compatible = "ti,omap4-hsmmc"; reg = <0x4809c000 0x400>; ti,hwmods = "mmc1"; ti,dual-volt; bus-width = <4>; vmmc-supply = <&vmmc>; /* phandle to regulator node */ ti,non-removable; dmas = <&edma 24 &edma 25>; dma-names = "tx", "rx"; }; [workaround for missing swakeup on am33xx] This SOC is missing the swakeup line, it will not detect SDIO irq while in suspend. ------ | PRCM | ------ ^ | swakeup | | fclk | v ------ ------- ----- | card | -- CIRQ --> | hsmmc | -- IRQ --> | CPU | ------ ------- ----- In suspend the fclk is off and the module is disfunctional. Even register reads will fail. A small logic in the host will request fclk restore, when an external event is detected. Once the clock is restored, the host detects the event normally. Since am33xx doesn't have this line it never wakes from suspend. The workaround is to reconfigure the dat1 line as a GPIO upon suspend. To make this work, we need to set the named pinctrl states "default" and "idle". Prepare idle to remux dat1 as a gpio, and default to remux it back as sdio dat1. The MMC driver will then toggle between idle and default state during runtime. In summary: 1. select matching 'compatible' section, see example below. 2. specify pinctrl states "default" and "idle", "sleep" is optional. 3. specify the gpio irq used for detecting sdio irq in suspend If configuration is incomplete, a warning message is emitted "falling back to polling". Also check the "sdio irq mode" in /sys/kernel/debug/mmc0/regs. Mind not every application needs SDIO irq, e.g. MMC cards. mmc1: mmc@48060100 { compatible = "ti,am33xx-hsmmc"; ... pinctrl-names = "default", "idle", "sleep" pinctrl-0 = <&mmc1_pins>; pinctrl-1 = <&mmc1_idle>; pinctrl-2 = <&mmc1_sleep>; ... interrupts-extended = <&intc 64 &gpio2 28 0>; }; mmc1_idle : pinmux_cirq_pin { pinctrl-single,pins = < 0x0f8 0x3f /* GPIO2_28 */ >; };
    • omap-l138.zip
      dsp+arm ti低功耗双核cpu数据手册文件
    • InstallGuide_Linux_OMAP3530.pdf.zip
    • omap128GpioInputDriver.rar
      TI omap138 dsp gpio的input驱动。
    • OMAP-L138 库
      TI半导体针对工业应用推出了基于ARM926EJ-S内核的低功耗ARM9处理器AM17xx和AM18xx。其中,AM17xx 和OMAPL137在软件和引脚上兼容;AM18xx 和OMAPL138在软件和引脚上兼容。基于本系列处理器,用户可快速开发出具有强壮...
    • omap
    • omap_loader:用于TI ARM OMAP3系列处理器的USB BootROM上传实用程序。 重写omap3_usblo
      OMAP加载程序 OMAP Loader是omap3_usbload实用程序的libUSB 1.0重写。 本质上,它是用于TI ARM OMAP3系列处理器的USB BootROM上传实用程序。 重写此文件的动机来自使用该实用程序将代码上传到Nest Thermostats。 此...
    • OMAP3530裸机GPIO
    • omap3530完整原理图
      OMAP3530,是专门为智能手机、GPS系统和笔记本电脑等低功耗便携式应用而设计。OMAP3530在单一的芯片上集成了ARM? Cortex?-A8内核、TMS320C64x+? DSP内核、图形引擎、视频加速器以及丰富的多媒体外设,其中Cortex-A8...
    • omap-l138.zip
      OMAP datasheet maual user guide
    • omap.rar
      omap l3的总线驱动代码,实现了读写,传输发送等功能