/* Copyright (c) 2013, 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_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

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
