Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
tegra30-mc.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/ratelimit.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/io.h>

Go to the source code of this file.

Data Structures

struct  tegra30_mc
 

Macros

#define DRV_NAME   "tegra30-mc"
 
#define MC_INTSTATUS   0x0
 
#define MC_INTMASK   0x4
 
#define MC_INT_ERR_SHIFT   6
 
#define MC_INT_ERR_MASK   (0x1f << MC_INT_ERR_SHIFT)
 
#define MC_INT_DECERR_EMEM   BIT(MC_INT_ERR_SHIFT)
 
#define MC_INT_SECURITY_VIOLATION   BIT(MC_INT_ERR_SHIFT + 2)
 
#define MC_INT_ARBITRATION_EMEM   BIT(MC_INT_ERR_SHIFT + 3)
 
#define MC_INT_INVALID_SMMU_PAGE   BIT(MC_INT_ERR_SHIFT + 4)
 
#define MC_ERR_STATUS   0x8
 
#define MC_ERR_ADR   0xc
 
#define MC_ERR_TYPE_SHIFT   28
 
#define MC_ERR_TYPE_MASK   (7 << MC_ERR_TYPE_SHIFT)
 
#define MC_ERR_TYPE_DECERR_EMEM   2
 
#define MC_ERR_TYPE_SECURITY_TRUSTZONE   3
 
#define MC_ERR_TYPE_SECURITY_CARVEOUT   4
 
#define MC_ERR_TYPE_INVALID_SMMU_PAGE   6
 
#define MC_ERR_INVALID_SMMU_PAGE_SHIFT   25
 
#define MC_ERR_INVALID_SMMU_PAGE_MASK   (7 << MC_ERR_INVALID_SMMU_PAGE_SHIFT)
 
#define MC_ERR_RW_SHIFT   16
 
#define MC_ERR_RW   BIT(MC_ERR_RW_SHIFT)
 
#define MC_ERR_SECURITY   BIT(MC_ERR_RW_SHIFT + 1)
 
#define SECURITY_VIOLATION_TYPE   BIT(30) /* 0=TRUSTZONE, 1=CARVEOUT */
 
#define MC_EMEM_ARB_CFG   0x90
 
#define MC_EMEM_ARB_OUTSTANDING_REQ   0x94
 
#define MC_EMEM_ARB_TIMING_RCD   0x98
 
#define MC_EMEM_ARB_TIMING_RP   0x9c
 
#define MC_EMEM_ARB_TIMING_RC   0xa0
 
#define MC_EMEM_ARB_TIMING_RAS   0xa4
 
#define MC_EMEM_ARB_TIMING_FAW   0xa8
 
#define MC_EMEM_ARB_TIMING_RRD   0xac
 
#define MC_EMEM_ARB_TIMING_RAP2PRE   0xb0
 
#define MC_EMEM_ARB_TIMING_WAP2PRE   0xb4
 
#define MC_EMEM_ARB_TIMING_R2R   0xb8
 
#define MC_EMEM_ARB_TIMING_W2W   0xbc
 
#define MC_EMEM_ARB_TIMING_R2W   0xc0
 
#define MC_EMEM_ARB_TIMING_W2R   0xc4
 
#define MC_EMEM_ARB_DA_TURNS   0xd0
 
#define MC_EMEM_ARB_DA_COVERS   0xd4
 
#define MC_EMEM_ARB_MISC0   0xd8
 
#define MC_EMEM_ARB_MISC1   0xdc
 
#define MC_EMEM_ARB_RING3_THROTTLE   0xe4
 
#define MC_EMEM_ARB_OVERRIDE   0xe8
 
#define MC_TIMING_CONTROL   0xfc
 
#define MC_CLIENT_ID_MASK   0x7f
 
#define NUM_MC_REG_BANKS   4
 

Functions

 module_platform_driver (tegra30_mc_driver)
 
 MODULE_AUTHOR ("Hiroshi DOYU <[email protected]>")
 
 MODULE_DESCRIPTION ("Tegra30 MC driver")
 
 MODULE_LICENSE ("GPL v2")
 
 MODULE_ALIAS ("platform:"DRV_NAME)
 

Macro Definition Documentation

#define DRV_NAME   "tegra30-mc"

Definition at line 27 of file tegra30-mc.c.

#define MC_CLIENT_ID_MASK   0x7f

Definition at line 82 of file tegra30-mc.c.

#define MC_EMEM_ARB_CFG   0x90

Definition at line 57 of file tegra30-mc.c.

#define MC_EMEM_ARB_DA_COVERS   0xd4

Definition at line 73 of file tegra30-mc.c.

#define MC_EMEM_ARB_DA_TURNS   0xd0

Definition at line 72 of file tegra30-mc.c.

