public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: khilman@deeprootsystems•com (Kevin Hilman)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v1] davinci: Add I2C0 devices to MityDSP-L138/MityARM-1808 platform
Date: Tue, 07 Sep 2010 08:39:43 -0700	[thread overview]
Message-ID: <87r5h5imv4.fsf@deeprootsystems.com> (raw)
In-Reply-To: <1283707779-23204-1-git-send-email-michael.williamson@criticallink.com> (Michael Williamson's message of "Sun, 5 Sep 2010 13:29:39 -0400")

Michael Williamson <michael.williamson@criticallink•com> writes:

> This patch adds the i2c0 bus and attached devices to the MityDSP-L138
> and MityARM-1808 davinci SoM.  Included is a TPS65023 voltage regulator
> needed for power management and a small 24c02 EPROM that contains
> factory configuration data.
>
> Signed-off-by: Michael Williamson <michael.williamson@criticallink•com>

Applying and queing for 2.6.37 in davinci-next.

Kevin

> ---
> This is based on 08f143b7cdbe9705f6856c2a63b6d3b14b5a8eee of davinci-linux
> tree.
>
> Changes since v0:
>    1. Misc formatting
>
>  arch/arm/mach-davinci/board-mityomapl138.c |  145 ++++++++++++++++++++++++++++
>  1 files changed, 145 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-davinci/board-mityomapl138.c b/arch/arm/mach-davinci/board-mityomapl138.c
> index 7146916..84d5aff 100644
> --- a/arch/arm/mach-davinci/board-mityomapl138.c
> +++ b/arch/arm/mach-davinci/board-mityomapl138.c
> @@ -13,6 +13,8 @@
>  #include <linux/console.h>
>  #include <linux/platform_device.h>
>  #include <linux/mtd/partitions.h>
> +#include <linux/regulator/machine.h>
> +#include <linux/i2c.h>
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> @@ -25,6 +27,141 @@
>  #define MITYOMAPL138_PHY_MASK		0x08 /* hardcoded for now */
>  #define MITYOMAPL138_MDIO_FREQUENCY	(2200000) /* PHY bus frequency */
>  
> +static struct davinci_i2c_platform_data mityomap_i2c_0_pdata = {
> +	.bus_freq	= 100,	/* kHz */
> +	.bus_delay	= 0,	/* usec */
> +};
> +
> +/* TPS65023 voltage regulator support */
> +/* 1.2V Core */
> +struct regulator_consumer_supply tps65023_dcdc1_consumers[] = {
> +	{
> +		.supply = "cvdd",
> +	},
> +};
> +
> +/* 1.8V */
> +struct regulator_consumer_supply tps65023_dcdc2_consumers[] = {
> +	{
> +		.supply = "usb0_vdda18",
> +	},
> +	{
> +		.supply = "usb1_vdda18",
> +	},
> +	{
> +		.supply = "ddr_dvdd18",
> +	},
> +	{
> +		.supply = "sata_vddr",
> +	},
> +};
> +
> +/* 1.2V */
> +struct regulator_consumer_supply tps65023_dcdc3_consumers[] = {
> +	{
> +		.supply = "sata_vdd",
> +	},
> +	{
> +		.supply = "usb_cvdd",
> +	},
> +	{
> +		.supply = "pll0_vdda",
> +	},
> +	{
> +		.supply = "pll1_vdda",
> +	},
> +};
> +
> +/* 1.8V Aux LDO, not used */
> +struct regulator_consumer_supply tps65023_ldo1_consumers[] = {
> +	{
> +		.supply = "1.8v_aux",
> +	},
> +};
> +
> +/* FPGA VCC Aux (2.5 or 3.3) LDO */
> +struct regulator_consumer_supply tps65023_ldo2_consumers[] = {
> +	{
> +		.supply = "vccaux",
> +	},
> +};
> +
> +struct regulator_init_data tps65023_regulator_data[] = {
> +	/* dcdc1 */
> +	{
> +		.constraints = {
> +			.min_uV = 1150000,
> +			.max_uV = 1350000,
> +			.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE |
> +					  REGULATOR_CHANGE_STATUS,
> +			.boot_on = 1,
> +		},
> +		.num_consumer_supplies = ARRAY_SIZE(tps65023_dcdc1_consumers),
> +		.consumer_supplies = tps65023_dcdc1_consumers,
> +	},
> +	/* dcdc2 */
> +	{
> +		.constraints = {
> +			.min_uV = 1800000,
> +			.max_uV = 1800000,
> +			.valid_ops_mask = REGULATOR_CHANGE_STATUS,
> +			.boot_on = 1,
> +		},
> +		.num_consumer_supplies = ARRAY_SIZE(tps65023_dcdc2_consumers),
> +		.consumer_supplies = tps65023_dcdc2_consumers,
> +	},
> +	/* dcdc3 */
> +	{
> +		.constraints = {
> +			.min_uV = 1200000,
> +			.max_uV = 1200000,
> +			.valid_ops_mask = REGULATOR_CHANGE_STATUS,
> +			.boot_on = 1,
> +		},
> +		.num_consumer_supplies = ARRAY_SIZE(tps65023_dcdc3_consumers),
> +		.consumer_supplies = tps65023_dcdc3_consumers,
> +	},
> +	/* ldo1 */
> +	{
> +		.constraints = {
> +			.min_uV = 1800000,
> +			.max_uV = 1800000,
> +			.valid_ops_mask = REGULATOR_CHANGE_STATUS,
> +			.boot_on = 1,
> +		},
> +		.num_consumer_supplies = ARRAY_SIZE(tps65023_ldo1_consumers),
> +		.consumer_supplies = tps65023_ldo1_consumers,
> +	},
> +	/* ldo2 */
> +	{
> +		.constraints = {
> +			.min_uV = 2500000,
> +			.max_uV = 3300000,
> +			.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE |
> +					  REGULATOR_CHANGE_STATUS,
> +			.boot_on = 1,
> +		},
> +		.num_consumer_supplies = ARRAY_SIZE(tps65023_ldo2_consumers),
> +		.consumer_supplies = tps65023_ldo2_consumers,
> +	},
> +};
> +
> +static struct i2c_board_info __initdata mityomap_tps65023_info[] = {
> +	{
> +		I2C_BOARD_INFO("tps65023", 0x48),
> +		.platform_data = &tps65023_regulator_data[0],
> +	},
> +	{
> +		I2C_BOARD_INFO("24c02", 0x50),
> +	},
> +};
> +
> +static int __init pmic_tps65023_init(void)
> +{
> +	return i2c_register_board_info(1, mityomap_tps65023_info,
> +					ARRAY_SIZE(mityomap_tps65023_info));
> +}
> +
>  /*
>   * MityDSP-L138 includes a 256 MByte large-page NAND flash
>   * (128K blocks).
> @@ -172,6 +309,14 @@ static void __init mityomapl138_init(void)
>  
>  	davinci_serial_init(&mityomapl138_uart_config);
>  
> +	ret = da8xx_register_i2c(0, &mityomap_i2c_0_pdata);
> +	if (ret)
> +		pr_warning("i2c0 registration failed: %d\n", ret);
> +
> +	ret = pmic_tps65023_init();
> +	if (ret)
> +		pr_warning("TPS65023 PMIC init failed: %d\n", ret);
> +
>  	mityomapl138_setup_nand();
>  
>  	mityomapl138_config_emac();

      reply	other threads:[~2010-09-07 15:39 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-05 17:29 [PATCH v1] davinci: Add I2C0 devices to MityDSP-L138/MityARM-1808 platform Michael Williamson
2010-09-07 15:39 ` Kevin Hilman [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r5h5imv4.fsf@deeprootsystems.com \
    --to=khilman@deeprootsystems$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox