ctr_mcu/trunk/vreg_ctr.h
fujita_ryohei 4ef33818d9 PMIC CTRに対応 他
中途半端ではあるがいったんバックアップをかねてコミット

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@8 013db118-44a6-b54f-8bf7-843cb86687b1
2009-09-09 12:55:38 +00:00

197 lines
5.0 KiB
C
Raw Blame History

#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
// <20><>TWL<57><4C>
#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
/*
<20>e<EFBFBD><65><EFBFBD>v<EFBFBD><76>
#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{ // <20><><EFBFBD><EFBFBD><EFBFBD>`<60>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>֏<EFBFBD><D68F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񂾍ۂ̓<DB82><CC93><EFBFBD><EFBFBD>͕s<CD95><73>
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, // <20><><EFBFBD>g<EFBFBD>p
VREG_C_BT_INFO, // <20><><EFBFBD>g<EFBFBD>p
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, // <20><><EFBFBD>g<EFBFBD>p
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