Subject: [RFC PATCH 01/11] arm:omap:am33xx: Add voltage domain data

From: [email-masked] (Kevin Hilman)
Date: Wed, 30 Nov 2011 16:11:20 -0800

Vaibhav Hiremath <[email-masked]> writes:

> From: Afzal Mohammed <[email-masked]>
>
> Currently dummy voltage domain data is being created
> in order to succeed boot process.
> Nothing has been done w.r.t actual hardware (voltage control).
>
> Signed-off-by: Afzal Mohammed <[email-masked]>
> Signed-off-by: Vaibhav Hiremath <[email-masked]>

[...]

> --- /dev/null
> +++ b/arch/arm/mach-omap2/voltagedomains33xx_data.c
> @@ -0,0 +1,37 @@
> +/*
> + * AM33XX voltage domain data
> + *
> + * Copyright (C) 2011 Texas Instruments, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +#include <linux/kernel.h>
> +#include <linux/init.h>
> +
> +#include "voltage.h"
> +
> +static struct voltagedomain am33xx_voltdm_mpu = {
> +	.name = "mpu",
> +};

According to the TRM, there is no MPU voltage domain.  Only CORE and RTC
exist.  

However, looking at the data manual (SPRS717 Oct 2011), it seems that
some packages have a separate VDD_MPU while others have a combined
VDD_MPU and VDD_CORE.

This should be clarified and documented in the changelog.

> +static struct voltagedomain am33xx_voltdm_core = {
> +	.name = "core",
> +};
> +
> +static struct voltagedomain am33xx_voltdm_rtc = {
> +	.name = "rtc",
> +};

Won't these basically empty voltage domains fail during voltage init?
At a minimum, it seems they should have '.scaling = false' as well until
voltage scalling is supported.

> +static struct voltagedomain *voltagedomains_am33xx[] __initdata = {
> +	&am33xx_voltdm_mpu,
> +	&am33xx_voltdm_core,
> +	&am33xx_voltdm_rtc,
> +	NULL,
> +};
> +
> +void __init am33xx_voltagedomains_init(void)
> +{
> +	voltdm_init(voltagedomains_am33xx);
> +}

Kevin