1. 21 10月, 2013 4 次提交
  2. 30 9月, 2013 1 次提交
  3. 19 9月, 2013 2 次提交
  4. 17 9月, 2013 3 次提交
    • J
      ARM: imx: i.mx6d/q: disable the double linefill feature of PL310 · 9779f0e1
      Jason Liu 提交于
      The L2 cache controller(PL310) version on the i.MX6D/Q is r3p1-50rel0
      The L2 cache controller(PL310) version on the i.MX6DL/SOLO/SL is r3p2
      But according to ARM PL310 errata: 752271
      ID: 752271: Double linefill feature can cause data corruption
      Fault Status: Present in: r3p0, r3p1, r3p1-50rel0. Fixed in r3p2
      Workaround: The only workaround to this erratum is to disable the
      double linefill feature. This is the default behavior.
      
      without this patch, you will meet the following error when run the
      memtester application at: http://pyropus.ca/software/memtester/
      
      FAILURE: 0x00100000 != 0x00200000 at offset 0x01365664.
      FAILURE: 0x00100000 != 0x00200000 at offset 0x01365668.
      FAILURE: 0x00100000 != 0x00200000 at offset 0x0136566c.
      FAILURE: 0x00100000 != 0x00200000 at offset 0x01365670.
      FAILURE: 0x00100000 != 0x00200000 at offset 0x01365674.
      FAILURE: 0x00100000 != 0x00200000 at offset 0x01365678.
      Signed-off-by: NJason Liu <r64343@freescale.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      9779f0e1
    • F
      ARM: mach-imx: clk-imx51-imx53: Fix 'spdif1_pred' clock registration · 5d5248a6
      Fabio Estevam 提交于
      Since commit beb2d1c1 (ARM i.MX5: Add S/PDIF clocks), the following clock
      error appears on mx51:
      
      TrustZone Interrupt Controller (TZIC) initialized
      i.MX51 clk 180: register failed with -17
      i.MX5 clk 180: register failed with -17
      sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
      CPU identified as i.MX51, silicon rev 3.0
      ...
      
      Clock 180 corresponds to 'spdif1_podf' and this clock is getting registered
      twice.
      
      Fix it, by properly registering the 'spdif1_pred' clock, which should not
      reference 'spdif1_podf'.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      5d5248a6
    • S
      ARM: imx: initialize clk_init_data.flags for clk-fixup-mux · bdb1b5f2
      Shawn Guo 提交于
      The clk_init_data.flags of clk-fixup-mux is left there without
      initialization.  It may hold some random data and cause clock framework
      interpret the clock in an unexpected way.  At least on imx6sl, the
      following division by zero error with sched_clock is seen because of it.
      
      Division by zero in kernel.
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.11.0-rc3+ #19
      Backtrace:
      [<80011af0>] (dump_backtrace+0x0/0x10c) from [<80011c90>] (show_stack+0x18/0x1c)
       r6:3b9aca00 r5:00000020 r4:00000000 r3:00000000
      [<80011c78>] (show_stack+0x0/0x1c) from [<8055e02c>] (dump_stack+0x78/0x94)
      [<8055dfb4>] (dump_stack+0x0/0x94) from [<80011924>] (__div0+0x18/0x20)
       r4:00000000 r3:00000000
      [<8001190c>] (__div0+0x0/0x20) from [<8026c408>] (Ldiv0_64+0x8/0x18)
      [<8006330c>] (clocks_calc_mult_shift+0x0/0xf8) from [<8072f604>] (setup_sched_clock+0x88/0x1f0)
      [<8072f57c>] (setup_sched_clock+0x0/0x1f0) from [<8071ad48>] (mxc_timer_init+0xe8/0x17c)
      [<8071ac60>] (mxc_timer_init+0x0/0x17c) from [<807290b0>] (imx6sl_clocks_init+0x1db8/0x1dc0)
       r8:807a9ca4 r7:00000000 r6:80777564 r5:8100c1f4 r4:c0820000
      [<807272f8>] (imx6sl_clocks_init+0x0/0x1dc0) from [<807420ac>] (of_clk_init+0x40/0x6c)
      [<8074206c>] (of_clk_init+0x0/0x6c) from [<807290cc>] (imx6sl_timer_init+0x14/0x18)
       r5:807a8e80 r4:ffffffff
      [<807290b8>] (imx6sl_timer_init+0x0/0x18) from [<80716e1c>] (time_init+0x24/0x34)
      [<80716df8>] (time_init+0x0/0x34) from [<80713738>] (start_kernel+0x1b0/0x310)
      [<80713588>] (start_kernel+0x0/0x310) from [<80008074>] (0x80008074)
       r7:80770b08 r6:80754cd4 r5:8076c8c4 r4:10c53c7d
      sched_clock: 32 bits at 0 Hz, resolution 0ns, wraps every 0ms
      
      Fix the bug by initializing init.flags as zero.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      bdb1b5f2
  5. 30 8月, 2013 1 次提交
  6. 26 8月, 2013 1 次提交
  7. 22 8月, 2013 10 次提交
  8. 21 8月, 2013 1 次提交
  9. 20 8月, 2013 1 次提交
    • J
      clk: add CLK_SET_RATE_NO_REPARENT flag · 819c1de3
      James Hogan 提交于
      Add a CLK_SET_RATE_NO_REPARENT clock flag, which will prevent muxes
      being reparented during clk_set_rate.
      
      To avoid breaking existing platforms, all callers of clk_register_mux()
      are adjusted to pass the new flag. Platform maintainers are encouraged
      to remove the flag if they wish to allow mux reparenting on set_rate.
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Reviewed-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Mike Turquette <mturquette@linaro.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Viresh Kumar <viresh.linux@gmail.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
      Cc: Chao Xie <xiechao.mail@gmail.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "Emilio López" <emilio@elopez.com.ar>
      Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Andrew Chew <achew@nvidia.com>
      Cc: Doug Anderson <dianders@chromium.org>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Paul Walmsley <pwalmsley@nvidia.com>
      Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
      Cc: Thomas Abraham <thomas.abraham@linaro.org>
      Cc: Tomasz Figa <t.figa@samsung.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: spear-devel@list.st.com
      Cc: linux-tegra@vger.kernel.org
      Tested-by: NHaojian Zhuang <haojian.zhuang@gmail.com>
      Acked-by: Stephen Warren <swarren@nvidia.com> [tegra]
      Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> [sunxi]
      Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com> [Zynq]
      Signed-off-by: NMike Turquette <mturquette@linaro.org>
      819c1de3
  10. 16 8月, 2013 13 次提交
  11. 03 8月, 2013 1 次提交
  12. 15 7月, 2013 2 次提交
    • S
      ARM: imx: fix vf610 enet module clock selection · 4f71612e
      Shawn Guo 提交于
      The fec/enet driver calculates MDC rate with the formula below.
      
        ref_freq / ((MII_SPEED + 1) x 2)
      
      The ref_freq here is the fec internal module clock, which is missing
      from clk-vf610 clock driver right now.  And clk-vf610 driver mistakenly
      supplies RMII clock (50 MHz) as the source to fec.  This results in the
      situation that fec driver gets ref_freq as 50 MHz, while physically it
      runs at 66 MHz (fec module clock physically sources from ipg which runs
      at 66 MHz).  That's why software expects MDC runs at 2.5 MHz, while the
      measurement tells it runs at 3.3 MHz.  And this causes the PHY KSZ8041
      keeps swithing between Full and Half mode as below.
      
        libphy: 400d0000.etherne:00 - Link is Up - 100/Full
        libphy: 400d0000.etherne:00 - Link is Up - 100/Half
        libphy: 400d0000.etherne:00 - Link is Up - 100/Full
        libphy: 400d0000.etherne:00 - Link is Up - 100/Half
        libphy: 400d0000.etherne:00 - Link is Up - 100/Full
        libphy: 400d0000.etherne:00 - Link is Up - 100/Half
      
      Add the missing module clock for ENET0 and ENET1, and correct the clock
      supplying in device tree to fix above issue.
      
      Thanks to Alison Wang <b18965@freescale.com> for debugging the issue.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      4f71612e
    • L
      ARM: i.MX6Q: correct emi_sel clock muxing · 3b79cd15
      Liu Ying 提交于
      The correct muxing for emi_sel clock should be
      2b'00 - 396M PFD
      2b'01 - PLL3
      2b'10 - AXI clk root
      2b'11 - 352M PFD
      
      This patch corrects the muxing in the clock driver.
      Signed-off-by: NLiu Ying <Ying.Liu@freescale.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Acked-by: NDirk Behme <dirk.behme@de.bosch.com>
      3b79cd15