/*------------------------------------------------------------ (C) Copyright [2006-2008] Marvell International Ltd. All Rights Reserved ------------------------------------------------------------*/ #ifndef _LEVANTE_HW_H_ #define _LEVANTE_HW_H_ /*---------------------------------------------------- SANREMO * --------------------------------------------------*/ /****** In LEVANTE == total votage is 1.80 volt and 12 bits ===>> so basically ************/ /****** each bit in the register represent a 0.000439 volt ************/ #define LEVANTE_COEFFICIENT 439 // (1.8 / 2^12) * 10^6 (each bit in the register represent 439 microvolt) /*---------------------------------------------------- SANREMO REGISTERS * --------------------------------------------------*/ #define LEVANTE_CHIP_ID 0x00 #define LEVANTE_STS_PWDOWN_STATUS 0x01 #define LEVANTE_STS_OVER_TEMP (1 << 0) #define LEVANTE_STS_PWDOWN (1 << 3) #define LEVANTE_STS_SYSEN (1 << 4) #define LEVANTE_STS_WD (1 << 5) #define LEVANTE_STS_LONG_ONKEY (1 << 6) #define LEVANTE_STS_PWR_HOLD (1 << 7) #define LEVANTE_STS_RESET (1 << 8) #define LEVANTE_STATUS 0x02 #define LEVANTE_STS_ONKEY (1 << 0) #define LEVANTE_STS_EXTON (1 << 1) #define LEVANTE_STS_CHG (1 << 2) #define LEVANTE_STS_BAT (1 << 3) #define LEVANTE_STS_PEN (1 << 4) #define LEVANTE_STS_HEADSET (1 << 5) #define LEVANTE_STS_HOOK (1 << 6) #define LEVANTE_STS_MICIN (1 << 7) #define LEVANTE_STS_NA 0 #define LEVANTE_INT_STATUS_1 0x03 #define LEVANTE_INT_STS1_ONKEY (1 << 0) #define LEVANTE_INT_STS1_EXTON (1 << 1) #define LEVANTE_INT_STS1_CHG (1 << 2) #define LEVANTE_INT_STS1_BAT (1 << 3) #define LEVANTE_INT_STS1_RTC (1 << 4) #define LEVANTE_INT_STATUS_2 0x04 #define LEVANTE_INT_STS2_VBAT (1 << 0) #define LEVANTE_INT_STS2_VCHG (1 << 1) #define LEVANTE_INT_STS2_VSYS (1 << 2) #define LEVANTE_INT_STS2_TINT (1 << 3) #define LEVANTE_INT_STS2_GPADC0 (1 << 4) #define LEVANTE_INT_STS2_GPADC1 (1 << 5) #define LEVANTE_INT_STS2_GPADC2 (1 << 6) #define LEVANTE_INT_STS2_GPADC3 (1 << 7) #define LEVANTE_INT_STATUS_3 0x05 //#define LEVANTE_INT_AUDIO_SHORT (1 << 0) #define LEVANTE_INT_STS3_PEN (1 << 1) #define LEVANTE_INT_STS3_HEADSET (1 << 2) #define LEVANTE_INT_STS3_HOOK (1 << 3) #define LEVANTE_INT_STS3_MICIN (1 << 4) #define LEVANTE_INT_STS3_CHG_FAIL (1 << 5) #define LEVANTE_INT_STS3_CHG_DONE (1 << 6) #define LEVANTE_INT_STS3_CHG_IOVER (1 << 7) #define LEVANTE_INT_EN_1 0x06 #define LEVANTE_INT_EN_ONKEY (1 << 0) #define LEVANTE_INT_EN_EXTON (1 << 1) #define LEVANTE_INT_EN_CHG (1 << 2) #define LEVANTE_INT_EN_BAT (1 << 3) #define LEVANTE_INT_EN_RTC (1 << 4) #define LEVANTE_INT_EN_2 0x07 #define LEVANTE_INT_EN_VBAT (1 << 0) #define LEVANTE_INT_EN_VCHG (1 << 1) #define LEVANTE_INT_EN_VSYS (1 << 2) #define LEVANTE_INT_EN_TINT (1 << 3) #define LEVANTE_INT_EN_GPADC0 (1 << 4) #define LEVANTE_INT_EN_TBAT (1 << 5) #define LEVANTE_INT_EN_GPADC2 (1 << 6) #define LEVANTE_INT_EN_GPADC3 (1 << 7) #define LEVANTE_INT_EN_3 0x08 //#define LEVANTE_INT_EN_AUDIO_SHORT (1 << 0) #define LEVANTE_INT_EN_PEN (1 << 1) #define LEVANTE_INT_EN_HEADSET (1 << 2) #define LEVANTE_INT_EN_HOOK (1 << 3) #define LEVANTE_INT_EN_MICIN (1 << 4) #define LEVANTE_INT_EN_CHG_FAIL (1 << 5) #define LEVANTE_INT_EN_CHG_DONE (1 << 6) #define LEVANTE_INT_EN_CHG_IOVER (1 << 7) #define LEVANTE_INT_EN_ALL 0x00FFFFFF #define LEVANTE_LDO4 0x13 #define LEVANTE_LDO4_VLDO4_SET (1 << 0) #define LEVANTE_LDO4_VLDO4_SET_SLP (1 << 3) #define LEVANTE_MCLK 0x41 #define LEVANTE_CHG_CTRL1 0x48 #define LEVANTE_CHG_CTRL2 0x49 #define LEVANTE_CHG_CTRL3 0x4A #define LEVANTE_CHG_CTRL4 0x4B #define LEVANTE_CHG_CTRL5 0x4D #define LEVANTE_CHG_CTRL7 0x4E #define LEVANTE_CHG_CTRL2 0x49 #define LEVANTE_MEAS_ENABLE1 0x50 #define LEVANTE_MEAS_EN1_VBAT (1 << 0) #define LEVANTE_MEAS_EN1_VCHG (1 << 1) #define LEVANTE_MEAS_EN1_VSYS (1 << 2) #define LEVANTE_MEAS_EN1_TINT (1 << 3) #define LEVANTE_MEAS_EN1_RFTMP (1 << 4) #define LEVANTE_MEAS_EN1_TBAT (1 << 5) #define LEVANTE_MEAS_EN1_GPADC2 (1 << 6) #define LEVANTE_MEAS_EN1_GPADC3 (1 << 7) #define LEVANTE_MEAS_ENABLE3 0x52 #define LEVANTE_MEAS_EN3_IBAT (1 << 0) #define LEVANTE_MEAS_EN3_IBAT_COMP (1 << 1) #define LEVANTE_MEAS_EN3_COULOMB_COUNTER (1 << 2) #define LEVANTE_MEAS_EN3_PENDET (1 << 3) #define LEVANTE_MEAS_EN3_TSIX (1 << 4) #define LEVANTE_MEAS_EN3_TSIY (1 << 5) #define LEVANTE_MEAS_EN3_TSIZ1 (1 << 6) #define LEVANTE_MEAS_EN3_TSIZ2 (1 << 7) #define LEVANTE_TSI_PREBIAS_TIME 0x55 #define LEVANTE_PD_PREBIAS_TIME 0x56 #define LEVANTE_GPADC_MISC1 0x57 #define LEVANTE_GPADC_MISC1_GPFSM_EN (1 << 0) #define LEVANTE_GPPADC_GP_PREBIAS_TIME (01 << 1) #define LEVANTE_GPADC_MISC1_MASK (LEVANTE_GPADC_MISC1_GPFSM_EN | LEVANTE_GPPADC_GP_PREBIAS_TIME) #define LEVANTE_VBAT_LOW_TH 0x5B #define LEVANTE_VCHG_LOW_TH 0x5C #define LEVANTE_TINT_LOW_TH 0x5E #define LEVANTE_GPADC1_LOW_TH 0x60 #define LEVANTE_VBAT_UPP_TH 0x63 #define LEVANTE_VCHG_UPP_TH 0x64 #define LEVANTE_TINT_UPP_TH 0x66 #define LEVANTE_GPADC1_UPP_TH 0x68 #define LEVANTE_IBAT_MEAS1 0x6B #define LEVANTE_IBAT_MEAS2 0x6C #define LEVANTE_VBAT_MEAS1 0x6D #define LEVANTE_VBAT_MEAS2 0x6E #define LEVANTE_VCHG_MEAS1 0x6F #define LEVANTE_VCHG_MEAS2 0x70 #define LEVANTE_VSYS_MEAS1 0x71 #define LEVANTE_VSYS_MEAS2 0x72 #define LEVANTE_TINT_MEAS1 0x73 #define LEVANTE_TINT_MEAS2 0x74 #define LEVANTE_GPADC0_MEAS1 0x75 #define LEVANTE_GPADC0_MEAS2 0x76 #define LEVANTE_GPADC1_MEAS1 0x77 #define LEVANTE_GPADC1_MEAS2 0x78 #define LEVANTE_GPADC2_MEAS1 0x79 #define LEVANTE_GPADC2_MEAS2 0x7A #define LEVANTE_GPADC3_MEAS1 0x7B #define LEVANTE_GPADC3_MEAS2 0x7C #define LEVANTE_TSIX_MEAS1 0x8D #define LEVANTE_TSIX_MEAS2 0x8E #define LEVANTE_TSIY_MEAS1 0x8F #define LEVANTE_TSIY_MEAS2 0x90 #define LEVANTE_TSIZ1_MEAS1 0x91 #define LEVANTE_TSIZ1_MEAS2 0x92 #define LEVANTE_TSIZ2_MEAS1 0x93 #define LEVANTE_TSIZ2_MEAS2 0x94 #define LEVANTE_SUPPLIES_EN11 0x2B #define LEVANTE_SUPPEN11_LDO5_EN1 (1 << 7) #define LEVANTE_SUPPEN11_LDO4_EN1 (1 << 6) #define LEVANTE_TEST_PAGE1_C8 0xC8 #define LEVANTE_TEST_PAGE1_C9 0xC9 #define LEVANTE_TEST_PAGE1_CA 0xCA #define LEVANTE_TEST_PAGE1_CB 0xCB #define LEVANTE_TEST_PAGE1_CC 0xCC #define LEVANTE_TEST_PAGE1_CD 0xCD #define LEVANTE_TEST_PAGE1_CE 0xCE #define LEVANTE_TEST_PAGE1_CF 0xCF /*---------------------------------------------------- PORTOFINO * --------------------------------------------------*/ #define PORTOFINO_PREREG_CURLIM_1500mA 0xE // 1110=1500mA #define PORTOFINO_PREREG_VSYS__4_5V 0x0 // 0000=4.5V /*---------------------------------------------------- PORTOFINO REGISTERS * --------------------------------------------------*/ #define PORTOFINO_PREREG_REG1 0x10 #define PORTOFINO_PREREG_CURLIM (1 << 0) #define PORTOFINO_PREREG_VSYS (1 << 4) #define PORTOFINO_PREREG_CURLIM_BIT (0) #define PORTOFINO_PREREG_VSYS_BIT (4) #define PORTOFINO_USB_MISC 0x16 #define PORTOFINO_USB_SW_OFF (1 << 0) /****************************************/ // Internal Definitions /****************************************/ #define LEVANTE_EVENT_N_STATUS_NUM 5 // (1 status + 4 event) #endif /* _LEVANTE_HW_H_ */