#ifndef __vreg_ctr__ #define __vreg_ctr__ #define REG_BIT_RTC_BLACKOUT 0b00000001 #define REG_BIT__SYS_MODE0 0b01000000 #define REG_BIT_MCU_FIRMBROKEN 0b10000000 // VREG_C_IRQ0 #define REG_BIT_VR_SNDVOL_CHANGE ( 1 << 7 ) #define REG_BIT_VR_TUNE_CHANGE ( 1 << 6 ) #define REG_BIT_SW_TUNE_CLICK ( 1 << 5 ) #define REG_BIT_SW_WIFI_CLICK ( 1 << 4 ) #define REG_BIT_SW_POW_HOLD ( 1 << 3 ) #define REG_BIT_SW_POW_CLICK ( 1 << 2 ) #define REG_BIT_SW_HOME_HOLD ( 1 << 1 ) #define REG_BIT_SW_HOME_CLICK ( 1 << 0 ) // VREG_C_IRQ1 #define REG_BIT_TWL_OFF_REQ ( 1 << 7 ) #define REG_BIT_TWL_RESET_REQ ( 1 << 6 ) #define REG_BIT_WDT_DET ( 1 << 5 ) #define REG_BIT_ACC_DAT_RDY ( 1 << 4 ) #define REG_BIT_ACC_ACK ( 1 << 3 ) #define REG_BIT_RTC_ALARM ( 1 << 2 ) #define REG_BIT_BT_REMAIN ( 1 << 1 ) #define REG_BIT_STAT_CHANGE ( 1 << 0 ) // VREG_C_STATUS0, #define REG_BIT_BATT_CHARGE_ERR ( 1 << 5 ) #define REG_BIT_BATT_CHARGE ( 1 << 4 ) #define REG_BIT_POW_SUPPLY ( 1 << 3 ) #define REG_BIT_EXT_OPT_LOCK ( 1 << 2 ) #define REG_BIT_SHELL_CLOSE ( 1 << 1 ) #define REG_BIT_BL ( 1 << 6 ) #define REG_BIT_LCD_POW ( 1 << 7 ) // VREG_C_COMMAND0 #define REG_BIT_FCRAM_RESET_REQ ( 1 << 3 ) #define REG_BIT_RESET2_REQ ( 1 << 2 ) #define REG_BIT_RESET1_REQ ( 1 << 1 ) #define REG_BIT_OFF_REQ ( 1 << 0 ) #define REG_BIT_BL_ON ( 1 << 5 ) #define REG_BIT_BL_OFF ( 1 << 4 ) #define REG_BIT_LCD_ON ( 1 << 7 ) #define REG_BIT_LCD_OFF ( 1 << 6 ) // VREG_C_COMMAND1 #define REG_BIT_SEND_TWL_BATT_EMPTY ( 1 << 4 ) #define REG_BIT_SEND_TWL_BATT_LOW ( 1 << 3 ) #define REG_BIT_SEND_TWL_OFF_REQ ( 1 << 2 ) #define REG_BIT_SEND_TWL_RESET_REQ ( 1 << 1 ) #define REG_BIT_SEND_TWL_PWSW_DET ( 1 << 0 ) // VREG_C_WIFI_LED #define REG_BIT_WIFI_BLINK_ENA ( 1 << 1 ) #define REG_BIT_WIFI_ON ( 1 << 0 ) // command2 #define REG_BIT_TWL_CMD_PWSW_DET 0x01 #define REG_BIT_TWL_CMD_RESET 0x02 #define REG_BIT_TWL_CMD_OFF 0x04 #define REG_BIT_TWL_CMD_BT_LOW 0x08 #define REG_BIT_TWL_CMD_BT_EMPTY 0x10 #define REG_BIT_TWL_CMD_VOL_CHANGE 0x20 // ↑TWL側 #define REG_BIT_TWL_IRQ_PWSW_DET 0x80 #define REG_BIT_TWL_IRQ_RESET 0x01 #define REG_BIT_TWL_IRQ_OFF 0x02 #define REG_BIT_TWL_IRQ_BT_LOW 0x20 #define REG_BIT_TWL_IRQ_BT_EMPTY 0x10 #define REG_BIT_TWL_IRQ_VOL_CHANGE 0x40 /* テンプレ #define REG_BIT_ ( 1 << 7 ) #define REG_BIT_ ( 1 << 6 ) #define REG_BIT_ ( 1 << 5 ) #define REG_BIT_ ( 1 << 4 ) #define REG_BIT_ ( 1 << 3 ) #define REG_BIT_ ( 1 << 2 ) #define REG_BIT_ ( 1 << 1 ) #define REG_BIT_ ( 1 << 0 ) */ /*============================================================================*/ extern u8 vreg_ctr[]; /*============================================================================*/ enum VREG_C{ // 未定義アドレスへ書き込んだ際の動作は不定 VREG_C_IRQ0, VREG_C_IRQ1, VREG_C_IRQ2, VREG_C_STATUS0, VREG_C_STATUS1, VREG_C_IRQ_MASK0, VREG_C_IRQ_MASK1, VREG_C_IRQ_MASK2, VREG_C_TUNE = 0x08, VREG_C_SND_VOL, VREG_C_BT_REMAIN, VREG_C_COMMAND0, VREG_C_COMMAND1, VREG_C_LED_BRIGHT, VREG_C_LED_POW_ILUMI, VREG_C_WIFI_LED, VREG_C_CAM_LED, VREG_C_MCU_VER_MAJOR = 0x11, VREG_C_MCU_VER_MINOR, VREG_C_MCU_STATUS, VREG_C_VCOM_T, VREG_C_VCOM_B, VREG_C_PM_INFO, // 未使用 VREG_C_BT_INFO, // 未使用 VREG_C_BT_TEMP, VREG_C_RESERVED1, VREG_C_RTC_SEC = 0x1A, VREG_C_RTC_MIN, VREG_C_RTC_HOUR, VREG_C_RTC_YOBI, VREG_C_RTC_DAY, VREG_C_RTC_MONTH, VREG_C_RTC_YEAR, VREG_C_RESERVED2, // 未使用 VREG_C_RTC_ALARM_MIN, VREG_C_RTC_ALARM_HOUR, VREG_C_RTC_ALARM_DAY, VREG_C_RTC_ALARM_MONTH, VREG_C_RTC_ALARM_YEAR, VREG_C_RTC_COMP, VREG_C_ACC_CONFIG_HOSU = 0x28, VREG_C_ACC_CONFIG, VREG_C_ACC_R_ADRS, VREG_C_RESERVED5, VREG_C_ACC_W_ADRS, VREG_C_ACC_W_BUF, VREG_C_ACC_XL, VREG_C_ACC_XH, VREG_C_ACC_YL, VREG_C_ACC_YH, VREG_C_ACC_ZL, VREG_C_ACC_ZH, VREG_C_ACC_HOSU_L = 0x34, VREG_C_ACC_HOSU_M, VREG_C_ACC_HOSU_H, VREG_C_ACC_HOSU_HIST, VREG_C_DIAG, VREG_C_FREE0 = 0x39, VREG_C_FREE1, VREG_C_FREE2, VREG_C_FREE3, VREG_C_DBG0, VREG_C_DBG1, VREG_C_DBG2, VREG_C_DBG3, VREG_C_ENDMARK_ }; /*============================================================================*/ void vreg_ctr_init(); void vreg_ctr_write( u8 adrs, u8 data ); u8 vreg_ctr_read( u8 phy_adrs ); void vreg_ctr_after_read( u8 adrs ); void vreg_c_iic_release(); #endif