Hi, On Thu, Jan 10, 2013 at 14:04:23, Shawn Guo wrote: > Update operating-points per hardware document and add support for > 1 GHz and 1.2 GHz frequencies. > > 400 MHz, 800 MHz and 1 GHz should be supported by all i.MX6Q chips, > while 1.2 GHz support needs to know from OTP fuse bit. > > Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> > --- > arch/arm/boot/dts/imx6q.dtsi | 19 ++++++++---- > arch/arm/mach-imx/mach-imx6q.c | 65 ++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 78 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi > index d6265ca..17c5618 100644 > --- a/arch/arm/boot/dts/imx6q.dtsi > +++ b/arch/arm/boot/dts/imx6q.dtsi > @@ -38,12 +38,18 @@ > next-level-cache = <&L2>; > operating-points = < > /* kHz uV */ > - 792000 1100000 > + 996000 1250000 > + 792000 1150000 > 396000 950000 > - 198000 850000 > >; [...] > > +#define OCOTP_CFG3 0x440 > +#define OCOTP_CFG3_SPEED_SHIFT 16 > +#define OCOTP_CFG3_SPEED_1P2GHZ 0x3 > + > +static void __init imx6q_opp_check_1p2ghz(struct device *cpu_dev) > +{ > + struct device_node *np; > + void __iomem *base; > + u32 val; > + > + np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-ocotp"); > + if (!np) { > + pr_warn("failed to find ocotp node\n"); > + return; > + } > + > + base = of_iomap(np, 0); > + if (!base) { > + pr_warn("failed to map ocotp\n"); > + goto put_node; > + } > + > + val = readl_relaxed(base + OCOTP_CFG3); > + val >>= OCOTP_CFG3_SPEED_SHIFT; > + if ((val & 0x3) == OCOTP_CFG3_SPEED_1P2GHZ) > + if (opp_add(cpu_dev, 1200000000, 1275000)) > + pr_warn("failed to add 1.2 GHz operating point\n"); > + I just happened to be thinking about the problem of enabling additional OPPs based on some Si rev info for TI's AM335x. The other approach could be to register additional OPPs and mark then as disabled to begin with. A platform specific hook could then be used to selectively enable the OPPs for based on the Si rev info. If this approach was already discussed sorry for the noise. Regards, Vaibhav -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html