Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
msdi.c File Reference
#include <linux/kernel.h>
#include <linux/err.h>
#include <linux/platform_data/gpio-omap.h>
#include <plat/omap_hwmod.h>
#include <plat/omap_device.h>
#include <plat/mmc.h>
#include "common.h"
#include "control.h"
#include "mux.h"

Go to the source code of this file.

Macros

#define MSDI_CON_OFFSET   0x0c
 
#define MSDI_CON_POW_MASK   BIT(11)
 
#define MSDI_CON_CLKD_MASK   (0x3f << 0)
 
#define MSDI_CON_CLKD_SHIFT   0
 
#define MAX_MODULE_SOFTRESET_WAIT   10000
 
#define MSDI_TARGET_RESET_CLKD   0x3ff
 

Functions

int omap_msdi_reset (struct omap_hwmod *oh)
 

Macro Definition Documentation

#define MAX_MODULE_SOFTRESET_WAIT   10000

Definition at line 48 of file msdi.c.

#define MSDI_CON_CLKD_MASK   (0x3f << 0)

Definition at line 44 of file msdi.c.

#define MSDI_CON_CLKD_SHIFT   0

Definition at line 45 of file msdi.c.

#define MSDI_CON_OFFSET   0x0c

Definition at line 40 of file msdi.c.

#define MSDI_CON_POW_MASK   BIT(11)

Definition at line 43 of file msdi.c.

#define MSDI_TARGET_RESET_CLKD   0x3ff

Definition at line 51 of file msdi.c.

Function Documentation

int omap_msdi_reset ( struct omap_hwmod oh)

omap_msdi_reset - reset the MSDI IP block : struct omap_hwmod *

The MSDI IP block on OMAP2420 has to have both the POW and CLKD fields set inside its CON register for a reset to complete successfully. This is not documented in the TRM. For CLKD, we use the value that results in the lowest possible clock rate, to attempt to avoid disturbing any cards.

Definition at line 63 of file msdi.c.