Patchwork [U-Boot,4/6] SMDK5420: S2MPS11: Adds the register settings for S2MPS11

login
register
mail settings
Submitter Leela Krishna Amudala
Date Oct. 1, 2013, 2:32 p.m.
Message ID <1380637926-26242-5-git-send-email-l.krishna@samsung.com>
Download mbox | patch
Permalink /patch/279483/
State Changes Requested
Delegated to: Minkyu Kang
Headers show

Comments

Leela Krishna Amudala - Oct. 1, 2013, 2:32 p.m.
Adds the register settings, addresses and voltages associated with S2MPS11

Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
Reviewed-by: Vadim Bendebury <vbendeb@google.com>
---
 include/power/s2mps11_pmic.h |  144 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 144 insertions(+)
 create mode 100644 include/power/s2mps11_pmic.h
Ɓukasz Majewski - Oct. 2, 2013, 3:13 p.m.
Hi Leela,

> Adds the register settings, addresses and voltages associated with
> S2MPS11
> 
> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
> Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
> Reviewed-by: Vadim Bendebury <vbendeb@google.com>
> ---
>  include/power/s2mps11_pmic.h |  144
> ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144
> insertions(+) create mode 100644 include/power/s2mps11_pmic.h
> 
> diff --git a/include/power/s2mps11_pmic.h
> b/include/power/s2mps11_pmic.h new file mode 100644
> index 0000000..e4f21f9
> --- /dev/null
> +++ b/include/power/s2mps11_pmic.h
> @@ -0,0 +1,144 @@
> +/*
> + * s2mps11_pmic.h
> + *
> + * Copyright (c) 2012 Samsung Electronics Co., Ltd
> + *              http://www.samsung.com
> + *
> + *  This program is free software; you can redistribute  it and/or
> modify it
> + *  under  the terms of  the GNU General  Public License as
> published by the
> + *  Free Software Foundation;  either version 2 of the  License, or
> (at your
> + *  option) any later version.

We have switched to SPDX license. Please write similar code to e.g.
power_core.c

> + *
> + */
> +#ifndef __S2MPS11_H
> +#define __S2MPS11_H
> +
> +/* S2MPS11 registers */
> +enum s2mps11_reg {
> +	S2MPS11_REG_ID,
> +	S2MPS11_REG_INT1,
> +	S2MPS11_REG_INT2,
> +	S2MPS11_REG_INT3,
> +	S2MPS11_REG_INT1M,
> +	S2MPS11_REG_INT2M,
> +	S2MPS11_REG_INT3M,
> +	S2MPS11_REG_ST1,
> +	S2MPS11_REG_ST2,
> +	S2MPS11_REG_OFFSRC,
> +	S2MPS11_REG_PWRONSRC,
> +	S2MPS11_REG_RTC_CTRL,
> +	S2MPS11_REG_CTRL1,
> +	S2MPS11_REG_ETC_TEST,
> +	S2MPS11_REG_RSVD3,
> +	S2MPS11_REG_BU_CHG,
> +	S2MPS11_REG_RAMP,
> +	S2MPS11_REG_RAMP_BUCK,
> +	S2MPS11_REG_LDO1_8,
> +	S2MPS11_REG_LDO9_16,
> +	S2MPS11_REG_LDO17_24,
> +	S2MPS11_REG_LDO25_32,
> +	S2MPS11_REG_LDO33_38,
> +	S2MPS11_REG_LDO1_8_1,
> +	S2MPS11_REG_LDO9_16_1,
> +	S2MPS11_REG_LDO17_24_1,
> +	S2MPS11_REG_LDO25_32_1,
> +	S2MPS11_REG_LDO33_38_1,
> +	S2MPS11_REG_OTP_ADRL,
> +	S2MPS11_REG_OTP_ADRH,
> +	S2MPS11_REG_OTP_DATA,
> +	S2MPS11_REG_MON1SEL,
> +	S2MPS11_REG_MON2SEL,
> +	S2MPS11_REG_LEE,
> +	S2MPS11_REG_RSVD_NO,
> +	S2MPS11_REG_UVLO,
> +	S2MPS11_REG_LEE_NO,
> +	S2MPS11_REG_B1CTRL1,
> +	S2MPS11_REG_B1CTRL2,
> +	S2MPS11_REG_B2CTRL1,
> +	S2MPS11_REG_B2CTRL2,
> +	S2MPS11_REG_B3CTRL1,
> +	S2MPS11_REG_B3CTRL2,
> +	S2MPS11_REG_B4CTRL1,
> +	S2MPS11_REG_B4CTRL2,
> +	S2MPS11_REG_B5CTRL1,
> +	S2MPS11_REG_BUCK5_SW,
> +	S2MPS11_REG_B5CTRL2,
> +	S2MPS11_REG_B5CTRL3,
> +	S2MPS11_REG_B5CTRL4,
> +	S2MPS11_REG_B5CTRL5,
> +	S2MPS11_REG_B6CTRL1,
> +	S2MPS11_REG_B6CTRL2,
> +	S2MPS11_REG_B7CTRL1,
> +	S2MPS11_REG_B7CTRL2,
> +	S2MPS11_REG_B8CTRL1,
> +	S2MPS11_REG_B8CTRL2,
> +	S2MPS11_REG_B9CTRL1,
> +	S2MPS11_REG_B9CTRL2,
> +	S2MPS11_REG_B10CTRL1,
> +	S2MPS11_REG_B10CTRL2,
> +	S2MPS11_REG_L1CTRL,
> +	S2MPS11_REG_L2CTRL,
> +	S2MPS11_REG_L3CTRL,
> +	S2MPS11_REG_L4CTRL,
> +	S2MPS11_REG_L5CTRL,
> +	S2MPS11_REG_L6CTRL,
> +	S2MPS11_REG_L7CTRL,
> +	S2MPS11_REG_L8CTRL,
> +	S2MPS11_REG_L9CTRL,
> +	S2MPS11_REG_L10CTRL,
> +	S2MPS11_REG_L11CTRL,
> +	S2MPS11_REG_L12CTRL,
> +	S2MPS11_REG_L13CTRL,
> +	S2MPS11_REG_L14CTRL,
> +	S2MPS11_REG_L15CTRL,
> +	S2MPS11_REG_L16CTRL,
> +	S2MPS11_REG_L17CTRL,
> +	S2MPS11_REG_L18CTRL,
> +	S2MPS11_REG_L19CTRL,
> +	S2MPS11_REG_L20CTRL,
> +	S2MPS11_REG_L21CTRL,
> +	S2MPS11_REG_L22CTRL,
> +	S2MPS11_REG_L23CTRL,
> +	S2MPS11_REG_L24CTRL,
> +	S2MPS11_REG_L25CTRL,
> +	S2MPS11_REG_L26CTRL,
> +	S2MPS11_REG_L27CTRL,
> +	S2MPS11_REG_L28CTRL,
> +	S2MPS11_REG_L29CTRL,
> +	S2MPS11_REG_L30CTRL,
> +	S2MPS11_REG_L31CTRL,
> +	S2MPS11_REG_L32CTRL,
> +	S2MPS11_REG_L33CTRL,
> +	S2MPS11_REG_L34CTRL,
> +	S2MPS11_REG_L35CTRL,
> +	S2MPS11_REG_L36CTRL,
> +	S2MPS11_REG_L37CTRL,
> +	S2MPS11_REG_L38CTRL,
> +
> +	S2MPS11_NUM_OF_REGS,
> +};
> +
> +/* I2C device address for pmic S2MPS11 */
> +#define S2MPS11_I2C_ADDR (0xCC >> 1)
> +#define S2MPS11_BUS_NUM	4
> +
> +/* Value to set voltage as 1V */
> +#define S2MPS11_BUCK_CTRL2_1V	0x40
> +/* Value to set voltage as 1.2V */
> +#define S2MPS11_BUCK_CTRL2_1_2V	0x60
> +/* Value to set voltage as 1.2625V */
> +#define S2MPS11_BUCK_CTRL2_1_2625V	0x6A
> +
> +/* Buck register addresses */
> +#define S2MPS11_BUCK1_CTRL2	0x26
> +#define S2MPS11_BUCK2_CTRL2	0x28
> +#define S2MPS11_BUCK3_CTRL2	0x2a
> +#define S2MPS11_BUCK4_CTRL2	0x2c
> +#define S2MPS11_BUCK6_CTRL2	0x34
> +#define S2MPS11_LDO22_CTRL	0x52
> +
> +#define S2MPS11_DEVICE_NAME "S2MPS11_PMIC"
> +
> +#define S2MPS11_RTC_CTRL_32KHZ_CP_EN	(1 << 1)
> +#define S2MPS11_RTC_CTRL_JIT	(1 << 4)
> +#endif /*  __LINUX_MFD_S2MPS11_H */

