19 Jul, 2007

7 commits

  • Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • This patch adds register definitions, clocks and IRQs to the platform devices.

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • If we let unaligned word loads bypass the generic unaligned handling,
    gcc may combine it with a swap.b instruction and turn it into a ldwsp
    instruction, which does not work with unaligned addresses.

    Revert the optimization to prevent the RNDIS driver from crashing.
    Hopefully we'll figure something out later (it may be better to do the
    optimization in gcc.)

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • This adds some STK1002-specific config options covering the jumper settings,
    so the kernel can automatically be configured to include the relevant devices.

    One of them replaces the previous internal SW2_DEFAULT setting; SPI config
    is affected by two of the jumpers; and a fourth one switches between LCD and
    the second Ethernet connector. (There's more that to be done.)

    Signed-off-by: David Brownell
    Signed-off-by: Haavard Skinnemoen

    David Brownell
     
  • This patch enables CPU frequency scaling for AT32AP devices. This will
    enable the CPU to scale between the speed of the high speed bus and
    the master clock and thus save some power.

    The patch also adds a parent to cpu_clk and a cpu_clk_set_rate to
    enable changing the CPU clock divider in a sane way.

    The driver does not check if the given rate is 0, thus resulting in a
    div by 0. I think this check should be go into the clk_set_rate
    framework, and not here.

    Tested on AT32AP7000/ATSTK1000.

    Hardware documentation can be found in the AT32AP7000 datasheet.

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • Split the SM platform device into separate platform devices for PM,
    RTC, WDT and EIC. This is more correct according to the documentation
    and allows us to simplify the code a little.

    Also turn the EIC driver into a real platform driver.

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Hans-Christian Egtvedt

    Haavard Skinnemoen
     
  • Use a more conventional implementation for unaligned access, and include
    an AT32AP-specific optimization: the CPU will handle unaligned words.

    The result is always faster and smaller for 8, 16, and 32 bit values.
    For 64 bit quantities, it's presumably larger.

    Signed-off-by: David Brownell
    Signed-off-by: Haavard Skinnemoen

    David Brownell
     

18 Jul, 2007

33 commits