> > +#elif defined(CONFIG_ARMADA_3700)
> > +/* SAR values for Armada 3700 */
> > +#define MVEBU_TEST_PIN_LATCH_N     MVEBU_REGISTER(0x13808)
> > +#define MVEBU_XTAL_MODE_MASK       BIT(9)
> > +#define CONFIG_SYS_REF_CLK ((readl(MVEBU_TEST_PIN_LATCH_N) & 
> > MVEBU_XTAL_MODE_MASK) ? \
> > +                            40000000 : 25000000)

Stefan,

we discussed this with Pali yesterday. For now, I am okay with it, but
I consider this bad design.

This either should be done via the clk API or, if we insist on keeping
it simple, via a static inline function, with caching via a static
variable, so that the register needs to be read only once (at least for
each compilation unit).

Regarding the clk API kernel has driver for armada-37xx-xtal. But I am
thinking about expanding the clk-fixed-mmio driver so that it would be
more generic and could be used for this.

What do you think?

Marek

Reply via email to