@@ -2240,57 +2240,7 @@ am_hal_iom_configure(void *pHandle, am_hal_iom_config_t *psConfig)
22402240 _VAL2FLD (IOM0_MI2CCFG_ADDRSZ , IOM0_MI2CCFG_ADDRSZ_ADDRSZ7 );
22412241 break ;
22422242 default :
2243- {
2244- //Calculate TOTPER and FSEL based on requested frequency
2245- uint32_t reqFreq = psConfig -> ui32ClockFreq ;
2246- uint32_t fsel = 2 ;
2247- uint32_t totper = 0 ;
2248- for ( ; fsel < 128 ; fsel = fsel * 2 )
2249- {
2250- //IOM and HFRC are not affected by burst mode
2251- totper = (48000000 / (2 * fsel ))/reqFreq - 1 ;
2252- if (totper < 256 ) break ;
2253- }
2254-
2255- if (fsel == 128 )
2256- {
2257- //If fsel is too large, return with error
2258- return AM_HAL_STATUS_INVALID_ARG ;
2259- }
2260-
2261- uint32_t fsel_bitvalue = IOM0_CLKCFG_FSEL_HFRC_DIV2 ;
2262-
2263- if (fsel == 2 )
2264- fsel_bitvalue = IOM0_CLKCFG_FSEL_HFRC_DIV2 ;
2265- else if (fsel == 4 )
2266- fsel_bitvalue = IOM0_CLKCFG_FSEL_HFRC_DIV4 ;
2267- else if (fsel == 8 )
2268- fsel_bitvalue = IOM0_CLKCFG_FSEL_HFRC_DIV8 ;
2269- else if (fsel == 16 )
2270- fsel_bitvalue = IOM0_CLKCFG_FSEL_HFRC_DIV16 ;
2271- else if (fsel == 32 )
2272- fsel_bitvalue = IOM0_CLKCFG_FSEL_HFRC_DIV32 ;
2273- else if (fsel == 64 )
2274- fsel_bitvalue = IOM0_CLKCFG_FSEL_HFRC_DIV64 ;
2275-
2276- ui32ClkCfg = _VAL2FLD (IOM0_CLKCFG_TOTPER , totper ) |
2277- _VAL2FLD (IOM0_CLKCFG_LOWPER , totper /2 ) |
2278- _VAL2FLD (IOM0_CLKCFG_DIVEN , IOM0_CLKCFG_DIVEN_EN ) |
2279- _VAL2FLD (IOM0_CLKCFG_DIV3 , IOM0_CLKCFG_DIV3_DIS ) |
2280- _VAL2FLD (IOM0_CLKCFG_FSEL , fsel_bitvalue ) |
2281- _VAL2FLD (IOM0_CLKCFG_IOCLKEN , 1 );
2282- IOMn (ui32Module )-> MI2CCFG = _VAL2FLD (IOM0_MI2CCFG_STRDIS , 0 ) |
2283- _VAL2FLD (IOM0_MI2CCFG_SMPCNT , 0x21 ) |
2284- _VAL2FLD (IOM0_MI2CCFG_SDAENDLY , 3 ) |
2285- _VAL2FLD (IOM0_MI2CCFG_SCLENDLY , 0 ) |
2286- _VAL2FLD (IOM0_MI2CCFG_MI2CRST , 1 ) |
2287- _VAL2FLD (IOM0_MI2CCFG_SDADLY , 0 ) |
2288- _VAL2FLD (IOM0_MI2CCFG_ARBEN , IOM0_MI2CCFG_ARBEN_ARBDIS ) |
2289- _VAL2FLD (IOM0_MI2CCFG_I2CLSB , IOM0_MI2CCFG_I2CLSB_MSBFIRST ) |
2290- _VAL2FLD (IOM0_MI2CCFG_ADDRSZ , IOM0_MI2CCFG_ADDRSZ_ADDRSZ7 );
2291- break ;
2292-
2293- }
2243+ return AM_HAL_STATUS_INVALID_ARG ;
22942244 }
22952245
22962246 }
0 commit comments