[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed490090-c127-3f4f-d923-2d04918d00cb@cogentembedded.com>
Date: Sat, 16 Jul 2016 20:34:43 +0300
From: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
To: Jamie Lentin <jm@...tin.co.uk>,
Jason Cooper <jason@...edaemon.net>,
Andrew Lunn <andrew@...n.ch>,
Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>,
Gregory Clement <gregory.clement@...e-electrons.com>,
Imre Kaloz <kaloz@...nwrt.org>,
Florian Fainelli <f.fainelli@...il.com>
Cc: devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v0 03/10] arm: orion5x: Add clk support for mv88f5181
Hello.
On 7/16/2016 5:29 PM, Jamie Lentin wrote:
> Referring to values in the u-boot port, add support for the mv88f5181
>
> Signed-off-by: Jamie Lentin <jm@...tin.co.uk>
[...]
> diff --git a/drivers/clk/mvebu/orion.c b/drivers/clk/mvebu/orion.c
> index fd12956..a6e5bee 100644
> --- a/drivers/clk/mvebu/orion.c
> +++ b/drivers/clk/mvebu/orion.c
> @@ -21,6 +21,76 @@ static const struct coreclk_ratio orion_coreclk_ratios[] __initconst = {
> };
>
> /*
> + * Orion 5181
> + */
> +
> +#define SAR_MV88F5181_TCLK_FREQ 8
> +#define SAR_MV88F5181_TCLK_FREQ_MASK 0x3
> +
> +static u32 __init mv88f5181_get_tclk_freq(void __iomem *sar)
> +{
> + u32 opt = (readl(sar) >> SAR_MV88F5181_TCLK_FREQ) &
> + SAR_MV88F5181_TCLK_FREQ_MASK;
> + if (opt == 0)
> + return 133333333;
> + else if (opt == 1)
> + return 150000000;
> + else if (opt == 2)
> + return 166666667;
Do you know about the *switch* statement? :-)
> + else
> + return 0;
> +}
> +
> +#define SAR_MV88F5181_CPU_FREQ 4
> +#define SAR_MV88F5181_CPU_FREQ_MASK 0xf
> +
> +static u32 __init mv88f5181_get_cpu_freq(void __iomem *sar)
> +{
> + u32 opt = (readl(sar) >> SAR_MV88F5181_CPU_FREQ) &
> + SAR_MV88F5181_CPU_FREQ_MASK;
> + if (opt == 0)
> + return 333333333;
> + else if (opt == 1 || opt == 2)
> + return 400000000;
> + else if (opt == 3)
> + return 500000000;
Asks to be a *switch* as well...
> + else
> + return 0;
> +}
> +
> +static void __init mv88f5181_get_clk_ratio(void __iomem *sar, int id,
> + int *mult, int *div)
> +{
> + u32 opt = (readl(sar) >> SAR_MV88F5181_CPU_FREQ) &
> + SAR_MV88F5181_CPU_FREQ_MASK;
> + if (opt == 0 || opt == 1) {
> + *mult = 1;
> + *div = 2;
> + } else if (opt == 2 || opt == 3) {
> + *mult = 1;
> + *div = 3;
> + } else {
> + *mult = 0;
> + *div = 1;
> + }
This one too...
[...]
MBR, Sergei
Powered by blists - more mailing lists