brintos

brintos / linux-shallow public Read only

0
0
Text · 8.1 KiB · 1201e7c Raw
267 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ */2/*3 * da9211-regulator.h - Regulator definitions for DA9211/DA92124 * /DA9213/DA9223/DA9214/DA9224/DA9215/DA92255 * Copyright (C) 2015  Dialog Semiconductor Ltd.6 */7 8#ifndef __DA9211_REGISTERS_H__9#define __DA9211_REGISTERS_H__10 11/* Page selection */12#define	DA9211_REG_PAGE_CON			0x0013 14/* System Control and Event Registers */15#define	DA9211_REG_STATUS_A			0x5016#define	DA9211_REG_STATUS_B			0x5117#define	DA9211_REG_EVENT_A			0x5218#define	DA9211_REG_EVENT_B			0x5319#define	DA9211_REG_MASK_A			0x5420#define	DA9211_REG_MASK_B			0x5521#define	DA9211_REG_CONTROL_A		0x5622 23/* GPIO Control Registers */24#define	DA9211_REG_GPIO_0_1			0x5825#define	DA9211_REG_GPIO_2_3			0x5926#define	DA9211_REG_GPIO_4			0x5A27 28/* Regulator Registers */29#define	DA9211_REG_BUCKA_CONT			0x5D30#define	DA9211_REG_BUCKB_CONT			0x5E31#define	DA9211_REG_BUCK_ILIM			0xD032#define	DA9211_REG_BUCKA_CONF			0xD133#define	DA9211_REG_BUCKB_CONF			0xD234#define	DA9211_REG_BUCK_CONF			0xD335#define	DA9211_REG_VBACKA_MAX			0xD536#define	DA9211_REG_VBACKB_MAX			0xD637#define	DA9211_REG_VBUCKA_A				0xD738#define	DA9211_REG_VBUCKA_B				0xD839#define	DA9211_REG_VBUCKB_A				0xD940#define	DA9211_REG_VBUCKB_B				0xDA41 42/* I2C Interface Settings */43#define DA9211_REG_INTERFACE			0x10544 45/* BUCK Phase Selection*/46#define DA9211_REG_CONFIG_E			0x14747 48/* Device ID */49#define	DA9211_REG_DEVICE_ID			0x20150 51/*52 * Registers bits53 */54/* DA9211_REG_PAGE_CON (addr=0x00) */55#define	DA9211_REG_PAGE_SHIFT			156#define	DA9211_REG_PAGE_MASK			0x0657/* On I2C registers 0x00 - 0xFF */58#define	DA9211_REG_PAGE0			059/* On I2C registers 0x100 - 0x1FF */60#define	DA9211_REG_PAGE2			261#define	DA9211_PAGE_WRITE_MODE			0x0062#define	DA9211_REPEAT_WRITE_MODE		0x4063#define	DA9211_PAGE_REVERT			0x8064 65/* DA9211_REG_STATUS_A (addr=0x50) */66#define	DA9211_GPI0				0x0167#define	DA9211_GPI1				0x0268#define	DA9211_GPI2				0x0469#define	DA9211_GPI3				0x0870#define	DA9211_GPI4				0x1071 72/* DA9211_REG_EVENT_A (addr=0x52) */73#define	DA9211_E_GPI0				0x0174#define	DA9211_E_GPI1				0x0275#define	DA9211_E_GPI2				0x0476#define	DA9211_E_GPI3				0x0877#define	DA9211_E_GPI4				0x1078#define	DA9211_E_UVLO_IO			0x4079 80/* DA9211_REG_EVENT_B (addr=0x53) */81#define	DA9211_E_PWRGOOD_A			0x0182#define	DA9211_E_PWRGOOD_B			0x0283#define	DA9211_E_TEMP_WARN			0x0484#define	DA9211_E_TEMP_CRIT			0x0885#define	DA9211_E_OV_CURR_A			0x1086#define	DA9211_E_OV_CURR_B			0x2087 88/* DA9211_REG_MASK_A (addr=0x54) */89#define	DA9211_M_GPI0				0x0190#define	DA9211_M_GPI1				0x0291#define	DA9211_M_GPI2				0x0492#define	DA9211_M_GPI3				0x0893#define	DA9211_M_GPI4				0x1094#define	DA9211_M_UVLO_IO			0x4095 96/* DA9211_REG_MASK_B (addr=0x55) */97#define	DA9211_M_PWRGOOD_A			0x0198#define	DA9211_M_PWRGOOD_B			0x0299#define	DA9211_M_TEMP_WARN			0x04100#define	DA9211_M_TEMP_CRIT			0x08101#define	DA9211_M_OV_CURR_A			0x10102#define	DA9211_M_OV_CURR_B			0x20103 104/* DA9211_REG_CONTROL_A (addr=0x56) */105#define	DA9211_DEBOUNCING_SHIFT		0106#define	DA9211_DEBOUNCING_MASK		0x07107#define	DA9211_SLEW_RATE_SHIFT		3108#define	DA9211_SLEW_RATE_A_MASK		0x18109#define	DA9211_SLEW_RATE_B_SHIFT	5110#define	DA9211_SLEW_RATE_B_MASK		0x60111#define	DA9211_V_LOCK				0x80112 113/* DA9211_REG_GPIO_0_1 (addr=0x58) */114#define	DA9211_GPIO0_PIN_SHIFT		0115#define	DA9211_GPIO0_PIN_MASK		0x03116#define	DA9211_GPIO0_PIN_GPI		0x00117#define	DA9211_GPIO0_PIN_GPO_OD		0x02118#define	DA9211_GPIO0_PIN_GPO		0x03119#define	DA9211_GPIO0_TYPE			0x04120#define	DA9211_GPIO0_TYPE_GPI		0x00121#define	DA9211_GPIO0_TYPE_GPO		0x04122#define	DA9211_GPIO0_MODE			0x08123#define	DA9211_GPIO1_PIN_SHIFT		4124#define	DA9211_GPIO1_PIN_MASK		0x30125#define	DA9211_GPIO1_PIN_GPI		0x00126#define	DA9211_GPIO1_PIN_VERROR		0x10127#define	DA9211_GPIO1_PIN_GPO_OD		0x20128#define	DA9211_GPIO1_PIN_GPO		0x30129#define	DA9211_GPIO1_TYPE_SHIFT		0x40130#define	DA9211_GPIO1_TYPE_GPI		0x00131#define	DA9211_GPIO1_TYPE_GPO		0x40132#define	DA9211_GPIO1_MODE			0x80133 134/* DA9211_REG_GPIO_2_3 (addr=0x59) */135#define	DA9211_GPIO2_PIN_SHIFT		0136#define	DA9211_GPIO2_PIN_MASK		0x03137#define	DA9211_GPIO2_PIN_GPI		0x00138#define	DA9211_GPIO5_PIN_BUCK_CLK	0x10139#define	DA9211_GPIO2_PIN_GPO_OD		0x02140#define	DA9211_GPIO2_PIN_GPO		0x03141#define	DA9211_GPIO2_TYPE			0x04142#define	DA9211_GPIO2_TYPE_GPI		0x00143#define	DA9211_GPIO2_TYPE_GPO		0x04144#define	DA9211_GPIO2_MODE			0x08145#define	DA9211_GPIO3_PIN_SHIFT		4146#define	DA9211_GPIO3_PIN_MASK		0x30147#define	DA9211_GPIO3_PIN_GPI		0x00148#define	DA9211_GPIO3_PIN_IERROR		0x10149#define	DA9211_GPIO3_PIN_GPO_OD		0x20150#define	DA9211_GPIO3_PIN_GPO		0x30151#define	DA9211_GPIO3_TYPE_SHIFT		0x40152#define	DA9211_GPIO3_TYPE_GPI		0x00153#define	DA9211_GPIO3_TYPE_GPO		0x40154#define	DA9211_GPIO3_MODE			0x80155 156/* DA9211_REG_GPIO_4 (addr=0x5A) */157#define	DA9211_GPIO4_PIN_SHIFT		0158#define	DA9211_GPIO4_PIN_MASK		0x03159#define	DA9211_GPIO4_PIN_GPI		0x00160#define	DA9211_GPIO4_PIN_GPO_OD		0x02161#define	DA9211_GPIO4_PIN_GPO		0x03162#define	DA9211_GPIO4_TYPE			0x04163#define	DA9211_GPIO4_TYPE_GPI		0x00164#define	DA9211_GPIO4_TYPE_GPO		0x04165#define	DA9211_GPIO4_MODE			0x08166 167/* DA9211_REG_BUCKA_CONT (addr=0x5D) */168#define	DA9211_BUCKA_EN				0x01169#define	DA9211_BUCKA_GPI_SHIFT		1170#define DA9211_BUCKA_GPI_MASK		0x06171#define	DA9211_BUCKA_GPI_OFF		0x00172#define	DA9211_BUCKA_GPI_GPIO0		0x02173#define	DA9211_BUCKA_GPI_GPIO1		0x04174#define	DA9211_BUCKA_GPI_GPIO3		0x06175#define	DA9211_BUCKA_PD_DIS			0x08176#define	DA9211_VBUCKA_SEL			0x10177#define	DA9211_VBUCKA_SEL_A			0x00178#define	DA9211_VBUCKA_SEL_B			0x10179#define	DA9211_VBUCKA_GPI_SHIFT		5180#define	DA9211_VBUCKA_GPI_MASK		0x60181#define	DA9211_VBUCKA_GPI_OFF		0x00182#define	DA9211_VBUCKA_GPI_GPIO1		0x20183#define	DA9211_VBUCKA_GPI_GPIO2		0x40184#define	DA9211_VBUCKA_GPI_GPIO4		0x60185 186/* DA9211_REG_BUCKB_CONT (addr=0x5E) */187#define	DA9211_BUCKB_EN				0x01188#define	DA9211_BUCKB_GPI_SHIFT		1189#define DA9211_BUCKB_GPI_MASK		0x06190#define	DA9211_BUCKB_GPI_OFF		0x00191#define	DA9211_BUCKB_GPI_GPIO0		0x02192#define	DA9211_BUCKB_GPI_GPIO1		0x04193#define	DA9211_BUCKB_GPI_GPIO3		0x06194#define	DA9211_BUCKB_PD_DIS			0x08195#define	DA9211_VBUCKB_SEL			0x10196#define	DA9211_VBUCKB_SEL_A			0x00197#define	DA9211_VBUCKB_SEL_B			0x10198#define	DA9211_VBUCKB_GPI_SHIFT		5199#define	DA9211_VBUCKB_GPI_MASK		0x60200#define	DA9211_VBUCKB_GPI_OFF		0x00201#define	DA9211_VBUCKB_GPI_GPIO1		0x20202#define	DA9211_VBUCKB_GPI_GPIO2		0x40203#define	DA9211_VBUCKB_GPI_GPIO4		0x60204 205/* DA9211_REG_BUCK_ILIM (addr=0xD0) */206#define DA9211_BUCKA_ILIM_SHIFT			0207#define DA9211_BUCKA_ILIM_MASK			0x0F208#define DA9211_BUCKB_ILIM_SHIFT			4209#define DA9211_BUCKB_ILIM_MASK			0xF0210 211/* DA9211_REG_BUCKA_CONF (addr=0xD1) */212#define DA9211_BUCKA_MODE_SHIFT			0213#define DA9211_BUCKA_MODE_MASK			0x03214#define	DA9211_BUCKA_MODE_MANUAL		0x00215#define	DA9211_BUCKA_MODE_SLEEP			0x01216#define	DA9211_BUCKA_MODE_SYNC			0x02217#define	DA9211_BUCKA_MODE_AUTO			0x03218#define DA9211_BUCKA_UP_CTRL_SHIFT		2219#define DA9211_BUCKA_UP_CTRL_MASK		0x1C220#define DA9211_BUCKA_DOWN_CTRL_SHIFT	5221#define DA9211_BUCKA_DOWN_CTRL_MASK		0xE0222 223/* DA9211_REG_BUCKB_CONF (addr=0xD2) */224#define DA9211_BUCKB_MODE_SHIFT			0225#define DA9211_BUCKB_MODE_MASK			0x03226#define	DA9211_BUCKB_MODE_MANUAL		0x00227#define	DA9211_BUCKB_MODE_SLEEP			0x01228#define	DA9211_BUCKB_MODE_SYNC			0x02229#define	DA9211_BUCKB_MODE_AUTO			0x03230#define DA9211_BUCKB_UP_CTRL_SHIFT		2231#define DA9211_BUCKB_UP_CTRL_MASK		0x1C232#define DA9211_BUCKB_DOWN_CTRL_SHIFT	5233#define DA9211_BUCKB_DOWN_CTRL_MASK		0xE0234 235/* DA9211_REG_BUCK_CONF (addr=0xD3) */236#define DA9211_PHASE_SEL_A_SHIFT		0237#define DA9211_PHASE_SEL_A_MASK			0x03238#define DA9211_PHASE_SEL_B_SHIFT		2239#define DA9211_PHASE_SEL_B_MASK			0x04240#define DA9211_PH_SH_EN_A_SHIFT			3241#define DA9211_PH_SH_EN_A_MASK			0x08242#define DA9211_PH_SH_EN_B_SHIFT			4243#define DA9211_PH_SH_EN_B_MASK			0x10244 245/* DA9211_REG_VBUCKA_MAX (addr=0xD5) */246#define DA9211_VBUCKA_BASE_SHIFT		0247#define DA9211_VBUCKA_BASE_MASK			0x7F248 249/* DA9211_REG_VBUCKB_MAX (addr=0xD6) */250#define DA9211_VBUCKB_BASE_SHIFT		0251#define DA9211_VBUCKB_BASE_MASK			0x7F252 253/* DA9211_REG_VBUCKA/B_A/B (addr=0xD7/0xD8/0xD9/0xDA) */254#define DA9211_VBUCK_SHIFT			0255#define DA9211_VBUCK_MASK			0x7F256#define DA9211_VBUCK_BIAS			0257#define DA9211_BUCK_SL				0x80258 259/* DA9211_REG_INTERFACE (addr=0x105) */260#define DA9211_IF_BASE_ADDR_SHIFT		4261#define DA9211_IF_BASE_ADDR_MASK		0xF0262 263/* DA9211_REG_CONFIG_E (addr=0x147) */264#define DA9211_SLAVE_SEL			0x40265 266#endif	/* __DA9211_REGISTERS_H__ */267