Patch

diff --git a/include/power/s2mps11_pmic.h b/include/power/s2mps11_pmic.h
new file mode 100644
index 0000000..e4f21f9
--- /dev/null
+++ b/include/power/s2mps11_pmic.h
@@ -0,0 +1,144 @@ 
+/*
+ * s2mps11_pmic.h
+ *
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd
+ *              http://www.samsung.com
+ *
+ *  This program is free software; you can redistribute  it and/or modify it
+ *  under  the terms of  the GNU General  Public License as published by the
+ *  Free Software Foundation;  either version 2 of the  License, or (at your
+ *  option) any later version.
+ *
+ */
+#ifndef __S2MPS11_H
+#define __S2MPS11_H
+
+/* S2MPS11 registers */
+enum s2mps11_reg {
+	S2MPS11_REG_ID,
+	S2MPS11_REG_INT1,
+	S2MPS11_REG_INT2,
+	S2MPS11_REG_INT3,
+	S2MPS11_REG_INT1M,
+	S2MPS11_REG_INT2M,
+	S2MPS11_REG_INT3M,
+	S2MPS11_REG_ST1,
+	S2MPS11_REG_ST2,
+	S2MPS11_REG_OFFSRC,
+	S2MPS11_REG_PWRONSRC,
+	S2MPS11_REG_RTC_CTRL,
+	S2MPS11_REG_CTRL1,
+	S2MPS11_REG_ETC_TEST,
+	S2MPS11_REG_RSVD3,
+	S2MPS11_REG_BU_CHG,
+	S2MPS11_REG_RAMP,
+	S2MPS11_REG_RAMP_BUCK,
+	S2MPS11_REG_LDO1_8,
+	S2MPS11_REG_LDO9_16,
+	S2MPS11_REG_LDO17_24,
+	S2MPS11_REG_LDO25_32,
+	S2MPS11_REG_LDO33_38,
+	S2MPS11_REG_LDO1_8_1,
+	S2MPS11_REG_LDO9_16_1,
+	S2MPS11_REG_LDO17_24_1,
+	S2MPS11_REG_LDO25_32_1,
+	S2MPS11_REG_LDO33_38_1,
+	S2MPS11_REG_OTP_ADRL,
+	S2MPS11_REG_OTP_ADRH,
+	S2MPS11_REG_OTP_DATA,
+	S2MPS11_REG_MON1SEL,
+	S2MPS11_REG_MON2SEL,
+	S2MPS11_REG_LEE,
+	S2MPS11_REG_RSVD_NO,
+	S2MPS11_REG_UVLO,
+	S2MPS11_REG_LEE_NO,
+	S2MPS11_REG_B1CTRL1,
+	S2MPS11_REG_B1CTRL2,
+	S2MPS11_REG_B2CTRL1,
+	S2MPS11_REG_B2CTRL2,
+	S2MPS11_REG_B3CTRL1,
+	S2MPS11_REG_B3CTRL2,
+	S2MPS11_REG_B4CTRL1,
+	S2MPS11_REG_B4CTRL2,
+	S2MPS11_REG_B5CTRL1,
+	S2MPS11_REG_BUCK5_SW,
+	S2MPS11_REG_B5CTRL2,
+	S2MPS11_REG_B5CTRL3,
+	S2MPS11_REG_B5CTRL4,
+	S2MPS11_REG_B5CTRL5,
+	S2MPS11_REG_B6CTRL1,
+	S2MPS11_REG_B6CTRL2,
+	S2MPS11_REG_B7CTRL1,
+	S2MPS11_REG_B7CTRL2,
+	S2MPS11_REG_B8CTRL1,
+	S2MPS11_REG_B8CTRL2,
+	S2MPS11_REG_B9CTRL1,
+	S2MPS11_REG_B9CTRL2,
+	S2MPS11_REG_B10CTRL1,
+	S2MPS11_REG_B10CTRL2,
+	S2MPS11_REG_L1CTRL,
+	S2MPS11_REG_L2CTRL,
+	S2MPS11_REG_L3CTRL,
+	S2MPS11_REG_L4CTRL,
+	S2MPS11_REG_L5CTRL,
+	S2MPS11_REG_L6CTRL,
+	S2MPS11_REG_L7CTRL,
+	S2MPS11_REG_L8CTRL,
+	S2MPS11_REG_L9CTRL,
+	S2MPS11_REG_L10CTRL,
+	S2MPS11_REG_L11CTRL,
+	S2MPS11_REG_L12CTRL,
+	S2MPS11_REG_L13CTRL,
+	S2MPS11_REG_L14CTRL,
+	S2MPS11_REG_L15CTRL,
+	S2MPS11_REG_L16CTRL,
+	S2MPS11_REG_L17CTRL,
+	S2MPS11_REG_L18CTRL,
+	S2MPS11_REG_L19CTRL,
+	S2MPS11_REG_L20CTRL,
+	S2MPS11_REG_L21CTRL,
+	S2MPS11_REG_L22CTRL,
+	S2MPS11_REG_L23CTRL,
+	S2MPS11_REG_L24CTRL,
+	S2MPS11_REG_L25CTRL,
+	S2MPS11_REG_L26CTRL,
+	S2MPS11_REG_L27CTRL,
+	S2MPS11_REG_L28CTRL,
+	S2MPS11_REG_L29CTRL,
+	S2MPS11_REG_L30CTRL,
+	S2MPS11_REG_L31CTRL,
+	S2MPS11_REG_L32CTRL,
+	S2MPS11_REG_L33CTRL,
+	S2MPS11_REG_L34CTRL,
+	S2MPS11_REG_L35CTRL,
+	S2MPS11_REG_L36CTRL,
+	S2MPS11_REG_L37CTRL,
+	S2MPS11_REG_L38CTRL,
+
+	S2MPS11_NUM_OF_REGS,
+};
+
+/* I2C device address for pmic S2MPS11 */
+#define S2MPS11_I2C_ADDR (0xCC >> 1)
+#define S2MPS11_BUS_NUM	4
+
+/* Value to set voltage as 1V */
+#define S2MPS11_BUCK_CTRL2_1V	0x40
+/* Value to set voltage as 1.2V */
+#define S2MPS11_BUCK_CTRL2_1_2V	0x60
+/* Value to set voltage as 1.2625V */
+#define S2MPS11_BUCK_CTRL2_1_2625V	0x6A
+
+/* Buck register addresses */
+#define S2MPS11_BUCK1_CTRL2	0x26
+#define S2MPS11_BUCK2_CTRL2	0x28
+#define S2MPS11_BUCK3_CTRL2	0x2a
+#define S2MPS11_BUCK4_CTRL2	0x2c
+#define S2MPS11_BUCK6_CTRL2	0x34
+#define S2MPS11_LDO22_CTRL	0x52
+
+#define S2MPS11_DEVICE_NAME "S2MPS11_PMIC"
+
+#define S2MPS11_RTC_CTRL_32KHZ_CP_EN	(1 << 1)
+#define S2MPS11_RTC_CTRL_JIT	(1 << 4)
+#endif /*  __LINUX_MFD_S2MPS11_H */