diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/fman')
5 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c b/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c index 7225ad6..16dd8aa 100644 --- a/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c +++ b/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c @@ -397,18 +397,20 @@ static t_Error ClearIRam(t_Fm *p_Fm) { t_FMIramRegs *p_Iram; int i; + int iram_size; ASSERT_COND(p_Fm); p_Iram = (t_FMIramRegs *)UINT_TO_PTR(p_Fm->baseAddr + FM_MM_IMEM); + iram_size = FM_IRAM_SIZE(p_Fm->p_FmStateStruct->revInfo.majorRev,p_Fm->p_FmStateStruct->revInfo.minorRev); /* Enable the auto-increment */ WRITE_UINT32(p_Iram->iadd, IRAM_IADD_AIE); while (GET_UINT32(p_Iram->iadd) != IRAM_IADD_AIE) ; - for (i=0; i < (FM_IRAM_SIZE/4); i++) + for (i=0; i < (iram_size/4); i++) WRITE_UINT32(p_Iram->idata, 0xffffffff); - WRITE_UINT32(p_Iram->iadd, FM_IRAM_SIZE - 4); + WRITE_UINT32(p_Iram->iadd, iram_size - 4); CORE_MemoryBarrier(); while (GET_UINT32(p_Iram->idata) != 0xffffffff) ; diff --git a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h index ce6fba1..7dbb9b5 100644 --- a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h +++ b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h @@ -213,7 +213,7 @@ typedef enum /* RAMs defines */ #define FM_MURAM_SIZE (384 * KILOBYTE) -#define FM_IRAM_SIZE ( 64 * KILOBYTE) +#define FM_IRAM_SIZE(major, minor) (64 * KILOBYTE) #define FM_NUM_OF_CTRL 4 /* PCD defines */ diff --git a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h index 13b14b0..ced3629 100644 --- a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h +++ b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h @@ -213,7 +213,8 @@ typedef enum /* RAMs defines */ #define FM_MURAM_SIZE (192 * KILOBYTE) -#define FM_IRAM_SIZE (32 * KILOBYTE) +#define FM_IRAM_SIZE(major, minor) \ + (((major == 6) && ((minor == 4) )) ? (64 * KILOBYTE) : (32 * KILOBYTE)) #define FM_NUM_OF_CTRL 2 /* PCD defines */ diff --git a/drivers/net/ethernet/freescale/fman/inc/integrations/P1023/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/fman/inc/integrations/P1023/dpaa_integration_ext.h index ce9c7cd..7b5390d 100644 --- a/drivers/net/ethernet/freescale/fman/inc/integrations/P1023/dpaa_integration_ext.h +++ b/drivers/net/ethernet/freescale/fman/inc/integrations/P1023/dpaa_integration_ext.h @@ -136,7 +136,7 @@ typedef enum { /* Rams defines */ #define FM_MURAM_SIZE (64*KILOBYTE) -#define FM_IRAM_SIZE (32*KILOBYTE) +#define FM_IRAM_SIZE(major, minor) (32 * KILOBYTE) #define FM_NUM_OF_CTRL 2 /* PCD defines */ diff --git a/drivers/net/ethernet/freescale/fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h index f4e5980..6e2b925 100644 --- a/drivers/net/ethernet/freescale/fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h +++ b/drivers/net/ethernet/freescale/fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h @@ -179,7 +179,7 @@ typedef enum /* Rams defines */ #define FM_MURAM_SIZE (160*KILOBYTE) -#define FM_IRAM_SIZE ( 64*KILOBYTE) +#define FM_IRAM_SIZE(major, minor) (64 * KILOBYTE) #define FM_NUM_OF_CTRL 2 /* PCD defines */ |