1522 lines
54 KiB
C
1522 lines
54 KiB
C
/*
|
|
* Copyright (C) 2012 Apple Inc. All rights reserved.
|
|
*
|
|
* This document is the property of Apple Inc.
|
|
* It is considered confidential and proprietary.
|
|
*
|
|
* This document may not be reproduced or transmitted in any form,
|
|
* in whole or in part, without the express written permission of
|
|
* Apple Inc.
|
|
*/
|
|
|
|
// Specs at <rdar://problem/16832282> Aria: Specification and Data-sheet from Vendor (Dialog)
|
|
#ifndef __DIALOG_D2257_H
|
|
#define __DIALOG_D2257_H
|
|
|
|
#define PMU_HAS_SWI 0
|
|
#define PMU_HAS_DWI 0
|
|
#define PMU_HAS_SPI 1
|
|
// TODO: use single register alias (and a value alias) for HAS_SWI,HAS_DWI,HAS_SPI
|
|
#define PMU_HAS_LCM_LDO 0
|
|
// TODO: add BIST ADC
|
|
#define PMU_HAS_BIST_ADC 0
|
|
#define PMU_HAS_CHG_ABCC_FLAG 0
|
|
#define PMU_HAS_VIB 0
|
|
#define PMU_HAS_RAM 1
|
|
// TODO: enable wled
|
|
#define PMU_HAS_WLED 1
|
|
#define PMU_HAS_32K_RTC 1
|
|
// TODO: enable accumulators
|
|
#define PMU_HAS_ACCUMULATORS 0
|
|
#define PMU_HAS_GPIO_CONF 1
|
|
#define PMU_HAS_SYS 1
|
|
#define PMU_HAS_SCRATCH 1
|
|
#define PMU_HAS_CHARGER 1
|
|
#define PMU_HAS_PERF_STATES 1
|
|
#define PMU_DRV_NEW_DRIVER 1
|
|
|
|
enum {
|
|
kDIALOG_ADDR_R = 0x79,
|
|
kDIALOG_ADDR_W = 0x78,
|
|
kDIALOG_REG_BYTES = 2,
|
|
};
|
|
|
|
enum {
|
|
kDIALOG_FAULTLOG_COUNT = 2, // @0x0100 (read only the first 2)
|
|
kDIALOG_EVENT_COUNT = 0x1f, // @0x0140
|
|
kDIALOG_STATUS_COUNT = 0x1f, // @0x0180
|
|
kDIALOG_CHIPID_COUNT = 4, // @0x0000
|
|
kDIALOG_GPIO_COUNT = 22,
|
|
};
|
|
|
|
#include "dCommon.h"
|
|
|
|
enum {
|
|
// ---------------------------------
|
|
// Faultlog (virtual)
|
|
// ---------------------------------
|
|
kDIALOG_FAULT_LOG_A = 0x0100,
|
|
// ...
|
|
// kDIALOG_FAULT_LOG_R
|
|
|
|
// ---------------------------------
|
|
// Event, Status ,IRQ Mask (Virtual)
|
|
// ---------------------------------
|
|
|
|
kD2255_V_EVENT_AA = 0x0140, // 0
|
|
kD2255_V_EVENT_AB = 0x0141, // 1
|
|
kD2255_V_EVENT_AC = 0x0142, // 2
|
|
kD2255_V_EVENT_AD = 0x0143, // 3
|
|
kD2255_V_EVENT_AE = 0x0144, // 4
|
|
kD2255_V_EVENT_AF = 0x0145, // 5 BTNs
|
|
kD2255_V_EVENT_AG = 0x0146, // 6 GPIO1-8
|
|
kD2255_V_EVENT_AH = 0x0147, // 7 GPIO9-16
|
|
kD2255_V_EVENT_AI = 0x0148, // 8 GPIO17-22
|
|
kD2255_V_EVENT_AJ = 0x0149, // 9 VBUS/VCENTER
|
|
kD2255_V_EVENT_AK = 0x014a, // 10
|
|
kD2255_V_EVENT_AL = 0x014b, // 11
|
|
kD2255_V_EVENT_AM = 0x014c, // 12
|
|
kD2255_V_EVENT_AN = 0x014d, // 13
|
|
kD2255_V_EVENT_AO = 0x014e, // 14
|
|
kD2255_V_EVENT_AP = 0x014f, // 15
|
|
kD2255_V_EVENT_AQ = 0x0150, // 16
|
|
kD2255_V_EVENT_AR = 0x0151, // 17
|
|
kD2255_V_EVENT_AS = 0x0152, // 18
|
|
kD2255_V_EVENT_AT = 0x0153, // 19
|
|
kD2255_V_EVENT_AU = 0x0154, // 20
|
|
kD2255_V_EVENT_AV = 0x0155, // 21
|
|
kD2255_V_EVENT_AW = 0x0156, // 22
|
|
kD2255_V_EVENT_AX = 0x0157, // 23 EOMC
|
|
kD2255_V_EVENT_AY = 0x0158, // 24
|
|
kD2255_V_EVENT_AZ,
|
|
kD2255_V_EVENT_BA,
|
|
kD2255_V_EVENT_BB,
|
|
kD2255_V_EVENT_BC,
|
|
kD2255_V_EVENT_BD,
|
|
kD2255_V_EVENT_BE,
|
|
|
|
kD2255_V_STATUS_AA = 0x0180,
|
|
// .... V_STATUS_Y
|
|
kD2255_V_STATUS_BE = 0x019e,
|
|
|
|
|
|
kD2255_V_IRQ_MASK_AA = 0x01c0,
|
|
// .... V_IRQ_MASK_Y
|
|
kD2255_V_IRQ_MASK_BE = 0x01de,
|
|
|
|
kD2255_V_FAULTLOG_COUNT = 0x12,
|
|
kD2255_V_EVENT_COUNT = 0x1f,
|
|
kD2255_V_STATUS_COUNT = 0x1f,
|
|
|
|
kDIALOG_EVENT_A = kD2255_V_EVENT_AA,
|
|
kDIALOG_STATUS_A = kD2255_V_STATUS_AA,
|
|
kDIALOG_IRQ_MASK_A = kD2255_V_IRQ_MASK_AA,
|
|
};
|
|
// ---------------------------------
|
|
// Chip Identification
|
|
// ---------------------------------
|
|
enum {
|
|
kDIALOG_MASK_REV_CODE = 0x0200,
|
|
kDIALOG_TRIM_REL_CODE = 0x0201,
|
|
kDIALOG_PLATFORM_ID = 0x0202,
|
|
kDIALOG_DEVICE_ID1 = 0x0204,
|
|
kDIALOG_DEVICE_ID2 = 0x0205,
|
|
kDIALOG_DEVICE_ID3 = 0x0206,
|
|
kDIALOG_DEVICE_ID4 = 0x0207,
|
|
kDIALOG_DEVICE_ID5 = 0x0208,
|
|
kDIALOG_DEVICE_ID6 = 0x0209,
|
|
kDIALOG_DEVICE_ID7 = 0x020a,
|
|
|
|
kDIALOG_CHIP_ID = kDIALOG_MASK_REV_CODE,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// System Control And Status
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_APP_TMUX = 0x0212,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// System Configuration
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_SYSCTL_PRE_UVLO_CONF = 0x026b,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// Faultlog
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_FAULT_LOG1 = 0x02c0,
|
|
kD2257_FAULT_LOG2 = 0x02c1,
|
|
|
|
kDIALOG_FAULT_LOG = kD2257_FAULT_LOG1,
|
|
kDIALOG_FAULT_LOG2 = kD2257_FAULT_LOG2,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// Events. Status and IRQ Control
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_SYSCTL_EVENT = 0x02d2,
|
|
kD2257_SYSCTL_STATUS = 0x02d3,
|
|
kD2257_SYSCTL_IRQ_MASK = 0x02d4,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// Power Supply Control
|
|
// Active,Standby,Hibernate are now encoded here, need TestAccess
|
|
// ---------------------------------
|
|
enum {
|
|
kD2257_PWRONOFF_BUCK0_EN = 0x0300,
|
|
kD2257_PWRONOFF_BUCK1_EN = 0x0301,
|
|
kD2257_PWRONOFF_BUCK2_EN = 0x0302,
|
|
kD2257_PWRONOFF_BUCK3_EN = 0x0303,
|
|
kD2257_PWRONOFF_BUCK4_EN = 0x0304,
|
|
kD2257_PWRONOFF_BUCK5_EN = 0x0305,
|
|
kD2257_PWRONOFF_BUCK6_EN = 0x0306,
|
|
kD2257_PWRONOFF_BUCK7_EN = 0x0307,
|
|
kD2257_PWRONOFF_BUCK8_EN = 0x0308,
|
|
|
|
kD2257_PWRONOFF_WLEDA_EN = 0x0309,
|
|
kD2257_PWRONOFF_WLEDB_EN = 0x030A,
|
|
|
|
kD2257_PWRONOFF_LDO1_EN = 0x030b,
|
|
kD2257_PWRONOFF_LDO2_EN = 0x030c,
|
|
kD2257_PWRONOFF_LDO3_EN = 0x030d,
|
|
kD2257_PWRONOFF_LDO4_EN = 0x030e,
|
|
kD2257_PWRONOFF_LDO5_EN = 0x030f,
|
|
kD2257_PWRONOFF_LDO6_EN = 0x0310,
|
|
kD2257_PWRONOFF_LDO7_EN = 0x0311,
|
|
kD2257_PWRONOFF_LDO8_EN = 0x0312,
|
|
kD2257_PWRONOFF_LDO9_EN = 0x0313,
|
|
kD2257_PWRONOFF_LDO10_EN = 0x0314,
|
|
kD2257_PWRONOFF_LDO11_EN = 0x0315,
|
|
kD2257_PWRONOFF_LDO13_EN = 0x0316,
|
|
kD2257_PWRONOFF_LDO14_EN = 0x0317,
|
|
kD2257_PWRONOFF_LDO15_EN = 0x0318,
|
|
kD2257_PWRONOFF_LDO16_EN = 0x0319,
|
|
|
|
kD2257_PWRONOFF_LCM_BST_SW_EN = 0x031a,
|
|
kD2257_PWRONOFF_LCM_BST_EN = 0x031b,
|
|
kD2257_PWRONOFF_LCM_LDO1_EN = 0x031c,
|
|
kD2257_PWRONOFF_LCM_LDO2_EN = 0x031d,
|
|
|
|
kD2257_PWRONOFF_CP_EN = 0x031e,
|
|
|
|
kD2257_PWRONOFF_BUCK3_SW1_EN = 0x031f,
|
|
kD2257_PWRONOFF_BUCK3_SW2_EN = 0x0320,
|
|
kD2257_PWRONOFF_BUCK3_SW3_EN = 0x0321,
|
|
kD2257_PWRONOFF_BUCK4_SW1_EN = 0x0322,
|
|
kD2257_PWRONOFF_BUCK4_SW2_EN = 0x0323,
|
|
|
|
kD2257_PWRONOFF_GPIO_32K_EN = 0x0324,
|
|
kD2257_PWRONOFF_OUT_32K_EN = 0x0325,
|
|
kD2257_PWRONOFF_SLEEP_32K_EN = 0x0326,
|
|
kD2257_PWRONOFF_NRESET_EN = 0x0327,
|
|
kD2257_PWRONOFF_SYS_ALIVE_EN = 0x0328,
|
|
kD2257_PWRONOFF_PRE_UVLO_EN = 0x0329,
|
|
|
|
kDIALOG_PWRONOFF_WLEDA_EN = kD2257_PWRONOFF_WLEDA_EN,
|
|
kDIALOG_PWRONOFF_WLEDB_EN = kD2257_PWRONOFF_WLEDB_EN
|
|
};
|
|
|
|
// ---------------------------------
|
|
// Main FSM, MFSM Events
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_MFSM_CTRL = 0x0400,
|
|
kD2257_ACT_TO_SLEEP3_DLY = 0x0401,
|
|
kD2257_ACT_TO_OFF_DLY = 0x0402,
|
|
kD2257_OFF_TIMER_DLY = 0x0403,
|
|
kD2257_SLEEP3_TIMER_DLY = 0x0404,
|
|
kD2257_MFSM_CONF1 = 0x0460,
|
|
|
|
kD2257_MFSM_CTRL_PERF_FLOOR_OFF = (0<<2),
|
|
kD2257_MFSM_CTRL_PERF_FLOOR_SLEEP3 = (1<<2),
|
|
kD2257_MFSM_CTRL_PERF_FLOOR_SLEEP2 = (2<<2),
|
|
kD2257_MFSM_CTRL_PERF_FLOOR_ACTIVE = (3<<2),
|
|
kD2257_MFSM_CTRL_FORCE_SLEEP3 = (1<<1),
|
|
kD2257_MFSM_CTRL_FORCE_OFF = (1<<0),
|
|
|
|
kDIALOG_SYS_CONTROL_PERF_FLOOR_OFF = kD2257_MFSM_CTRL_PERF_FLOOR_OFF,
|
|
kDIALOG_SYS_CONTROL_PERF_FLOOR_SLEEP3 = kD2257_MFSM_CTRL_PERF_FLOOR_SLEEP3,
|
|
kDIALOG_SYS_CONTROL_PERF_FLOOR_SLEEP2 = kD2257_MFSM_CTRL_PERF_FLOOR_SLEEP2,
|
|
kDIALOG_SYS_CONTROL_PERF_FLOOR_ACTIVE = kD2257_MFSM_CTRL_PERF_FLOOR_ACTIVE,
|
|
kDIALOG_SYS_CONTROL_PERF_FLOOR_MASK = (0x3<<2),
|
|
|
|
kDIALOG_SYS_CONTROL_HIBERNATE = kD2257_MFSM_CTRL_FORCE_SLEEP3,
|
|
kDIALOG_SYS_CONTROL_STANDBY = kD2257_MFSM_CTRL_FORCE_OFF,
|
|
// TODO: verify this
|
|
kDIALOG_SYS_CONTROL_HIBERNATE_ALWAYS = kDIALOG_SYS_CONTROL_HIBERNATE,
|
|
|
|
kDIALOG_SYS_CONTROL = kD2257_MFSM_CTRL,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// RTC Calendar and Clock, Events
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kDIALOG_RTC_CONTROL = 0x0500,
|
|
kDIALOG_RTC_TIMEZONE = 0x0501,
|
|
kDIALOG_RTC_SUB_SECOND_A = 0x0502,
|
|
kDIALOG_RTC_SUB_SECOND_B = 0x0503,
|
|
kDIALOG_RTC_SECOND_A = 0x0504,
|
|
kDIALOG_RTC_SECOND_B = 0x0505,
|
|
kDIALOG_RTC_SECOND_C = 0x0506,
|
|
kDIALOG_RTC_SECOND_D = 0x0507,
|
|
kDIALOG_RTC_ALARM_A = 0x0508,
|
|
kDIALOG_RTC_ALARM_B = 0x0509,
|
|
kDIALOG_RTC_ALARM_C = 0x050a,
|
|
kDIALOG_RTC_ALARM_D = 0x050b,
|
|
|
|
// Events. Status. Mask in Virtual
|
|
// kD2255_RTC_EVENT = 0x05c0,
|
|
// kD2255_RTC_STATUS = 0x05c1,
|
|
// kD2255_RTC_IRQ_MASK = 0x05c2,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// SPI Interface
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_SPI_CTRL = 0x0600, // global enable
|
|
kD2257_EN_CMD0 = 0x0601, // buck#_spi_en
|
|
kD2257_EN_CMD1 = 0x0602,
|
|
kD2257_EN_CMD2 = 0x0603, // wled spi access enable
|
|
kD2257_EN_CMD3 = 0x0604, // buck#_spi_dis_master
|
|
kD2257_EN_CMD4 = 0x0605,
|
|
kD2257_SPI_CONFIG = 0x0660,
|
|
|
|
// set when PMU_HAS_SPI
|
|
kDIALOG_SPI_CONTROL = kD2257_SPI_CTRL,
|
|
kDIALOG_SPI_CONTROL_SPI_EN = 1,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// Clock Generation
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_SYS_CTRL_CONF0 = 0x0700,
|
|
kD2257_SYS_CTRL_CONF1 = 0x0760,
|
|
kD2257_RTC_CTRL0 = 0x0761,
|
|
kD2257_RTC_CTRL1 = 0x0762,
|
|
kD2257_RTC_CTRL2 = 0x0763,
|
|
kD2257_OSC_CTRL0 = 0x0764,
|
|
kD2257_INT_OSC_TRIM = 0x0765,
|
|
kD2257_CLK_REQ_FRC = 0x0766,
|
|
kD2257_BG_CTRL = 0x0767,
|
|
|
|
kD2257_CKLGEN_EVENT = 0x07c0,
|
|
kD2257_CKLGEN_STATUS = 0x07c1,
|
|
kD2257_CKLGEN_IRQ_MASK = 0x07c2,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// WLED
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_WLED_ISET_LSB = 0x0b00,
|
|
kD2257_WLED_ISET_MSB = 0x0b01,
|
|
kD2257_WLED_PWM_LSB = 0x0b02,
|
|
kD2257_WLED_PWM_MSB = 0x0b03,
|
|
kD2257_WLED_CTRL1 = 0x0b04,
|
|
kD2257_WLED_CTRL2 = 0x0b05,
|
|
kD2257_WLED_CTRL3 = 0x0b06,
|
|
kD2257_WLED_CTRL4 = 0x0b07,
|
|
kD2257_WLED_CTRL4A = 0x0b08,
|
|
kD2257_WLED_CTRL5 = 0x0b09,
|
|
kD2257_WLED_CTRL6 = 0x0b0a,
|
|
|
|
kDIALOG_WLED_ISET = kD2257_WLED_ISET_MSB,
|
|
kDIALOG_WLED_ISET2 = kD2257_WLED_ISET_LSB,
|
|
kDIALOG_WLED_CONTROL = kD2257_WLED_CTRL1,
|
|
kDIALOG_WLED_CONTROL1 = kD2257_WLED_CTRL1,
|
|
kDIALOG_WLED_CONTROL2 = kD2257_WLED_CTRL2,
|
|
kDIALOG_WLED_DWI_CONTROL= kD2257_WLED_CTRL2,
|
|
kDIALOG_WLED_OPTIONS = kD2257_WLED_CTRL2,
|
|
};
|
|
|
|
enum {
|
|
kDIALOG_WLED_CONTROL_WLED_ENABLE1 = (1 << 0),
|
|
kDIALOG_WLED_CONTROL_WLED_ENABLE2 = (1 << 1),
|
|
kDIALOG_WLED_CONTROL_WLED_ENABLE3 = (1 << 2),
|
|
kDIALOG_WLED_CONTROL_WLED_ENABLE4 = (1 << 3),
|
|
kDIALOG_WLED_CONTROL_WLED_ENABLE5 = (1 << 4),
|
|
kDIALOG_WLED_CONTROL_WLED_ENABLE6 = (1 << 5),
|
|
};
|
|
|
|
enum {
|
|
kDIALOG_WLED_CONTROL2_WLED_DITH_RAMP_EN = (1 << 3),
|
|
kDIALOG_WLED_CONTROL2_WLED_DITH_EN = (1 << 2),
|
|
kDIALOG_WLED_CONTROL2_WLED_DWI_EN = (1 << 1),
|
|
kDIALOG_WLED_CONTROL2_WLED_RAMP_EN = (1 << 0),
|
|
|
|
kDIALOG_WLED_CONTROL_WLED_DWI_EN = kDIALOG_WLED_CONTROL2_WLED_DWI_EN,
|
|
|
|
kDIALOG_WLED_OPTIONS_DEFAULT = kDIALOG_WLED_CONTROL2_WLED_DITH_EN,
|
|
kDIALOG_WLED_OPTIONS_xWI_EN = kDIALOG_WLED_CONTROL2_WLED_DWI_EN,
|
|
kDIALOG_WLED_OPTIONS_MASK = (kDIALOG_WLED_CONTROL2_WLED_RAMP_EN|
|
|
kDIALOG_WLED_CONTROL2_WLED_DITH_EN|
|
|
kDIALOG_WLED_CONTROL2_WLED_DITH_RAMP_EN),
|
|
};
|
|
|
|
#define WLED_ISET_BITS 11
|
|
|
|
// ---------------------------------
|
|
// GPIO configuration
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_GPIO1_CONF1 = 0x0900,
|
|
kD2257_GPIO1_CONF2 = 0x0901,
|
|
kD2257_GPIO2_CONF1,
|
|
kD2257_GPIO2_CONF2,
|
|
kD2257_GPIO3_CONF1,
|
|
kD2257_GPIO3_CONF2,
|
|
kD2257_GPIO4_CONF1,
|
|
kD2257_GPIO4_CONF2,
|
|
kD2257_GPIO5_CONF1,
|
|
kD2257_GPIO5_CONF2,
|
|
kD2257_GPIO6_CONF1,
|
|
kD2257_GPIO6_CONF2,
|
|
kD2257_GPIO7_CONF1,
|
|
kD2257_GPIO7_CONF2,
|
|
kD2257_GPIO8_CONF1,
|
|
kD2257_GPIO8_CONF2,
|
|
kD2257_GPIO9_CONF1,
|
|
kD2257_GPIO9_CONF2,
|
|
kD2257_GPIO10_CONF1,
|
|
kD2257_GPIO10_CONF2,
|
|
kD2257_GPIO11_CONF1,
|
|
kD2257_GPIO11_CONF2,
|
|
kD2257_GPIO12_CONF1,
|
|
kD2257_GPIO12_CONF2,
|
|
kD2257_GPIO13_CONF1,
|
|
kD2257_GPIO13_CONF2,
|
|
kD2257_GPIO14_CONF1,
|
|
kD2257_GPIO14_CONF2,
|
|
kD2257_GPIO15_CONF1,
|
|
kD2257_GPIO15_CONF2,
|
|
kD2257_GPIO16_CONF1,
|
|
kD2257_GPIO16_CONF2,
|
|
kD2257_GPIO17_CONF1,
|
|
kD2257_GPIO17_CONF2,
|
|
kD2257_GPIO18_CONF1,
|
|
kD2257_GPIO18_CONF2,
|
|
kD2257_GPIO19_CONF1_SLP1 = 0x0924,
|
|
kD2257_GPIO19_CONF1_SLP2,
|
|
kD2257_GPIO19_CONF1_SLP3,
|
|
kD2257_GPIO19_CONF1_OFF,
|
|
kD2257_GPIO19_CONF1,
|
|
kD2257_GPIO19_CONF2,
|
|
kD2257_GPIO20_CONF1_SLP1 = 0x092A,
|
|
kD2257_GPIO20_CONF1_SLP2,
|
|
kD2257_GPIO20_CONF1_SLP3,
|
|
kD2257_GPIO20_CONF1_OFF,
|
|
kD2257_GPIO20_CONF1,
|
|
kD2257_GPIO20_CONF2,
|
|
kD2257_GPIO21_CONF1_SLP1 = 0x0930,
|
|
kD2257_GPIO21_CONF1_SLP2,
|
|
kD2257_GPIO21_CONF1_SLP3,
|
|
kD2257_GPIO21_CONF1_OFF,
|
|
kD2257_GPIO21_CONF1,
|
|
kD2257_GPIO21_CONF2,
|
|
kD2257_GPIO22_CONF1_SLP1 = 0x0936,
|
|
kD2257_GPIO22_CONF1_SLP2,
|
|
kD2257_GPIO22_CONF1_SLP3,
|
|
kD2257_GPIO22_CONF1_OFF,
|
|
kD2257_GPIO22_CONF1,
|
|
kD2257_GPIO22_CONF2,
|
|
kDIALOG_SYS_GPIO_REG_START = kD2257_GPIO1_CONF1,
|
|
|
|
// until GPIO21_CONF1, GPIO21_CONF2 ... kDIALOG_GPIO_COUNT gpios
|
|
|
|
kD2257_OUT_32K = 0x093c,
|
|
kD2257_SLEEP_32K = 0x093d,
|
|
kD2257_ACTIVE_RDY = 0x093e,
|
|
kD2257_SLEEP1_RDY = 0x093f,
|
|
|
|
// GPI Control
|
|
kD2257_BUTTON1_CONF = 0x0960,
|
|
kD2257_BUTTON2_CONF = 0x0961,
|
|
kD2257_BUTTON3_CONF = 0x0962,
|
|
kD2257_BUTTON4_CONF = 0x0963,
|
|
kD2257_BUTTON_DBL = 0x0964,
|
|
kD2257_BUTTON_WAKE = 0x0965,
|
|
|
|
kD2257_RESET_IN1_CONF1 = 0x0966,
|
|
kD2257_RESET_IN1_CONF2 = 0x0967,
|
|
kD2257_RESET_IN2_CONF1 = 0x0968,
|
|
kD2257_RESET_IN2_CONF2 = 0x0969,
|
|
kD2257_RESET_IN3_CONF1 = 0x096a,
|
|
kD2257_RESET_IN3_CONF2 = 0x096b,
|
|
|
|
kDIALOG_BUTTON_DBL = kD2257_BUTTON_DBL,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// Event,Status,IRQ Control
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_IO_EVENT_A = 0x09c0,
|
|
kD2257_IO_EVENT_B = 0x09c1,
|
|
kD2257_IO_EVENT_C = 0x09c2,
|
|
kD2257_IO_EVENT_D = 0x09c3,
|
|
|
|
kD2257_IO_STATUS_A = 0x09c4,
|
|
kD2257_IO_STATUS_B = 0x09c5,
|
|
kD2257_IO_STATUS_C = 0x09c6,
|
|
kD2257_IO_STATUS_D = 0x09c7,
|
|
|
|
kD2257_IO_IRQ_MASK_A = 0x09c8,
|
|
kD2257_IO_IRQ_MASK_B = 0x09c9,
|
|
kD2257_IO_IRQ_MASK_C = 0x09ca,
|
|
kD2257_IO_IRQ_MASK_D = 0x09cb,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// Charger / Charging Control
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_CHG_CONTROL = 0xa00,
|
|
kD2257_SYS_CONF_B = 0xa01,
|
|
kD2257_SYS_CONF_D = 0xa02,
|
|
|
|
kD2257_ISET_BUCK = 0x0a03,
|
|
kD2257_ISET_BUCK_SHADOW = 0x0a04,
|
|
kD2257_ISET_BUCK_ABSMAX = 0x0a05,
|
|
kD2257_ISET_BUCK_ACTUAL = 0x0a06,
|
|
kD2257_ISET_BUCK_ALT = 0x0a07,
|
|
kD2257_ICHG_BAT = 0x0a08,
|
|
|
|
kD2257_CHG_CTRL_A = 0x0a0a,
|
|
kD2257_CHG_CTRL_B = 0x0a0b,
|
|
kD2257_CHG_CTRL_C = 0x0a0c,
|
|
kD2257_CHG_CTRL_D = 0x0a0d,
|
|
kD2257_CHG_CTRL_E = 0x0a0e,
|
|
kD2257_CHG_CTRL_F = 0x0a0f,
|
|
kD2257_CHG_CTRL_G = 0x0a10,
|
|
kD2257_CHG_CTRL_H = 0x0a11,
|
|
kD2257_CHG_TIME = 0x0a12,
|
|
kD2257_CHG_TIME_PRE = 0x0a13,
|
|
kD2257_CHG_STAT = 0x0a14,
|
|
|
|
// kD2207_CHG_VSET_TRIM = 0x04d0,
|
|
// kD2207_IBUS_GAIN_TRIM = 0x04d2,
|
|
// kD2207_IBUS100_OFS_TRIM = 0x04d3,
|
|
// kD2207_IBUS500_OFS_TRIM = 0x04d4,
|
|
// kD2207_IBUS1500_GAIN_TRIM= 0x04d5,
|
|
// kD2207_IBUS1500_OFS_TRIM= 0x04d6,
|
|
|
|
kDIALOG_SYS_CONTROL_BAT_PWR_SUSPEND = (1 << 1),
|
|
kDIALOG_SYS_CONTROL_BUS_PWR_SUSPEND = (1 << 0),
|
|
kDIALOG_SYS_CONTROL_CHRG_CONTROLS = kDIALOG_SYS_CONTROL_BAT_PWR_SUSPEND
|
|
| kDIALOG_SYS_CONTROL_BUS_PWR_SUSPEND,
|
|
|
|
kDIALOG_CHARGE_BUCK_CONTROL = kD2257_ISET_BUCK,
|
|
kDIALOG_CHARGE_BUCK_STATUS = kD2257_ISET_BUCK_ACTUAL,
|
|
kDIALOG_CHARGE_STATUS = kD2257_CHG_STAT,
|
|
|
|
kDIALOG_CHARGE_CONTROL_ICHG_BAT = kD2257_ICHG_BAT,
|
|
kDIALOG_CHARGE_CONTROL_HIB = kD2257_CHG_CTRL_B,
|
|
kDIALOG_CHARGE_CONTROL_TIME = kD2257_CHG_CTRL_D,
|
|
kDIALOG_CHARGE_CONTROL_EN = kD2257_CHG_CTRL_G,
|
|
kDIALOG_OTP_ISET_BAT = kD2257_CHG_CTRL_C,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// IPEAK
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_IPK_UV_BUCK1_IPEAK_ANA_CONF_2 = 0x0f87,
|
|
kD2257_IPK_UV_BUCK1_UV_DIG_CONF_1 = 0x0f8a,
|
|
kD2257_IPK_UV_BUCK1_UV_EN_THR = 0x0f8c,
|
|
kD2257_IPK_UV_BUCK1_UV_ANA_CONF_1 = 0x0f8d,
|
|
kD2257_IPK_UV_BUCK1_UV_OFFSET = 0x0f8e,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// Buck control
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_BUCK0_FAST_VSEL = 0x1000,
|
|
kD2257_BUCK0_VSEL = 0x1001,
|
|
kD2257_BUCK0_FAST_VSEL_EN = 0x1002,
|
|
kD2257_BUCK0_VSEL_ACTUAL = 0x1005,
|
|
kD2257_BUCK0_VSEL_LOCK = 0x1006,
|
|
kD2257_BUCK0_MINV,
|
|
kD2257_BUCK0_MAXV,
|
|
kD2257_BUCK0_OFS_V,
|
|
kD2257_BUCK0_MODE = 0x100a,
|
|
kD2257_BUCK0_FSM_TRIM6 = 0x1067,
|
|
kD2257_BUCK0_FSM_TRIM7 = 0x1068,
|
|
|
|
kD2257_BUCK1_FAST_VSEL = 0x1100,
|
|
kD2257_BUCK1_VSEL = 0x1101,
|
|
kD2257_BUCK1_FSM_TRIM6 = 0x1167,
|
|
kD2257_BUCK1_FSM_TRIM7 = 0x1168,
|
|
|
|
kD2257_BUCK2_FAST_VSEL = 0x1200,
|
|
kD2257_BUCK2_VSEL = 0x1201,
|
|
kD2257_BUCK2_FSM_TRIM6 = 0x1267,
|
|
kD2257_BUCK2_FSM_TRIM7 = 0x1268,
|
|
|
|
kD2257_BUCK3_FAST_VSEL = 0x1300,
|
|
kD2257_BUCK3_VSEL = 0x1301,
|
|
kD2257_BUCK3_FSM_TRIM6 = 0x1367,
|
|
kD2257_BUCK3_FSM_TRIM7 = 0x1368,
|
|
|
|
kD2257_BUCK4_FAST_VSEL = 0x1400,
|
|
kD2257_BUCK4_VSEL = 0x1401,
|
|
kD2257_BUCK4_FSM_TRIM6 = 0x1467,
|
|
kD2257_BUCK4_FSM_TRIM7 = 0x1468,
|
|
|
|
kD2257_BUCK5_FAST_VSEL = 0x1500,
|
|
kD2257_BUCK5_VSEL = 0x1501,
|
|
kD2257_BUCK5_FSM_TRIM6 = 0x1567,
|
|
kD2257_BUCK5_FSM_TRIM7 = 0x1568,
|
|
|
|
kD2257_BUCK6_FAST_VSEL = 0x1600,
|
|
kD2257_BUCK6_VSEL = 0x1601,
|
|
kD2257_BUCK6_FSM_TRIM6 = 0x1667,
|
|
kD2257_BUCK6_FSM_TRIM7 = 0x1668,
|
|
|
|
kD2257_BUCK7_FAST_VSEL = 0x1700,
|
|
kD2257_BUCK7_VSEL = 0x1701,
|
|
kD2257_BUCK7_FSM_TRIM6 = 0x1767,
|
|
kD2257_BUCK7_FSM_TRIM7 = 0x1768,
|
|
|
|
kD2257_BUCK8_FAST_VSEL = 0x1800,
|
|
kD2257_BUCK8_VSEL = 0x1801,
|
|
kD2257_BUCK8_FSM_TRIM6 = 0x1867,
|
|
kD2257_BUCK8_FSM_TRIM7 = 0x1868,
|
|
|
|
// LDO control...
|
|
kD2257_LDO1_VSEL = 0x2100,
|
|
kD2257_LDO1_VSEL_ACTUAL = 0x2101,
|
|
kD2257_LDO1_MINV = 0x2160,
|
|
kD2257_LDO1_MAXV = 0x2161,
|
|
kD2257_LDO1_UOV_LIM_EN_VOUT_PD= 0x2163,
|
|
|
|
kD2257_LDO2_VSEL = 0x2200,
|
|
kD2257_LDO2_VSEL_ACTUAL = 0x2201,
|
|
kD2257_LDO2_BYPASS = 0x2202,
|
|
kD2257_LDO2_MINV = 0x2260,
|
|
kD2257_LDO2_MAXV = 0x2261,
|
|
|
|
kD2257_LDO3_VSEL = 0x2300,
|
|
kD2257_LDO3_VSEL_ACTUAL = 0x2301,
|
|
kD2257_LDO3_MINV = 0x2360,
|
|
kD2257_LDO3_MAXV = 0x2361,
|
|
|
|
kD2257_LDO4_VSEL = 0x2400,
|
|
kD2257_LDO4_VSEL_ACTUAL = 0x2401,
|
|
kD2257_LDO4_MINV = 0x2460,
|
|
kD2257_LDO4_MAXV = 0x2461,
|
|
|
|
kD2257_LDO5_VSEL = 0x2500,
|
|
kD2257_LDO5_VSEL_ACTUAL = 0x2501,
|
|
kD2257_LDO5_MINV = 0x2560,
|
|
kD2257_LDO5_MAXV = 0x2561,
|
|
|
|
kD2257_LDO6_VSEL = 0x2600,
|
|
kD2257_LDO6_VSEL_ACTUAL = 0x2601,
|
|
kD2257_LDO6_BYPASS = 0x2602,
|
|
kD2257_LDO6_MINV = 0x2660,
|
|
kD2257_LDO6_MAXV = 0x2661,
|
|
|
|
kD2257_LDO7_VSEL = 0x2700,
|
|
kD2257_LDO7_VSEL_ACTUAL = 0x2701,
|
|
kD2257_LDO7_MINV = 0x2760,
|
|
kD2257_LDO7_MAXV = 0x2761,
|
|
kD2257_LDO7_SOFT_STARTUP = 0x2764,
|
|
|
|
kD2257_LDO8_VSEL = 0x2800,
|
|
kD2257_LDO8_VSEL_ACTUAL = 0x2801,
|
|
kD2257_LDO8_MINV = 0x2860,
|
|
kD2257_LDO8_MAXV = 0x2861,
|
|
|
|
kD2257_LDO9_VSEL = 0x2900,
|
|
kD2257_LDO9_VSEL_ACTUAL = 0x2901,
|
|
kD2257_LDO9_MINV = 0x2960,
|
|
kD2257_LDO9_MAXV = 0x2961,
|
|
kD2257_LDO9_TRIM = 0x2962,
|
|
|
|
kD2257_LDO10_VSEL = 0x2A00,
|
|
kD2257_LDO10_VSEL_ACTUAL = 0x2A01,
|
|
kD2257_LDO10_MINV = 0x2A60,
|
|
kD2257_LDO10_MAXV = 0x2A61,
|
|
kD2257_LDO10_TRIM = 0x2A62,
|
|
|
|
kD2257_LDO11_VSEL = 0x2B00,
|
|
kD2257_LDO11_VSEL_ACTUAL = 0x2B01,
|
|
kD2257_LDO11_MINV = 0x2B60,
|
|
kD2257_LDO11_MAXV = 0x2B61,
|
|
kD2257_LDO11_TRIM = 0x2B62,
|
|
|
|
kD2257_LDO12_TRIM = 0x2C62,
|
|
|
|
kD2257_LDO13_VSEL = 0x2D00,
|
|
kD2257_LDO13_VSEL_ACTUAL = 0x2D01,
|
|
kD2257_LDO13_MINV = 0x2D60,
|
|
kD2257_LDO13_MAXV = 0x2D61,
|
|
kD2257_LDO13_TRIM = 0x2D62,
|
|
|
|
kD2257_LDO14_VSEL = 0x2E00,
|
|
kD2257_LDO14_VSEL_ACTUAL = 0x2E01,
|
|
kD2257_LDO14_MINV = 0x2E60,
|
|
kD2257_LDO14_MAXV = 0x2E61,
|
|
kD2257_LDO14_TRIM = 0x2E62,
|
|
|
|
kD2257_LDO15_VSEL = 0x2F00,
|
|
kD2257_LDO15_VSEL_ACTUAL = 0x2F01,
|
|
kD2257_LDO15_BYPASS = 0x2F02,
|
|
kD2257_LDO15_MINV = 0x2F60,
|
|
kD2257_LDO15_MAXV = 0x2F61,
|
|
kD2257_LDO15_TRIM = 0x2F62,
|
|
|
|
kD2257_LDO16_VSEL = 0x3000,
|
|
kD2257_LDO16_VSEL_ACTUAL = 0x3001,
|
|
kD2257_LDO16_MINV = 0x3060,
|
|
kD2257_LDO16_MAXV = 0x3061,
|
|
kD2257_LDO16_TRIM = 0x3062,
|
|
|
|
kD2257_LDO_LCM_LDO1_VSEL = 0x3200,
|
|
kD2257_LDO_LCM_LDO1_VSEL_ACTUAL = 0x3201,
|
|
|
|
kD2257_LDO_LCM_LDO2_VSEL = 0x3300,
|
|
kD2257_LDO_LCM_LDO2_VSEL_ACTUAL = 0x3301,
|
|
|
|
kD2257_LDO_LCM_BOOST_VSEL = 0x3700,
|
|
kD2257_LDO_LCM_BOOST_VSEL_ACTUAL = 0x3701,
|
|
kD2257_LDO_LCM_BOOST_VSEL_MINV = 0x3760,
|
|
kD2257_LDO_LCM_BOOST_VSEL_MAXV = 0x3761,
|
|
kD2257_LDO_LCM_BOOST_CONF = 0x3762,
|
|
|
|
kD2257_LDO_EVENT = 0x3FC0,
|
|
kD2257_LDO_STATUS = 0x3FC1,
|
|
kD2257_LDO_IRQ_MASK = 0x3FC2,
|
|
|
|
kDIALOG_BYPASS_EN = 1,
|
|
kDIALOG_BYPASS_DIS = 0,
|
|
};
|
|
|
|
// ---------------------------------
|
|
// GPADC control
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
kD2257_GPADC_MAN_CTRL1 = 0x4000, // Channel 0..253 (0xfd)
|
|
kD2257_GPADC_MAN_CTRL1_MASK = 0xff,
|
|
kD2257_GPADC_MAN1_RES_LSB = 0x4001,
|
|
kD2257_GPADC_MAN1_RES_MSB = 0x4002,
|
|
|
|
kD2257_GPADC_MAN_CTRL2 = 0x4004, // Channel 0..127 (0x7f)
|
|
kD2257_GPADC_MAN_CTRL2_MASK = 0x7F,
|
|
kD2257_GPADC_MAN2_RES_LSB = 0x4005,
|
|
kD2257_GPADC_MAN2_RES_MSB = 0x4006,
|
|
|
|
kD2257_GPADC_ICHG_AVG = 0x40f8,
|
|
// mapped on (kADC_AVG|kD2257_ADC_CONTROL_MUX_SEL_ICH_ADC_CH) known as kDIALOG_ICHG_AVG
|
|
|
|
kD2257_GPADC_TDIE1_RISE = 0x413c,
|
|
// ..
|
|
kD2257_GPADC_TDIE9_RISE = 0x4147,
|
|
|
|
kDIALOG_T_OFFSET_MSB = 0x4148,
|
|
kDIALOG_T_OFFSET_LSB = 0x4149, // [0-3]
|
|
|
|
kD2257_GPADC_EVENT0 = 0x4180,
|
|
kD2257_GPADC_EVENT1 = 0x4181,
|
|
kD2257_GPADC_STATUS0 = 0x4187,
|
|
kD2257_GPADC_STATUS1 = 0x4188,
|
|
};
|
|
|
|
enum {
|
|
kDIALOG_APP_TMUX = kD2257_APP_TMUX,
|
|
#if 0
|
|
kDIALOG_BIST_ADC_CTRL = 0x0541,
|
|
kDIALOG_BIST_ADC_LSB = 0x0542,
|
|
kDIALOG_BIST_ADC_MSB = 0x0543,
|
|
kD2186_BIST_ADC_TRIM1 = 0x0545,
|
|
kD2186_BIST_ADC_ANA_TRIM0 = 0x0546,
|
|
|
|
kD2186_SPARE_RW0 = 0x0680,
|
|
kD2186_SPARE_RW_LAST = 0x0687,
|
|
kD2186_SPARE_RWTOTP0 = 0x06a0,
|
|
kD2186_SPARE_RWTOTP_LAST = 0x06a7,
|
|
kD2186_SPARE_RWOTP0 = 0x06c0,
|
|
kD2186_SPARE_RWOTP1 = 0x06c1,
|
|
#endif
|
|
};
|
|
|
|
// ---------------------------------
|
|
// RAM/TEST/SCRATCH
|
|
// ---------------------------------
|
|
|
|
enum {
|
|
// Legacy Scratch Pads
|
|
kDIALOG_MEMBYTE0 = 0x5000,
|
|
kDIALOG_MEMBYTE_LAST = 0x5027,
|
|
|
|
kDIALOG_TEST_ACCESS = 0x7000,
|
|
kDIALOG_TEST_ACCESS_ENA = 0x1D,
|
|
kDIALOG_TEST_ACCESS_DIS = 0x00,
|
|
|
|
// Scratch Pad RAM
|
|
kDIALOG_RAM0 = 0x8000,
|
|
kDIALOG_RAM_LAST = 0x87ff,
|
|
|
|
kDIALOG_EXT_MEM_CAL0_SIZE = 64,
|
|
kDIALOG_GAP_SCRATCH8_SIZE = 8, // ex diags, free now
|
|
kDIALOG_EXT_MEM_CAL1_SIZE = 336,
|
|
kDIALOG_VOLTAGE_KNOBS_SIZE = 32,
|
|
kDIALOG_EXT_MEM_CAL2_SIZE = 400, // <rdar://problem/14960891>
|
|
// ...
|
|
kDIALOG_DIAG_SCRATCH_SIZE = 32,
|
|
|
|
kDIALOG_EXT_MEM_CAL0 = kDIALOG_RAM0,
|
|
kDIALOG_EXT_MEM_CAL1 = kDIALOG_EXT_MEM_CAL0+kDIALOG_EXT_MEM_CAL0_SIZE+kDIALOG_GAP_SCRATCH8_SIZE,
|
|
kDIALOG_VOLTAGE_KNOBS = kDIALOG_EXT_MEM_CAL1+kDIALOG_EXT_MEM_CAL1_SIZE,
|
|
kDIALOG_EXT_MEM_CAL2 = kDIALOG_VOLTAGE_KNOBS+kDIALOG_VOLTAGE_KNOBS_SIZE,
|
|
// reserved, future
|
|
kDIALOG_DIAG_SCRATCH = 0x87e0,
|
|
|
|
// handy
|
|
kDIALOG_EXT_MEM_CAL_SIZE = kDIALOG_EXT_MEM_CAL0_SIZE+kDIALOG_EXT_MEM_CAL1_SIZE+kDIALOG_EXT_MEM_CAL2_SIZE,
|
|
};
|
|
|
|
#if 0
|
|
// TODO: Synthetic Accumulator Registers
|
|
enum {
|
|
kDIALOG_ACCUMULATOR_SEL_COUNT = 2,
|
|
kDIALOG_IBUS_ACCUMULATOR = 0,
|
|
kDIALOG_VBUS_ACCUMULATOR = 1,
|
|
};
|
|
#endif
|
|
|
|
enum {
|
|
// Event Registers
|
|
|
|
// 0: SYSCTL_EVENT
|
|
kD2257_EVENT_HIGH_TEMP_WARNING = (1 << 0),
|
|
// 1: MFSM_EVENT
|
|
// 2: RTC_EVENT
|
|
kD2257_EVENT_ALARM = (1 << 0),
|
|
// 3: SPI_EVENT
|
|
// 4: CLKGEN_EVENT
|
|
// 5: IO_EVENT_A
|
|
kD2257_EVENT_A_BUTTON4_DBL = (1 << 7),
|
|
kD2257_EVENT_A_BUTTON3_DBL = (1 << 6),
|
|
kD2257_EVENT_A_BUTTON2_DBL = (1 << 5),
|
|
kD2257_EVENT_A_BUTTON1_DBL = (1 << 4),
|
|
kD2257_EVENT_A_BUTTON4 = (1 << 3),
|
|
kD2257_EVENT_A_BUTTON3 = (1 << 2),
|
|
kD2257_EVENT_A_BUTTON2 = (1 << 1),
|
|
kD2257_EVENT_A_BUTTON1 = (1 << 0),
|
|
// 6: IO_EVENT_B
|
|
kD2257_EVENT_B_GPIO8 = (1 << 7),
|
|
kD2257_EVENT_B_GPIO7 = (1 << 6),
|
|
kD2257_EVENT_B_GPIO6 = (1 << 5),
|
|
kD2257_EVENT_B_GPIO5 = (1 << 4),
|
|
kD2257_EVENT_B_GPIO4 = (1 << 3),
|
|
kD2257_EVENT_B_GPIO3 = (1 << 2),
|
|
kD2257_EVENT_B_GPIO2 = (1 << 1),
|
|
kD2257_EVENT_B_GPIO1 = (1 << 0),
|
|
// 7: IO_EVENT_C
|
|
kD2257_EVENT_C_GPIO16 = (1 << 7),
|
|
kD2257_EVENT_C_GPIO15 = (1 << 6),
|
|
kD2257_EVENT_C_GPIO14 = (1 << 5),
|
|
kD2257_EVENT_C_GPIO13 = (1 << 4),
|
|
kD2257_EVENT_C_GPIO12 = (1 << 3),
|
|
kD2257_EVENT_C_GPIO11 = (1 << 2),
|
|
kD2257_EVENT_C_GPIO10 = (1 << 1),
|
|
kD2257_EVENT_C_GPIO9 = (1 << 0),
|
|
// 8: IO_EVENT_D
|
|
kD2257_EVENT_D_GPIO22 = (1 << 5),
|
|
kD2257_EVENT_D_GPIO21 = (1 << 4),
|
|
kD2257_EVENT_D_GPIO20 = (1 << 3),
|
|
kD2257_EVENT_D_GPIO19 = (1 << 2),
|
|
kD2257_EVENT_D_GPIO18 = (1 << 1),
|
|
kD2257_EVENT_D_GPIO17 = (1 << 0),
|
|
// 9: CHG_EVENT_T1
|
|
kD2257_EVENT_CHG1_VBUS_OV = (1 << 6),
|
|
kD2257_EVENT_CHG1_VBUS_OC = (1 << 5),
|
|
kD2257_EVENT_CHG1_VBUS_EXT_REM = (1 << 4),
|
|
kD2257_EVENT_CHG1_CHG_HV_ATT = (1 << 3),
|
|
kD2257_EVENT_CHG1_VBUS_EXT_DET = (1 << 1),
|
|
kD2257_EVENT_CHG1_VCENTER_DET = (1 << 0),
|
|
// 0xa: CHG_EVENT_T2
|
|
kD2257_EVENT_CHG2_BUCK_FLG = (1<<6),
|
|
kD2257_EVENT_CHG2_ABCC_ACT = (1<<5),
|
|
kD2257_EVENT_CHG2_TIMEOUT = (1<<4),
|
|
kD2257_EVENT_CHG2_PRECHG_TIMEOUT= (1<<3),
|
|
kD2257_EVENT_CHG2_CHG_END = (1<<2),
|
|
kD2257_EVENT_CHG2_CHG_FAST = (1<<1),
|
|
kD2257_EVENT_CHG2_CHG_PRE = (1<<0),
|
|
// 0x17, GPADC_EVENT0
|
|
kD2257_EVENT_EOMC2 = (1<<1),
|
|
kD2257_EVENT_EOMC1 = (1<<0),
|
|
// 0x18: GPADC_EVENT1
|
|
kD2257_EVENT_VDDLOW = (1<<7),
|
|
kD2257_EVENT_TBAT = (1<<6),
|
|
};
|
|
|
|
enum {
|
|
kDIALOG_EVENT_HOLD_BUTTON_MASK = EVENT_FLAG_MAKE(5, kD2257_EVENT_A_BUTTON2),
|
|
kDIALOG_EVENT_MENU_BUTTON_MASK = EVENT_FLAG_MAKE(5, kD2257_EVENT_A_BUTTON1),
|
|
kDIALOG_EVENT_RINGER_BUTTON_MASK= EVENT_FLAG_MAKE(5, kD2257_EVENT_A_BUTTON3),
|
|
kDIALOG_EVENT_BUTTON4_MASK = EVENT_FLAG_MAKE(5, kD2257_EVENT_A_BUTTON4),
|
|
|
|
kDIALOG_EVENT_BUTTONS = (kD2257_EVENT_A_BUTTON4 |
|
|
kD2257_EVENT_A_BUTTON3 |
|
|
kD2257_EVENT_A_BUTTON2 |
|
|
kD2257_EVENT_A_BUTTON1),
|
|
kDIALOG_EVENT_BUTTONS_MASK = EVENT_FLAG_MAKE(5, kDIALOG_EVENT_BUTTONS),
|
|
kDIALOG_EVENT_PWR_BUTTON_MASK = kDIALOG_EVENT_HOLD_BUTTON_MASK,
|
|
|
|
kDIALOG_EVENT_ALARM_MASK = EVENT_FLAG_MAKE(2, kD2257_EVENT_ALARM),
|
|
|
|
kDIALOG_EVENT_ACC_DET_MASK = kDIALOG_NOTEXIST_MASK, // FIXME
|
|
kDIALOG_EVENT_VBUS_DET_MASK = EVENT_FLAG_MAKE(9, kD2257_EVENT_CHG1_VBUS_EXT_DET),
|
|
kDIALOG_EVENT_VBUS_EXT_REM_MASK = EVENT_FLAG_MAKE(9, kD2257_EVENT_CHG1_VBUS_EXT_REM),
|
|
|
|
// FIXME: forcing ADC1
|
|
kDIALOG_EVENT_EOMC_MASK = EVENT_FLAG_MAKE(0x17, kD2257_EVENT_EOMC1),
|
|
kDIALOG_EVENT_HIB_MASK = kDIALOG_NOTEXIST_MASK, // FIXME
|
|
kDIALOG_EVENT_ABCC_MASK = EVENT_FLAG_MAKE(0xa, kD2257_EVENT_CHG2_ABCC_ACT),
|
|
kDIALOG_EVENT_CHG_END_MASK = EVENT_FLAG_MAKE(0xa, kD2257_EVENT_CHG2_CHG_END),
|
|
kDIALOG_EVENT_TBAT_MASK = EVENT_FLAG_MAKE(0x18, kD2257_EVENT_TBAT),
|
|
|
|
kDIALOG_EVENT_GPIO1_MASK = EVENT_FLAG_MAKE(6, kD2257_EVENT_B_GPIO1),
|
|
kDIALOG_EVENT_GPIO2_MASK = EVENT_FLAG_MAKE(6, kD2257_EVENT_B_GPIO2),
|
|
kDIALOG_EVENT_GPIO3_MASK = EVENT_FLAG_MAKE(6, kD2257_EVENT_B_GPIO3),
|
|
kDIALOG_EVENT_GPIO4_MASK = EVENT_FLAG_MAKE(6, kD2257_EVENT_B_GPIO4),
|
|
kDIALOG_EVENT_GPIO5_MASK = EVENT_FLAG_MAKE(6, kD2257_EVENT_B_GPIO5),
|
|
kDIALOG_EVENT_GPIO6_MASK = EVENT_FLAG_MAKE(6, kD2257_EVENT_B_GPIO6),
|
|
kDIALOG_EVENT_GPIO7_MASK = EVENT_FLAG_MAKE(6, kD2257_EVENT_B_GPIO7),
|
|
kDIALOG_EVENT_GPIO8_MASK = EVENT_FLAG_MAKE(6, kD2257_EVENT_B_GPIO8),
|
|
|
|
kDIALOG_EVENT_GPIO9_MASK = EVENT_FLAG_MAKE(7, kD2257_EVENT_C_GPIO9),
|
|
kDIALOG_EVENT_GPIO10_MASK = EVENT_FLAG_MAKE(7, kD2257_EVENT_C_GPIO10),
|
|
kDIALOG_EVENT_GPIO11_MASK = EVENT_FLAG_MAKE(7, kD2257_EVENT_C_GPIO11),
|
|
kDIALOG_EVENT_GPIO12_MASK = EVENT_FLAG_MAKE(7, kD2257_EVENT_C_GPIO12),
|
|
kDIALOG_EVENT_GPIO13_MASK = EVENT_FLAG_MAKE(7, kD2257_EVENT_C_GPIO13),
|
|
kDIALOG_EVENT_GPIO14_MASK = EVENT_FLAG_MAKE(7, kD2257_EVENT_C_GPIO14),
|
|
kDIALOG_EVENT_GPIO15_MASK = EVENT_FLAG_MAKE(7, kD2257_EVENT_C_GPIO15),
|
|
kDIALOG_EVENT_GPIO16_MASK = EVENT_FLAG_MAKE(7, kD2257_EVENT_C_GPIO16),
|
|
|
|
kDIALOG_EVENT_GPIO17_MASK = EVENT_FLAG_MAKE(8, kD2257_EVENT_D_GPIO17),
|
|
kDIALOG_EVENT_GPIO18_MASK = EVENT_FLAG_MAKE(8, kD2257_EVENT_D_GPIO18),
|
|
kDIALOG_EVENT_GPIO19_MASK = EVENT_FLAG_MAKE(8, kD2257_EVENT_D_GPIO19),
|
|
kDIALOG_EVENT_GPIO20_MASK = EVENT_FLAG_MAKE(8, kD2257_EVENT_D_GPIO20),
|
|
kDIALOG_EVENT_GPIO21_MASK = EVENT_FLAG_MAKE(8, kD2257_EVENT_D_GPIO21),
|
|
kDIALOG_EVENT_GPIO22_MASK = EVENT_FLAG_MAKE(8, kD2257_EVENT_D_GPIO22),
|
|
|
|
kDIALOG_EVENT_RINGER_DBL_MASK = EVENT_FLAG_MAKE(5, kD2257_EVENT_A_BUTTON3_DBL),
|
|
kDIALOG_EVENT_HOLD_DBL_MASK = EVENT_FLAG_MAKE(5, kD2257_EVENT_A_BUTTON2_DBL),
|
|
kDIALOG_EVENT_MENU_DBL_MASK = EVENT_FLAG_MAKE(5, kD2257_EVENT_A_BUTTON1_DBL),
|
|
|
|
kDIALOG_EVENT_VHP_DET_MASK = kDIALOG_NOTEXIST_MASK, // FIXME
|
|
kDIALOG_EVENT_ON_MASK = kDIALOG_NOTEXIST_MASK, // FIXME
|
|
kDIALOG_EVENT_LDO2_EN_MASK = kDIALOG_NOTEXIST_MASK, // FIXME
|
|
};
|
|
|
|
enum {
|
|
kDIALOG_STATUS_USB_MASK = STATUS_FLAG_MAKE(9, kD2257_EVENT_CHG1_VCENTER_DET),
|
|
kDIALOG_STATUS_VBUS_MASK = STATUS_FLAG_MAKE(9, kD2257_EVENT_CHG1_VBUS_EXT_DET),
|
|
kDIALOG_STATUS_FW_MASK = kDIALOG_NOTEXIST_MASK, // FIXME
|
|
kDIALOG_STATUS_ACC_DET_MASK = kDIALOG_NOTEXIST_MASK, // FIXME
|
|
kDIALOG_STATUS_CHARGING_MASK = kDIALOG_NOTEXIST_MASK, // FIXME
|
|
kDIALOG_STATUS_CHG_TO_MASK = STATUS_FLAG_MAKE(0xa, kD2257_EVENT_CHG2_TIMEOUT),
|
|
kDIALOG_STATUS_CHG_END_MASK = STATUS_FLAG_MAKE(0xa, kD2257_EVENT_CHG2_CHG_END),
|
|
kDIALOG_STATUS_TBAT_MASK = STATUS_FLAG_MAKE(0x18, kD2257_EVENT_TBAT),
|
|
kDIALOG_STATUS_CHG_ATT_MASK = kDIALOG_NOTEXIST_MASK,
|
|
kDIALOG_STATUS_ABCC_MASK = STATUS_FLAG_MAKE(0xa, kD2257_EVENT_CHG2_ABCC_ACT),
|
|
};
|
|
|
|
static const statusRegisters kDialogStatusFWMask = { };
|
|
|
|
enum {
|
|
kD2257_EVENT_AA_WAKEMASK = 0,
|
|
kD2257_EVENT_AB_WAKEMASK = 0,
|
|
kD2257_EVENT_AC_WAKEMASK = kD2257_EVENT_ALARM,
|
|
kD2257_EVENT_AD_WAKEMASK = 0,
|
|
kD2257_EVENT_AE_WAKEMASK = 0,
|
|
kD2257_EVENT_AF_WAKEMASK = kDIALOG_EVENT_BUTTONS,
|
|
kD2257_EVENT_AG_WAKEMASK = 0,
|
|
kD2257_EVENT_AH_WAKEMASK = 0,
|
|
kD2257_EVENT_AI_WAKEMASK = 0,
|
|
kD2257_EVENT_AJ_WAKEMASK = kD2257_EVENT_CHG1_VBUS_EXT_DET | kD2257_EVENT_CHG1_VCENTER_DET, // FIXME (kD2186_EVENT_A_ACC_DET)
|
|
kD2257_EVENT_AK_WAKEMASK = kD2257_EVENT_CHG2_ABCC_ACT,
|
|
kD2257_EVENT_AL_WAKEMASK = 0,
|
|
kD2257_EVENT_AM_WAKEMASK = 0,
|
|
kD2257_EVENT_AN_WAKEMASK = 0,
|
|
kD2257_EVENT_AO_WAKEMASK = 0,
|
|
kD2257_EVENT_AP_WAKEMASK = 0,
|
|
kD2257_EVENT_AQ_WAKEMASK = 0,
|
|
kD2257_EVENT_AR_WAKEMASK = 0,
|
|
kD2257_EVENT_AS_WAKEMASK = 0,
|
|
kD2257_EVENT_AT_WAKEMASK = 0,
|
|
kD2257_EVENT_AU_WAKEMASK = 0,
|
|
kD2257_EVENT_AV_WAKEMASK = 0,
|
|
kD2257_EVENT_AW_WAKEMASK = 0,
|
|
kD2257_EVENT_AX_WAKEMASK = 0,
|
|
kD2257_EVENT_AY_WAKEMASK = 0,
|
|
kD2257_EVENT_AZ_WAKEMASK = 0,
|
|
kD2257_EVENT_BA_WAKEMASK = 0,
|
|
kD2257_EVENT_BB_WAKEMASK = 0,
|
|
kD2257_EVENT_BC_WAKEMASK = 0,
|
|
kD2257_EVENT_BD_WAKEMASK = 0,
|
|
kD2257_EVENT_BE_WAKEMASK = 0,
|
|
};
|
|
|
|
// All events that are masked during shutdown - inverse of the wake mask,
|
|
// events that wake up the system
|
|
static const eventRegisters kDialogEventIntMasks = {
|
|
~kD2257_EVENT_AA_WAKEMASK,
|
|
~kD2257_EVENT_AB_WAKEMASK,
|
|
~kD2257_EVENT_AC_WAKEMASK,
|
|
~kD2257_EVENT_AD_WAKEMASK,
|
|
~kD2257_EVENT_AE_WAKEMASK,
|
|
~kD2257_EVENT_AF_WAKEMASK,
|
|
~kD2257_EVENT_AG_WAKEMASK,
|
|
~kD2257_EVENT_AH_WAKEMASK,
|
|
~kD2257_EVENT_AI_WAKEMASK,
|
|
~kD2257_EVENT_AJ_WAKEMASK,
|
|
~kD2257_EVENT_AK_WAKEMASK,
|
|
~kD2257_EVENT_AL_WAKEMASK,
|
|
~kD2257_EVENT_AM_WAKEMASK,
|
|
~kD2257_EVENT_AN_WAKEMASK,
|
|
~kD2257_EVENT_AO_WAKEMASK,
|
|
~kD2257_EVENT_AP_WAKEMASK,
|
|
~kD2257_EVENT_AQ_WAKEMASK,
|
|
~kD2257_EVENT_AR_WAKEMASK,
|
|
~kD2257_EVENT_AS_WAKEMASK,
|
|
~kD2257_EVENT_AT_WAKEMASK,
|
|
~kD2257_EVENT_AU_WAKEMASK,
|
|
~kD2257_EVENT_AV_WAKEMASK,
|
|
~kD2257_EVENT_AW_WAKEMASK,
|
|
~kD2257_EVENT_AX_WAKEMASK,
|
|
~kD2257_EVENT_AY_WAKEMASK,
|
|
~kD2257_EVENT_AZ_WAKEMASK,
|
|
~kD2257_EVENT_BA_WAKEMASK,
|
|
~kD2257_EVENT_BB_WAKEMASK,
|
|
~kD2257_EVENT_BC_WAKEMASK,
|
|
~kD2257_EVENT_BD_WAKEMASK,
|
|
~kD2257_EVENT_BE_WAKEMASK,
|
|
};
|
|
|
|
// All wake events without the buttons
|
|
static const eventRegisters kDialogEventNotButtonMasks = {
|
|
kD2257_EVENT_AA_WAKEMASK,
|
|
kD2257_EVENT_AB_WAKEMASK,
|
|
kD2257_EVENT_AC_WAKEMASK,
|
|
kD2257_EVENT_AD_WAKEMASK,
|
|
kD2257_EVENT_AE_WAKEMASK,
|
|
kD2257_EVENT_AF_WAKEMASK & ~kDIALOG_EVENT_BUTTONS ,
|
|
kD2257_EVENT_AG_WAKEMASK,
|
|
kD2257_EVENT_AH_WAKEMASK,
|
|
kD2257_EVENT_AI_WAKEMASK,
|
|
kD2257_EVENT_AJ_WAKEMASK,
|
|
kD2257_EVENT_AK_WAKEMASK,
|
|
kD2257_EVENT_AL_WAKEMASK,
|
|
kD2257_EVENT_AM_WAKEMASK,
|
|
kD2257_EVENT_AN_WAKEMASK,
|
|
kD2257_EVENT_AO_WAKEMASK,
|
|
kD2257_EVENT_AP_WAKEMASK,
|
|
kD2257_EVENT_AQ_WAKEMASK,
|
|
kD2257_EVENT_AR_WAKEMASK,
|
|
kD2257_EVENT_AS_WAKEMASK,
|
|
kD2257_EVENT_AT_WAKEMASK,
|
|
kD2257_EVENT_AU_WAKEMASK,
|
|
kD2257_EVENT_AV_WAKEMASK,
|
|
kD2257_EVENT_AW_WAKEMASK,
|
|
kD2257_EVENT_AX_WAKEMASK,
|
|
kD2257_EVENT_AY_WAKEMASK,
|
|
kD2257_EVENT_AZ_WAKEMASK,
|
|
kD2257_EVENT_BA_WAKEMASK,
|
|
kD2257_EVENT_BB_WAKEMASK,
|
|
kD2257_EVENT_BC_WAKEMASK,
|
|
kD2257_EVENT_BD_WAKEMASK,
|
|
kD2257_EVENT_BE_WAKEMASK,
|
|
};
|
|
|
|
// All events indicating external power supply
|
|
static const eventRegisters kDialogEventPwrsupplyMask = {
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
kD2257_EVENT_CHG1_VCENTER_DET | kD2257_EVENT_CHG1_VBUS_EXT_DET,
|
|
kD2257_EVENT_CHG2_ABCC_ACT,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
};
|
|
|
|
// should I use *_VBUS_DET_REM
|
|
static const eventRegisters kDialogEventUSBMask = {
|
|
0, // EVENT_AA
|
|
0, // EVENT_AB
|
|
0, // EVENT_AC
|
|
0, // EVENT_AD
|
|
0, // EVENT_AE
|
|
0, // EVENT_AF
|
|
0, // EVENT_AG
|
|
0, // EVENT_AH
|
|
0, // EVENT_AI
|
|
kD2257_EVENT_CHG1_VCENTER_DET | kD2257_EVENT_CHG1_VBUS_EXT_DET,
|
|
kD2257_EVENT_CHG2_ABCC_ACT,
|
|
0, // EVENT_AL
|
|
0, // EVENT_AM
|
|
0, // EVENT_AN
|
|
0, // EVENT_AO
|
|
0, // EVENT_AP
|
|
0, // EVENT_AQ
|
|
0, // EVENT_AR
|
|
0, // EVENT_AS
|
|
0, // EVENT_AT
|
|
0, // EVENT_AU
|
|
0, // EVENT_AV
|
|
0, // EVENT_AW
|
|
0, // EVENT_AX
|
|
0, // EVENT_AY
|
|
0, // EVENT_AZ
|
|
0, // EVENT_BA
|
|
0, // EVENT_BB
|
|
0, // EVENT_BC
|
|
0, // EVENT_BD
|
|
0, // EVENT_BE
|
|
};
|
|
|
|
static const eventRegisters kDialogEventFWMask = { 0, };
|
|
static const statusRegisters kDialogStatusChargingMask = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
kD2257_EVENT_CHG2_CHG_FAST | kD2257_EVENT_CHG2_CHG_PRE,
|
|
};
|
|
|
|
|
|
|
|
enum {
|
|
kDialogEventPwrsupplyCount = 2,
|
|
kDialogEventUSBCount = 2,
|
|
kDialogEventFWCount = 0,
|
|
};
|
|
|
|
enum {
|
|
// FAULT_LOG_A (SYSCTL_FAULT_LOG1)
|
|
kDIALOG_FAULT_LOG_WDOG = FAULTLOG_FLAG_MAKE(0, (1 << 7)),
|
|
kDIALOG_FAULT_LOG_RESET_IN_3 = FAULTLOG_FLAG_MAKE(0, (1 << 6)),
|
|
kDIALOG_FAULT_LOG_RESET_IN_2 = FAULTLOG_FLAG_MAKE(0, (1 << 5)),
|
|
kDIALOG_FAULT_LOG_RESET_IN_1 = FAULTLOG_FLAG_MAKE(0, (1 << 4)),
|
|
kDIALOG_FAULT_LOG_RST = FAULTLOG_FLAG_MAKE(0, (1 << 3)),
|
|
kDIALOG_FAULT_LOG_POR = FAULTLOG_FLAG_MAKE(0, (1 << 2)),
|
|
kDIALOG_FAULT_LOG_OVER_TEMP = FAULTLOG_FLAG_MAKE(0, (1 << 1)),
|
|
kDIALOG_FAULT_LOG_VDD_UNDER = FAULTLOG_FLAG_MAKE(0, (1 << 0)),
|
|
// FAULT_LOG_B (SYSCTL_FAULT_LOG2)
|
|
kDIALOG_FAULT_LOG_BTN_SHUTDOWN = FAULTLOG_FLAG_MAKE(1, (1 << 2)),
|
|
kDIALOG_FAULT_LOG_TWO_FINGER_RESET = FAULTLOG_FLAG_MAKE(1, (1 << 1)),
|
|
kDIALOG_FAULT_LOG_NTC_SHDN = FAULTLOG_FLAG_MAKE(1, (1 << 0)),
|
|
};
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// GPADC
|
|
// ---------------------------------------------------------------------------
|
|
|
|
enum {
|
|
kD2257_ADC_CONTROL_MUX_SEL_VDD_MAIN = 0,
|
|
kD2257_ADC_CONTROL_MUX_SEL_BRICK_ID = 1,
|
|
kD2257_ADC_CONTROL_MUX_SEL_SPARE0 = 2,
|
|
kD2257_ADC_CONTROL_MUX_SEL_APP_MUX_A = 3,
|
|
kD2257_ADC_CONTROL_MUX_SEL_APP_MUX_B = 4,
|
|
// ...
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO1 = 18,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO1 = 19,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO2,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO2,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO3,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO3,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO4,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO4,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO5,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO5,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO6,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO6,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO7,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO7,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO8,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO8,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO9,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO9,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO10,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO10,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO11,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO11,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUF_ON,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ION_BUF,
|
|
// no papi, no12
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO13 = 42,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO13 = 43,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO14 = 44,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO14 = 45,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO15 = 46,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO15 = 47,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VLDO16 = 48,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ILDO16 = 49,
|
|
// ReatlimeClock
|
|
kD2257_ADC_CONTROL_MUX_SEL_VRTC = 50,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IRTC = 51,
|
|
|
|
// high impedance external input
|
|
kD2257_ADC_CONTROL_MUX_SEL_ADC_IN7 = 82,
|
|
// Junction
|
|
kD2257_ADC_CONTROL_MUX_SEL_TJNCT = 88,
|
|
// NTCs
|
|
kD2257_ADC_CONTROL_MUX_SEL_TCAL = 89, // NTC0
|
|
kD2257_ADC_CONTROL_MUX_SEL_TDEV1 = 90,
|
|
kD2257_ADC_CONTROL_MUX_SEL_TDEV2 = 91,
|
|
kD2257_ADC_CONTROL_MUX_SEL_TDEV3 = 92,
|
|
kD2257_ADC_CONTROL_MUX_SEL_TDEV4 = 93,
|
|
kD2257_ADC_CONTROL_MUX_SEL_TDEV5,
|
|
kD2257_ADC_CONTROL_MUX_SEL_TDEV6,
|
|
kD2257_ADC_CONTROL_MUX_SEL_TDEV7,
|
|
kD2257_ADC_CONTROL_MUX_SEL_TDEV8,
|
|
// ..
|
|
|
|
kD2257_ADC_CONTROL_MUX_SEL_TBAT = 108,
|
|
|
|
// TINT, measure TDIE (TDIE1,TDIE9)
|
|
kD2257_ADC_CONTROL_MUX_SEL_LDO10_TEMP = 112,
|
|
kD2257_ADC_CONTROL_MUX_SEL_LDO5CHGBUCKA_TEMP = 113,
|
|
kD2257_ADC_CONTROL_MUX_SEL_CHGBUCKB_TEMP = 114,
|
|
kD2257_ADC_CONTROL_MUX_SEL_BUCK6_TEMP = 115,
|
|
kD2257_ADC_CONTROL_MUX_SEL_BUCK0_TEMP = 116,
|
|
kD2257_ADC_CONTROL_MUX_SEL_BUCK28_TEMP,
|
|
kD2257_ADC_CONTROL_MUX_SEL_BUCK74_TEMP,
|
|
kD2257_ADC_CONTROL_MUX_SEL_BUCK1_TEMP,
|
|
kD2257_ADC_CONTROL_MUX_SEL_BUCK35_TEMP,
|
|
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK0 = 144,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK1,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK2,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK3,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK4,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK5,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK6,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK7,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK8 = 152,
|
|
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBAT = 157,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUS = 158,
|
|
kD2257_ADC_CONTROL_MUX_SEL_ADC_IN31 = 159,
|
|
|
|
// Legacy GPADC based iBuck meas
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK0 = 176,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK1,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK2,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK3,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK4,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK5 = 181,
|
|
// no iBuck6
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK7 = 183,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK8 = 184,
|
|
|
|
// SAR based IPBuck meas
|
|
// - see BUCKn_ANA_TRIM4 to select power (default) or current measurement
|
|
// - see IBUCK_CONFIG_C[IBUCKn_SAR_IMEAS_TYPE] for digital offset cancellation
|
|
kD2257_ADC_CONTROL_MUX_SEL_SAR_IBUCK0 = 185,
|
|
// SAR Filtered based IPBuck meas
|
|
// - see BUCKn_ANA_TRIM4 to select power (default) or current measurement
|
|
// - see IBUCK_CONFIG_C[IBUCKn_SAR_IMEAS_TYPE] for digital offset cancellation
|
|
// - use IBUCKn_SAR_FILTER_TC to select the filter constant
|
|
kD2257_ADC_CONTROL_MUX_SEL_SAR_FILT_IBUCK0 = 186,
|
|
kD2257_ADC_CONTROL_MUX_SEL_SAR_IBUCK1,
|
|
kD2257_ADC_CONTROL_MUX_SEL_SAR_FILT_IBUCK1,
|
|
kD2257_ADC_CONTROL_MUX_SEL_SAR_IBUCK2,
|
|
kD2257_ADC_CONTROL_MUX_SEL_SAR_FILT_IBUCK2,
|
|
|
|
kD2257_ADC_CONTROL_MUX_SEL_ICH_ADC_CH = 201,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUS_IN_LG_ADC_CH = 202,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUS_IN_HG_ADC_CH = 203,
|
|
|
|
// cannot use this when IBUCK_CORR_N is set (default)
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK0_OFF = 208, // offset
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK1_OFF,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK2_OFF,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK3_OFF,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK4_OFF,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK5_OFF,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK6_OFF,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK7_OFF,
|
|
kD2257_ADC_CONTROL_MUX_SEL_IBUCK8_OFF = 216,
|
|
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK3_SW1 = 240,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK3_SW2,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK3_SW3,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK4_SW1 = 243,
|
|
kD2257_ADC_CONTROL_MUX_SEL_VBUCK4_SW2 = 244,
|
|
|
|
// ------------------------------------------------
|
|
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_VDD_OUT = kD2257_ADC_CONTROL_MUX_SEL_VDD_MAIN,
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_BRICK_ID = kD2257_ADC_CONTROL_MUX_SEL_BRICK_ID,
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_ACC_ID = kD2257_ADC_CONTROL_MUX_SEL_ADC_IN7,
|
|
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_NTC0 = kD2257_ADC_CONTROL_MUX_SEL_TCAL,
|
|
kDIALOG_ADC_CONTROL_MUX_NUM_NTC = 8,
|
|
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_TINT_START = kD2257_ADC_CONTROL_MUX_SEL_LDO10_TEMP,
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_TINT_END = kD2257_ADC_CONTROL_MUX_SEL_BUCK35_TEMP,
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_TJUNC = kD2257_ADC_CONTROL_MUX_SEL_TJNCT,
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_TBAT = kD2257_ADC_CONTROL_MUX_SEL_TBAT,
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_VBAT = kD2257_ADC_CONTROL_MUX_SEL_VBAT,
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_ICH = kD2257_ADC_CONTROL_MUX_SEL_ICH_ADC_CH,
|
|
|
|
// TODO: verify BRICK_ID_OFFSET_MV
|
|
kDIALOG_ADC_BRICK_ID_OFFSET_MV = 40,
|
|
};
|
|
|
|
enum {
|
|
|
|
// kDIALOG_ADC_CONTROL_DEFAULTS = 0,
|
|
// kDIALOG_ADC_CONTROL2_DEFAULTS = 0,
|
|
// kDIALOG_ADC_CONTROL_ADC_REF_EN = 0,
|
|
|
|
kDIALOG_ADC_LSB_MANADC_ERROR = (1 << 7), // MAN1_INVALID
|
|
kDIALOG_ADC_LSB_ADC_OVL = (1 << 6), // Overflow
|
|
|
|
kDIALOG_ADC_MAN_CTL = kD2257_GPADC_MAN_CTRL1,
|
|
kDIALOG_ADC_CONTROL_MUX_SEL_MASK = kD2257_GPADC_MAN_CTRL1_MASK,
|
|
kDIALOG_ADC_LSB = kD2257_GPADC_MAN1_RES_LSB,
|
|
|
|
kDIALOG_ADC_FULL_SCALE_MV = 2500,
|
|
kDIALOG_ADC_RESOLUTION_BITS = 12,
|
|
};
|
|
|
|
// ------------------------------------------------
|
|
// GPIO
|
|
// ------------------------------------------------
|
|
|
|
enum {
|
|
kDIALOG_RTC_CONTROL_MONITOR = (1 << 0),
|
|
kDIALOG_RTC_CONTROL_ALARM_EN = (1 << 6),
|
|
};
|
|
|
|
enum {
|
|
kD2257_GPIO_IO_CONFIG_IN = (0<<6),
|
|
kD2257_GPIO_IO_CONFIG_OUT_OD = (1<<6),
|
|
kD2257_GPIO_IO_CONFIG_OUT_PP = (2<<6),
|
|
// NOTE: Once a GPIO is set to a safe spare configuration, the safe spare setting must
|
|
// be changed before any changes to the associated GPIO_x_IO_TYPE, GPIOx_PUPD and
|
|
// GPIOx_WAKE_LVL register fields can be done.
|
|
kD2257_GPIO_IO_CONFIG_SAFE_SPARE = (3<<6),
|
|
|
|
kD2257_GPIO_IO_TYPE_OUT_LVL = (0<<3),
|
|
kD2257_GPIO_IO_TYPE_OUT_32K = (1<<3),
|
|
kD2257_GPIO_IO_TYPE_OUT_nRST = (2<<3),
|
|
kD2257_GPIO_IO_TYPE_OUT_TEMP = (3<<3),
|
|
kD2257_GPIO_IO_TYPE_OUT_LVL2 = (4<<3),
|
|
kD2257_GPIO_IO_TYPE_IN_LEVEL_HIGH = (0<<3),
|
|
kD2257_GPIO_IO_TYPE_IN_LEVEL_LOW = (1<<3),
|
|
kD2257_GPIO_IO_TYPE_IN_EDGE_RISING = (2<<3),
|
|
kD2257_GPIO_IO_TYPE_IN_EDGE_FALLING = (3<<3),
|
|
kD2257_GPIO_IO_TYPE_IN_EDGE_ANY = (4<<3),
|
|
|
|
kDIALOG_SYS_GPIO_CONFIG_MASK = (0x3<<6),
|
|
kDIALOG_SYS_GPIO_DIRECTION_MASK = (0x3<<3),
|
|
kDIALOG_SYS_GPIO_VALUE_MASK = (1<<0),
|
|
|
|
kDIALOG_SYS_GPIO_DIRECTION_OUT = kD2257_GPIO_IO_TYPE_OUT_LVL,
|
|
kDIALOG_SYS_GPIO_DIRECTION_OUT_32KHZ = kD2257_GPIO_IO_TYPE_OUT_32K,
|
|
kDIALOG_SYS_GPIO_DIRECTION_IN_LEVEL_HIGH = kD2257_GPIO_IO_TYPE_IN_LEVEL_HIGH,
|
|
kDIALOG_SYS_GPIO_DIRECTION_IN_LEVEL_LOW = kD2257_GPIO_IO_TYPE_IN_LEVEL_LOW,
|
|
|
|
kDIALOG_SYS_GPIO_OUTPUT_LEVEL_LOW = (0 << 0),
|
|
kDIALOG_SYS_GPIO_OUTPUT_LEVEL_HIGH = (1 << 0),
|
|
kDIALOG_SYS_GPIO_INPUT_WAKE = (1 << 0),
|
|
};
|
|
|
|
// NOTE: it doesn't work with SAFESPARE
|
|
#define IS_GPIO_OUTPUT(gpio) \
|
|
(((gpio)&kDIALOG_SYS_GPIO_CONFIG_MASK)!=kD2257_GPIO_IO_CONFIG_IN )
|
|
|
|
#define kDIALOG_STATUS_GPIO_MASK(gpio) \
|
|
STATUS_FLAG_MAKE(6 + ((gpio)/8), (1 << ((gpio) % 8)) )
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// LDOS
|
|
// ----------------------------------------------------------------------------
|
|
|
|
#define NUM_LDOS 0x23
|
|
static const struct ldo_params ldo_D2257[NUM_LDOS] = {
|
|
{ 1200, 5, 0xff, 0xff, 0x00, kD2257_LDO1_VSEL, kD2257_PWRONOFF_LDO1_EN, 1 }, // 00 - LDO1 =
|
|
{ 1200, 5, 0xff, 0xff, 2, kD2257_LDO2_VSEL, kD2257_PWRONOFF_LDO2_EN, 1 }, // 01 - LDO2 = bypass
|
|
{ 1200, 5, 0xff, 0xff, 0x00, kD2257_LDO3_VSEL, kD2257_PWRONOFF_LDO3_EN, 1 }, // 02 - LDO3 =
|
|
{ 1200, 5, 0xff, 0xff, 0x00, kD2257_LDO4_VSEL, kD2257_PWRONOFF_LDO4_EN, 1 }, // 03 - LDO4 =
|
|
{ 2400, 5, 0xff, 0xff, 0x00, kD2257_LDO5_VSEL, kD2257_PWRONOFF_LDO5_EN, 1 }, // 04 - LDO5 =
|
|
{ 2500, 25, 0x7f, 0x7f, 2, kD2257_LDO6_VSEL, kD2257_PWRONOFF_LDO6_EN, 1 }, // 05 - LDO6 = bypass
|
|
{ 1200, 5, 0xff, 0xff, 0x00, kD2257_LDO7_VSEL, kD2257_PWRONOFF_LDO7_EN, 1 }, // 06 - LDO7 =
|
|
{ 1200, 5, 0xff, 0xff, 0x00, kD2257_LDO8_VSEL, kD2257_PWRONOFF_LDO8_EN, 1 }, // 07 - LDO8 =
|
|
{ 1200, 5, 0xff, 0xff, 0x00, kD2257_LDO9_VSEL, kD2257_PWRONOFF_LDO9_EN, 1 }, // 08 - LDO9 =
|
|
{ 600, 5, 0xff, 0xff, 0x00, kD2257_LDO10_VSEL, kD2257_PWRONOFF_LDO10_EN, 1 }, // 09 - LDO10 -
|
|
{ 1200, 5, 0xff, 0xff, 0x00, kD2257_LDO11_VSEL, kD2257_PWRONOFF_LDO11_EN, 1 }, // 0a - LDO11 =
|
|
{ 1800, 0, 0, 0, 0x00, 0, 0, 0 }, // 0b - there is no LDO12 (PP1V8_ALWAYS)
|
|
{ 1200, 5, 0xff, 0xff, 0x00, kD2257_LDO13_VSEL, kD2257_PWRONOFF_LDO13_EN, 1 }, // 0c - LDO13 =
|
|
{ 600, 5, 0xff, 0xff, 0x00, kD2257_LDO14_VSEL, kD2257_PWRONOFF_LDO14_EN, 1 }, // 0d - LDO14 =
|
|
{ 600, 5, 0xff, 0xff, 0x00, kD2257_LDO15_VSEL, kD2257_PWRONOFF_LDO15_EN, 1 }, // 0e - LDO15 =
|
|
{ 1200, 5, 0xff, 0xff, 0x00, kD2257_LDO16_VSEL, kD2257_PWRONOFF_LDO16_EN, 1 }, // 0f - LDO16 =
|
|
|
|
{ 450, 5, 0, 0, 0x00, kD2257_BUCK0_VSEL, kD2257_PWRONOFF_BUCK0_EN, 1 }, // 10 - POWER_RAIL_CPU
|
|
{ 450, 5, 0, 0, 0x00, kD2257_BUCK1_VSEL, kD2257_PWRONOFF_BUCK1_EN, 1 }, // 11 - POWER_RAIL_GPU
|
|
{ 600, 5, 0, 0, 0x00, kD2257_BUCK2_VSEL, kD2257_PWRONOFF_BUCK2_EN, 1 }, // 12 - POWER_RAIL_SOC
|
|
{ 1100, 5, 0, 0, 0x00, kD2257_BUCK3_VSEL, kD2257_PWRONOFF_BUCK3_EN, 1 }, // 13
|
|
{ 600, 5, 0, 0, 0x00, kD2257_BUCK4_VSEL, kD2257_PWRONOFF_BUCK4_EN, 1 }, // 14
|
|
{ 600, 5, 0, 0, 0x00, kD2257_BUCK5_VSEL, kD2257_PWRONOFF_BUCK5_EN, 1 }, // 15 - POWER_RAIL_VDD_FIXED
|
|
// NOTE: here bypass is the OFFSET of the bypass register from VSEL
|
|
{ 1800, 5, 0, 0, 0x00, kD2257_BUCK6_VSEL, kD2257_PWRONOFF_BUCK6_EN, 1 }, // 16 - BUCK6 (Byp)
|
|
{ 600, 5, 0, 0, 0x00, kD2257_BUCK7_VSEL, kD2257_PWRONOFF_BUCK7_EN, 1 }, // 17 - POWER_RAIL_CPU_RAM
|
|
{ 600, 5, 0, 0, 0x00, kD2257_BUCK8_VSEL, kD2257_PWRONOFF_BUCK8_EN, 1 }, // 18 - POWER_RAIL_GPU_RAM
|
|
|
|
{ 0, 0, 0, 0, 0x00, 0, kD2257_PWRONOFF_BUCK3_SW1_EN, 1 }, // 19
|
|
{ 0, 0, 0, 0, 0x00, 0, kD2257_PWRONOFF_BUCK3_SW2_EN, 1 }, // 1a
|
|
{ 0, 0, 0, 0, 0x00, 0, kD2257_PWRONOFF_BUCK3_SW3_EN, 1 }, // 1b
|
|
{ 0, 0, 0, 0, 0x00, 0, kD2257_PWRONOFF_BUCK4_SW1_EN, 1 }, // 1c
|
|
{ 0, 0, 0, 0, 0x00, 0, kD2257_PWRONOFF_BUCK4_SW2_EN, 1 }, // 1d
|
|
|
|
{ 0, 0, 0, 0, 0x00, 0, kD2257_PWRONOFF_LCM_BST_SW_EN, 1 }, // 1e
|
|
|
|
{ 5000, 50, 0x1f, 0x1f, 0x00, kD2257_LDO_LCM_BOOST_VSEL, kD2257_PWRONOFF_LCM_BST_EN, 1 }, // 1f
|
|
{ 5000, 50, 0x1f, 0x1f, 0x00, kD2257_LDO_LCM_LDO1_VSEL, kD2257_PWRONOFF_LCM_LDO1_EN, 1 }, // 20
|
|
{ 5000, 50, 0x1f, 0x1f, 0x00, kD2257_LDO_LCM_LDO2_VSEL, kD2257_PWRONOFF_LCM_LDO2_EN, 1 }, // 21
|
|
{ 0, 0, 0, 0, 0x00, 0, kD2257_PWRONOFF_LDO6_EN, 7<<1 }, // 22 LDO36 acc_sleep_pwr
|
|
|
|
};
|
|
#define LDOP ldo_D2257
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Charge control
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// TODO: verify these GUYS
|
|
enum {
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_MIN = 0x00,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_100 = 0x02,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_200 = 0x0a,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_300 = 0x12,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_400 = 0x1a,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_500 = 0x22,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_600 = 0x2a,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_700 = 0x32,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_900 = 0x42,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_975 = 0x48,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_1000 = 0x4a,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_1450 = 0x6e,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_1500 = 0x72,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_1900 = 0x92,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_2000 = 0x9a,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_2100 = 0xa2,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_2300 = 0xb2,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_MAX = 0xff,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_ISET_BUCK_MASK = 0xff,
|
|
};
|
|
|
|
enum {
|
|
kDIALOG_CHARGE_BUCK_CONTROL_MIN = 75,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_STEP_PER_100MA = 8,
|
|
kDIALOG_CHARGE_BUCK_CONTROL_MAX = 3262,
|
|
};
|
|
|
|
enum {
|
|
kDIALOG_CHARGE_CONTROL_A_ISET_BAT_MASK = 0x3f,
|
|
kDIALOG_CHARGE_CONTROL_A_ISET_BAT_SHIFT = 0,
|
|
kDIALOG_OTP_ISET_BAT_SHIFT = kDIALOG_CHARGE_CONTROL_A_ISET_BAT_SHIFT,
|
|
kDIALOG_CHARGE_CONTROL_B_CHG_SUSP = (1 << 6),
|
|
kDIALOG_CHARGE_CONTROL_B_CHG_HIB = (1 << 7),
|
|
kDIALOG_CHARGE_CONTROL_CHG_HIB = kDIALOG_CHARGE_CONTROL_B_CHG_HIB,
|
|
};
|
|
|
|
enum {
|
|
kDIALOG_CHARGE_CONTROL_STEP = 50,
|
|
kDIALOG_CHARGE_CONTROL_MAX = 3150,
|
|
};
|
|
|
|
enum {
|
|
// CHG_CTRL_G
|
|
kDIALOG_CHARGE_CONTROL_ALT_USB_DIS = (1 << 6),
|
|
kDIALOG_CHARGE_CONTROL_CHG_BUCK_EN = (1 << 7),
|
|
};
|
|
|
|
enum {
|
|
kDIALOG_CHARGE_CONTROL_TIME_TCTR_MASK = 0xF0,
|
|
kDIALOG_CHARGE_CONTROL_TIME_TCTR_DISABLED = 0x00,
|
|
kDIALOG_CHARGE_CONTROL_TIME_PCTR_MASK = 0x07,
|
|
kDIALOG_CHARGE_CONTROL_TIME_PCTR_DISABLED = 0x00,
|
|
};
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Buttons
|
|
// ----------------------------------------------------------------------------
|
|
|
|
enum {
|
|
kDIALOG_BUTTON_DBL_CLICK_RATE_MASK = (7 << 0),
|
|
kDIALOG_BUTTON_DBL_CLICK_RATE_10MS = (0 << 0),
|
|
kDIALOG_BUTTON_DBL_CLICK_RATE_20MS = (1 << 0),
|
|
kDIALOG_BUTTON_DBL_CLICK_RATE_50MS = (2 << 0),
|
|
kDIALOG_BUTTON_DBL_CLICK_RATE_60MS = (3 << 0),
|
|
kDIALOG_BUTTON_DBL_CLICK_RATE_100MS = (4 << 0),
|
|
kDIALOG_BUTTON_DBL_CLICK_RATE_200MS = (5 << 0),
|
|
kDIALOG_BUTTON_DBL_CLICK_RATE_300MS = (6 << 0),
|
|
kDIALOG_BUTTON_DBL_CLICK_RATE_400MS = (7 << 0),
|
|
|
|
kD2255_BUTTON_DBL_BTN1_DBL_EN = (1 << 3),
|
|
kD2255_BUTTON_DBL_BTN2_DBL_EN = (1 << 4),
|
|
kD2255_BUTTON_DBL_BTN3_DBL_EN = (1 << 5),
|
|
kD2255_BUTTON_DBL_BTN4_DBL_EN = (1 << 6),
|
|
|
|
// TODO: verify this!
|
|
kDIALOG_BUTTON_DBL_HOLD_DBL_EN = kD2255_BUTTON_DBL_BTN2_DBL_EN,
|
|
kDIALOG_BUTTON_DBL_MENU_DBL_EN = kD2255_BUTTON_DBL_BTN1_DBL_EN,
|
|
kDIALOG_BUTTON_DBL_RINGER_DBL_EN = kD2255_BUTTON_DBL_BTN3_DBL_EN,
|
|
};
|
|
|
|
#endif /* __DIALOG_D2257_H */
|