lkml.org 
[lkml]   [2013]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] mfd: palmas add variant and OTP detection
On Friday 22 February 2013 06:22 AM, Ian Lartey wrote:
> From: Graeme Gregory <gg@slimlogic.co.uk>
>
> Read the chip varient and the OTP information from the chip and display
> this on probe to aid in debugging of issues.
>

>
> + /* Read varient info from the device */
> + slave = PALMAS_BASE_TO_SLAVE(PALMAS_ID_BASE);
> + addr = PALMAS_BASE_TO_REG(PALMAS_ID_BASE, PALMAS_PRODUCT_ID_LSB);
> + ret = regmap_read(palmas->regmap[slave], addr, &reg);
> + if (ret < 0) {
> + dev_err(palmas->dev, "Unable to read ID err: %d\n", ret);
> + goto err;
> + }
> +

Can you please use the api palmas_* for reading register which I added
recently. This will reduce the calc of slave and addr and done in single
call?
Same of following code also.


Also can we move all these new code to one function where we read id and
diaplay. To keep probe() smaller.


> + palmas->id = reg;
> +
> + slave = PALMAS_BASE_TO_SLAVE(PALMAS_ID_BASE);
> + addr = PALMAS_BASE_TO_REG(PALMAS_ID_BASE, PALMAS_PRODUCT_ID_MSB);
> + ret = regmap_read(palmas->regmap[slave], addr, &reg);
> + if (ret < 0) {
> + dev_err(palmas->dev, "Unable to read ID err: %d\n", ret);
> + goto err;
> + }
> +
> + palmas->id |= reg << 8;

Is it possible to change variable name id to product_id and then update
to have more meaningful name?
We can add for vendor_id also if require.

> +
> + dev_info(palmas->dev, "Product ID %x\n", palmas->id);
> +
> + slave = PALMAS_BASE_TO_SLAVE(PALMAS_DESIGNREV_BASE);
> + addr = PALMAS_BASE_TO_REG(PALMAS_DESIGNREV_BASE, PALMAS_DESIGNREV);
> + ret = regmap_read(palmas->regmap[slave], addr, &reg);
> + if (ret < 0) {
> + dev_err(palmas->dev, "Unable to read DESIGNREV err: %d\n", ret);
> + goto err;
> + }
> +
> + palmas->designrev = reg & PALMAS_DESIGNREV_DESIGNREV_MASK;
> +
> + dev_info(palmas->dev, "Product Design Rev %x\n", palmas->designrev);
> +
> + slave = PALMAS_BASE_TO_SLAVE(PALMAS_PMU_CONTROL_BASE);
> + addr = PALMAS_BASE_TO_REG(PALMAS_PMU_CONTROL_BASE, PALMAS_SW_REVISION);
> + ret = regmap_read(palmas->regmap[slave], addr, &reg);
> + if (ret < 0) {
> + dev_err(palmas->dev, "Unable to read SW_REVISION err: %d\n",
> + ret);
> + goto err;
> + }
> +
> + palmas->sw_revision = reg;
> +
> + dev_info(palmas->dev, "Product SW Rev %x\n", palmas->sw_revision);
> +


Here designrev also says the ES version and sw revision says the OTP SW
revision.
TI has make the design revision as ES1.0, ES2.0, ES2.1, ES2.2 like this
and other technical names are 0xA0, 0xB0, 0xB1, 0xB2 etc.

Probably I will add this in follow on patch becasue we have some errata
which we need to implement based on the version number.






\
 
 \ /
  Last update: 2013-02-22 12:25    [W:0.054 / U:0.900 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site