#define MC_EMEM_ARB_MISC0   0xd8

Definition at line 74 of file tegra30-mc.c.

#define MC_EMEM_ARB_MISC1   0xdc

Definition at line 75 of file tegra30-mc.c.

#define MC_EMEM_ARB_OUTSTANDING_REQ   0x94

Definition at line 58 of file tegra30-mc.c.

#define MC_EMEM_ARB_OVERRIDE   0xe8

Definition at line 78 of file tegra30-mc.c.

#define MC_EMEM_ARB_RING3_THROTTLE   0xe4

Definition at line 77 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_FAW   0xa8

Definition at line 63 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_R2R   0xb8

Definition at line 67 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_R2W   0xc0

Definition at line 69 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_RAP2PRE   0xb0

Definition at line 65 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_RAS   0xa4

Definition at line 62 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_RC   0xa0

Definition at line 61 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_RCD   0x98

Definition at line 59 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_RP   0x9c

Definition at line 60 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_RRD   0xac

Definition at line 64 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_W2R   0xc4

Definition at line 70 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_W2W   0xbc

Definition at line 68 of file tegra30-mc.c.

#define MC_EMEM_ARB_TIMING_WAP2PRE   0xb4

Definition at line 66 of file tegra30-mc.c.

#define MC_ERR_ADR   0xc

Definition at line 40 of file tegra30-mc.c.

#define MC_ERR_INVALID_SMMU_PAGE_MASK   (7 << MC_ERR_INVALID_SMMU_PAGE_SHIFT)

Definition at line 50 of file tegra30-mc.c.

#define MC_ERR_INVALID_SMMU_PAGE_SHIFT   25

Definition at line 49 of file tegra30-mc.c.

#define MC_ERR_RW   BIT(MC_ERR_RW_SHIFT)

Definition at line 52 of file tegra30-mc.c.

#define MC_ERR_RW_SHIFT   16

Definition at line 51 of file tegra30-mc.c.

#define MC_ERR_SECURITY   BIT(MC_ERR_RW_SHIFT + 1)

Definition at line 53 of file tegra30-mc.c.

#define MC_ERR_STATUS   0x8

Definition at line 39 of file tegra30-mc.c.

#define MC_ERR_TYPE_DECERR_EMEM   2

Definition at line 44 of file tegra30-mc.c.

#define MC_ERR_TYPE_INVALID_SMMU_PAGE   6

Definition at line 47 of file tegra30-mc.c.

#define MC_ERR_TYPE_MASK   (7 << MC_ERR_TYPE_SHIFT)

Definition at line 43 of file tegra30-mc.c.

#define MC_ERR_TYPE_SECURITY_CARVEOUT   4

Definition at line 46 of file tegra30-mc.c.

#define MC_ERR_TYPE_SECURITY_TRUSTZONE   3

Definition at line 45 of file tegra30-mc.c.

#define MC_ERR_TYPE_SHIFT   28

Definition at line 42 of file tegra30-mc.c.

#define MC_INT_ARBITRATION_EMEM   BIT(MC_INT_ERR_SHIFT + 3)

Definition at line 36 of file tegra30-mc.c.

#define MC_INT_DECERR_EMEM   BIT(MC_INT_ERR_SHIFT)

Definition at line 34 of file tegra30-mc.c.

#define MC_INT_ERR_MASK   (0x1f << MC_INT_ERR_SHIFT)

Definition at line 33 of file tegra30-mc.c.

#define MC_INT_ERR_SHIFT   6

Definition at line 32 of file tegra30-mc.c.

#define MC_INT_INVALID_SMMU_PAGE   BIT(MC_INT_ERR_SHIFT + 4)

Definition at line 37 of file tegra30-mc.c.

#define MC_INT_SECURITY_VIOLATION   BIT(MC_INT_ERR_SHIFT + 2)

Definition at line 35 of file tegra30-mc.c.

#define MC_INTMASK   0x4

Definition at line 30 of file tegra30-mc.c.

#define MC_INTSTATUS   0x0

Definition at line 29 of file tegra30-mc.c.

#define MC_TIMING_CONTROL   0xfc

Definition at line 80 of file tegra30-mc.c.

#define NUM_MC_REG_BANKS   4

Definition at line 84 of file tegra30-mc.c.

#define SECURITY_VIOLATION_TYPE   BIT(30) /* 0=TRUSTZONE, 1=CARVEOUT */

Definition at line 55 of file tegra30-mc.c.

Function Documentation

MODULE_ALIAS ( "platform:"  DRV_NAME)
MODULE_AUTHOR ( "Hiroshi DOYU <[email protected]>"  )
MODULE_DESCRIPTION ( "Tegra30 MC driver )
MODULE_LICENSE ( "GPL v2 )
module_platform_driver ( tegra30_mc_driver  )