blob: 4e8072d846994f9873b63bcd60a3c8230d50f5c1 [file] [log] [blame]
/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __QPNP_REVID
#define __QPNP_REVID
#define PM8226_V2P2_REV1 0x00
#define PM8226_V2P2_REV2 0x00
#define PM8226_V2P2_REV3 0x02
#define PM8226_V2P2_REV4 0x02
#define PM8226_V2P2_TYPE 0x51
#define PM8226_V2P2_SUBTYPE 0x04
#define PM8226_V2P1_REV1 0x00
#define PM8226_V2P1_REV2 0x00
#define PM8226_V2P1_REV3 0x01
#define PM8226_V2P1_REV4 0x02
#define PM8226_V2P1_TYPE 0x51
#define PM8226_V2P1_SUBTYPE 0x04
#define PM8226_V2P0_REV1 0x00
#define PM8226_V2P0_REV2 0x00
#define PM8226_V2P0_REV3 0x00
#define PM8226_V2P0_REV4 0x02
#define PM8226_V2P0_TYPE 0x51
#define PM8226_V2P0_SUBTYPE 0x04
#define PM8226_V1P0_REV1 0x00
#define PM8226_V1P0_REV2 0x00
#define PM8226_V1P0_REV3 0x00
#define PM8226_V1P0_REV4 0x00
#define PM8226_V1P0_TYPE 0x51
#define PM8226_V1P0_SUBTYPE 0x04
#define PM8941_V1P0_REV1 0x00
#define PM8941_V1P0_REV2 0x00
#define PM8941_V1P0_REV3 0x00
#define PM8941_V1P0_REV4 0x01
#define PM8941_V1P0_TYPE 0x51
#define PM8941_V1P0_SUBTYPE 0x01
#define PM8941_V2P0_REV1 0x00
#define PM8941_V2P0_REV2 0x00
#define PM8941_V2P0_REV3 0x00
#define PM8941_V2P0_REV4 0x01
#define PM8941_V2P0_TYPE 0x51
#define PM8941_V2P0_SUBTYPE 0x01
#define PM8941_V3P0_REV1 0x00
#define PM8941_V3P0_REV2 0x00
#define PM8941_V3P0_REV3 0x00
#define PM8941_V3P0_REV4 0x03
#define PM8941_V3P0_TYPE 0x51
#define PM8941_V3P0_SUBTYPE 0x01
#define PM8941_V3P1_REV1 0x00
#define PM8941_V3P1_REV2 0x00
#define PM8941_V3P1_REV3 0x01
#define PM8941_V3P1_REV4 0x03
#define PM8941_V3P1_TYPE 0x51
#define PM8941_V3P1_SUBTYPE 0x01
#define PM8110_V1P0_REV1 0x00
#define PM8110_V1P0_REV2 0x00
#define PM8110_V1P0_REV3 0x00
#define PM8110_V1P0_REV4 0x01
#define PM8110_V1P0_TYPE 0x51
#define PM8110_V1P0_SUBTYPE 0x05
#define PM8110_V1P1_REV1 0x00
#define PM8110_V1P1_REV2 0x01
#define PM8110_V1P1_REV3 0x00
#define PM8110_V1P1_REV4 0x01
#define PM8110_V1P1_TYPE 0x51
#define PM8110_V1P1_SUBTYPE 0x05
#define PM8110_V1P3_REV1 0x00
#define PM8110_V1P3_REV2 0x03
#define PM8110_V1P3_REV3 0x00
#define PM8110_V1P3_REV4 0x01
#define PM8110_V1P3_TYPE 0x51
#define PM8110_V1P3_SUBTYPE 0x05
#define PM8110_V2P0_REV1 0x00
#define PM8110_V2P0_REV2 0x00
#define PM8110_V2P0_REV3 0x00
#define PM8110_V2P0_REV4 0x02
#define PM8110_V2P0_TYPE 0x51
#define PM8110_V2P0_SUBTYPE 0x05
#define PM8916_V1P0_REV1 0x00
#define PM8916_V1P0_REV2 0x00
#define PM8916_V1P0_REV3 0x00
#define PM8916_V1P0_REV4 0x01
#define PM8916_V1P0_TYPE 0x51
#define PM8916_V1P0_SUBTYPE 0x0B
#define PM8916_V1P1_REV1 0x00
#define PM8916_V1P1_REV2 0x00
#define PM8916_V1P1_REV3 0x01
#define PM8916_V1P1_REV4 0x01
#define PM8916_V1P1_TYPE 0x51
#define PM8916_V1P1_SUBTYPE 0x0B
#define PM8916_V2P0_REV1 0x00
#define PM8916_V2P0_REV2 0x00
#define PM8916_V2P0_REV3 0x00
#define PM8916_V2P0_REV4 0x02
#define PM8916_V2P0_TYPE 0x51
#define PM8916_V2P0_SUBTYPE 0x0B
#define PM8909_V1P0_REV1 0x00
#define PM8909_V1P0_REV2 0x00
#define PM8909_V1P0_REV3 0x00
#define PM8909_V1P0_REV4 0x01
#define PM8909_V1P0_TYPE 0x51
#define PM8909_V1P0_SUBTYPE 0x0D
#define PM8909_V1P1_REV1 0x00
#define PM8909_V1P1_REV2 0x00
#define PM8909_V1P1_REV3 0x01
#define PM8909_V1P1_REV4 0x01
#define PM8909_V1P1_TYPE 0x51
#define PM8909_V1P1_SUBTYPE 0x0D
struct pmic_revid_data {
u8 rev1;
u8 rev2;
u8 rev3;
u8 rev4;
u8 pmic_type;
u8 pmic_subtype;
};
#ifdef CONFIG_QPNP_REVID
struct pmic_revid_data *get_revid_data(struct device_node *dev_node);
#else
static inline
struct pmic_revid_data *get_revid_data(struct device_node *dev_node)
{
return NULL;
}
#endif
#endif