[PATCH 1/4] pxa/z2: Add regulator support
Eric Miao
eric.y.miao at gmail.com
Sun Jun 27 23:42:08 EDT 2010
On Thu, Jun 24, 2010 at 10:02 PM, Marek Vasut <marek.vasut at gmail.com> wrote:
> Register TPS65021 regulator in Zipit Z2.
>
> Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
Applied.
> ---
> arch/arm/mach-pxa/z2.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 71 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
> index 4cba5b6..1bafb23 100644
> --- a/arch/arm/mach-pxa/z2.c
> +++ b/arch/arm/mach-pxa/z2.c
> @@ -26,6 +26,7 @@
> #include <linux/gpio.h>
> #include <linux/gpio_keys.h>
> #include <linux/delay.h>
> +#include <linux/regulator/machine.h>
>
> #include <asm/mach-types.h>
> #include <asm/mach/arch.h>
> @@ -616,6 +617,75 @@ static inline void z2_spi_init(void) {}
> #endif
>
> /******************************************************************************
> + * Core power regulator
> + ******************************************************************************/
> +#if defined(CONFIG_REGULATOR_TPS65023) || \
> + defined(CONFIG_REGULATOR_TPS65023_MODULE)
> +static struct regulator_consumer_supply z2_tps65021_consumers[] = {
> + {
> + .supply = "vcc_core",
> + }
> +};
> +
> +static struct regulator_init_data z2_tps65021_info[] = {
> + {
> + .constraints = {
> + .name = "vcc_core range",
> + .min_uV = 800000,
> + .max_uV = 1600000,
> + .always_on = 1,
> + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
> + },
> + .consumer_supplies = z2_tps65021_consumers,
> + .num_consumer_supplies = ARRAY_SIZE(z2_tps65021_consumers),
> + }, {
> + .constraints = {
> + .name = "DCDC2",
> + .min_uV = 3300000,
> + .max_uV = 3300000,
> + .always_on = 1,
> + },
> + }, {
> + .constraints = {
> + .name = "DCDC3",
> + .min_uV = 1800000,
> + .max_uV = 1800000,
> + .always_on = 1,
> + },
> + }, {
> + .constraints = {
> + .name = "LDO1",
> + .min_uV = 1000000,
> + .max_uV = 3150000,
> + .always_on = 1,
> + },
> + }, {
> + .constraints = {
> + .name = "LDO2",
> + .min_uV = 1050000,
> + .max_uV = 3300000,
> + .always_on = 1,
> + },
> + }
> +};
> +
> +static struct i2c_board_info __initdata z2_pi2c_board_info[] = {
> + {
> + I2C_BOARD_INFO("tps65021", 0x48),
> + .platform_data = &z2_tps65021_info,
> + },
> +};
> +
> +static void __init z2_pmic_init(void)
> +{
> + pxa27x_set_i2c_power_info(NULL);
> + i2c_register_board_info(1, ARRAY_AND_SIZE(z2_pi2c_board_info));
> +}
> +#else
> +static inline void z2_pmic_init(void) {}
> +#endif
> +
> +/******************************************************************************
> * Machine init
> ******************************************************************************/
> static void __init z2_init(void)
> @@ -635,6 +705,7 @@ static void __init z2_init(void)
> z2_pwm_init();
> z2_leds_init();
> z2_keys_init();
> + z2_pmic_init();
> }
>
> MACHINE_START(ZIPIT2, "Zipit Z2")
> --
> 1.7.1
>
>
More information about the linux-arm-kernel
mailing list