On 25 October 2016 at 03:07, Guenter Roeck <li...@roeck-us.net> wrote: > The code used default values for PXA270 to configure CCCR. For PXA255, > the resulting register value is invalid (unsupported) and resulted > in a division by zero in the Linux kernel. Use default values from > datasheet instead. > > Signed-off-by: Guenter Roeck <li...@roeck-us.net> > --- > hw/arm/pxa2xx.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c > index 2a2a821..4d9aed4 100644 > --- a/hw/arm/pxa2xx.c > +++ b/hw/arm/pxa2xx.c > @@ -2274,7 +2274,9 @@ PXA2xxState *pxa255_init(MemoryRegion *address_space, > unsigned int sdram_size) > qdev_get_gpio_in(s->pic, PXA2XX_PIC_LCD)); > > s->cm_base = 0x41300000; > - s->cm_regs[CCCR >> 2] = 0x02000210; /* 416.0 MHz */ > + s->cm_regs[CCCR >> 2] = 0x00000121; /* from datasheet */ > + s->cm_regs[CKEN >> 2] = 0x00017def; /* from datasheet */ > + > s->clkcfg = 0x00000009; /* Turbo mode active */ > memory_region_init_io(&s->cm_iomem, NULL, &pxa2xx_cm_ops, s, > "pxa2xx-cm", 0x1000); > memory_region_add_subregion(address_space, s->cm_base, &s->cm_iomem);
Applied to target-arm.next, thanks (I've fixed the tabs-vs-spaces style nit that checkpatch gripes about). -- PMM