<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/arch/arm/mach-imx/system.c, branch dev</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2014-11-21T23:39:36+00:00</updated>
<entry>
<title>ARM: imx: clean up machine mxc_arch_reset_init_dt reset init</title>
<updated>2014-11-21T23:39:36+00:00</updated>
<author>
<name>Jingchang Lu</name>
<email>jingchang.lu@freescale.com</email>
</author>
<published>2014-10-31T09:39:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=08ae9646468c636098f689a72194778b15c9d94a'/>
<id>urn:sha1:08ae9646468c636098f689a72194778b15c9d94a</id>
<content type='text'>
System restart mechanism has been changed with the introduction
of "kernel restart handler call chain support". The imx2 watchdog
based restart handler has been moved to the driver, and these
restart can be removed from the machine layer.

This patch cleans up the device tree version machine reset init with
mxc_arch_reset_init_dt and removes corresponding .restart handler,
for the .init_machine that can be handled by system default after
removing the mxc_arch_reset_init_dt, the .init_machine is also removed.

Signed-off-by: Jingchang Lu &lt;jingchang.lu@freescale.com&gt;
Signed-off-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
</content>
</entry>
<entry>
<title>ARM: i.MX system: Add a reset fallback if base address of watchdog is not set</title>
<updated>2014-07-18T08:10:13+00:00</updated>
<author>
<name>Alexander Shiyan</name>
<email>shc_work@mail.ru</email>
</author>
<published>2014-06-13T07:26:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5a6e1502ebb11770bcd76de7b00baff6cf467fc1'/>
<id>urn:sha1:5a6e1502ebb11770bcd76de7b00baff6cf467fc1</id>
<content type='text'>
This patch adds a reset fallback if base address of watchdog is not set.
This is intended for a targets not compatible with imx-21 watchdog,
i.MX1 for example.

Signed-off-by: Alexander Shiyan &lt;shc_work@mail.ru&gt;
Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
</content>
</entry>
<entry>
<title>ARM: i.MX system: Simplify handling watchdog clock</title>
<updated>2014-07-18T08:10:13+00:00</updated>
<author>
<name>Alexander Shiyan</name>
<email>shc_work@mail.ru</email>
</author>
<published>2014-06-13T07:26:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=ce8ad883873abaccca7282e9136694f49d72ab03'/>
<id>urn:sha1:ce8ad883873abaccca7282e9136694f49d72ab03</id>
<content type='text'>
This patch simplifies handling watchdog clock a bit.
As an additional change, now we properly check WDT clock in a reset
function.

Signed-off-by: Alexander Shiyan &lt;shc_work@mail.ru&gt;
Signed-off-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
</content>
</entry>
<entry>
<title>ARM: l2c: imx: remove direct write to power control register</title>
<updated>2014-05-29T23:49:22+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2014-03-28T14:36:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=28ed53f2227a98fd5af78dfcea28170eadfc991f'/>
<id>urn:sha1:28ed53f2227a98fd5af78dfcea28170eadfc991f</id>
<content type='text'>
Now that we handle this in core code, we don't need platforms enabling
the low power modes directly.

Acked-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: l2c: fix register naming</title>
<updated>2014-05-29T23:48:43+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2014-03-16T20:52:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=1a5a954ce0dd8ba1fc8b5305bcdb6e4cf7d6939b'/>
<id>urn:sha1:1a5a954ce0dd8ba1fc8b5305bcdb6e4cf7d6939b</id>
<content type='text'>
We have a mixture of different devices with different register layouts,
but we group all the bits together in an opaque mess.  Split them out
into those which are L2C-310 specific and ones which refer to earlier
devices.  Provide full auxiliary control register definitions.

Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Acked-by: Stephen Warren &lt;swarren@nvidia.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: l2c: remove unnecessary UL-suffix to mask values</title>
<updated>2014-05-22T15:38:43+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2014-03-19T12:50:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=d453ef752cf01e96168ea012016baea0079f5377'/>
<id>urn:sha1:d453ef752cf01e96168ea012016baea0079f5377</id>
<content type='text'>
They're u32, they're not unsigned long.  The UL suffix is not required
here.

Acked-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: imx: improve mxc_restart() on the SRC bit writes</title>
<updated>2013-11-11T14:58:43+00:00</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@linaro.org</email>
</author>
<published>2013-10-31T02:35:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=2c11b57a8a8d83ffa91aebb12c90488c8802e6f3'/>
<id>urn:sha1:2c11b57a8a8d83ffa91aebb12c90488c8802e6f3</id>
<content type='text'>
The current comment in the code does not make it clear why the double writes
on SRC bit is needed.  Let's quote the errata to get it clear.  Also, to
ensure there are at least 2 writes happen in the same one 32kHz period,
we actually need 3 writes.  Let's add the third one.

Signed-off-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
</content>
</entry>
<entry>
<title>ARM: imx: remove imx_src_prepare_restart() call</title>
<updated>2013-11-11T14:58:43+00:00</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@linaro.org</email>
</author>
<published>2013-10-28T08:37:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=b6e23bb63f28f0a8ffa7cf9824fa48000c08f9b2'/>
<id>urn:sha1:b6e23bb63f28f0a8ffa7cf9824fa48000c08f9b2</id>
<content type='text'>
There is ~10% possibility that the following emergency restart command
fails to reboot imx6q.

$ echo b &gt; /proc/sysrq-trigger

The IMX restart routine mxc_restart() assumes that it will always run on
primary core, and will call imx_src_prepare_restart() to disable
secondary cores in order to get them come to online in the following
boot.  However, the assumption is only true for normal kernel_restart()
case where migrate_to_reboot_cpu() will be called to migrate to primary
core, but not necessarily true for emergency_restart() case.  So when
emergency_restart() calls into mxc_restart() on any secondary core,
system will hang immediately once imx_src_prepare_restart() is called
to disabled secondary cores.  Since emergency_restart() is defined as a
function that is safe to call in interrupt context, we cannot just call
migrate_to_reboot_cpu() to fix the issue.

Fortunately, we just found that the issue can be fixed at imx6q platform
level.  We used to call imx_src_prepare_restart() to disable all
secondary cores before resetting hardware.  Otherwise, the secondary
will fail come to online in the reboot.  However, we recently found that
after commit 6050d18 (ARM: imx: reset core along with enable/disable
operation) comes to play, we do not need to reset the secondary cores
any more.  That said, mxc_restart() now can run on any core to reboot
the system, as long as we remove the imx_src_prepare_restart() call from
mxc_restart().

So let's simply remove imx_src_prepare_restart() call to fix the above
emergency restart failure.

Reported-by: Jiada Wang &lt;jiada_wang@mentor.com&gt;
Signed-off-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
</content>
</entry>
<entry>
<title>ARM: imx: replace imx6q_restart() with mxc_restart()</title>
<updated>2013-10-21T01:36:53+00:00</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@linaro.org</email>
</author>
<published>2013-10-06T08:47:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=87a84b69824d7fd63b20f3bc98d75c0238b8e7d0'/>
<id>urn:sha1:87a84b69824d7fd63b20f3bc98d75c0238b8e7d0</id>
<content type='text'>
The imx6q_restart() works fine with normal reboot but will run into
problem with emergency reboot like sysrq-b.  In that case, of_iomap()
gets called from interrupt context and hence triggers the BUG_ON in
__get_vm_area_node().

Actually, since commit c1e31d1 (ARM: imx: create
mxc_arch_reset_init_dt() for DT boot), imx6q/dl should try to use
mxc_restart() by calling mxc_arch_reset_init_dt() beforehand, where
things like of_iomap() can be done.

The patch updates mxc_restart() a little bit to get it work for imx6q/dl
and kill imx6q_restart() completely.

Reported-by: Nathan Lynch &lt;nathan_lynch@mentor.com&gt;
Signed-off-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
</content>
</entry>
<entry>
<title>ARM: imx: i.mx6d/q: disable the double linefill feature of PL310</title>
<updated>2013-09-17T02:04:24+00:00</updated>
<author>
<name>Jason Liu</name>
<email>r64343@freescale.com</email>
</author>
<published>2013-09-16T01:29:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=9779f0e1d75c99c79000ed9e303287fc23da3e9e'/>
<id>urn:sha1:9779f0e1d75c99c79000ed9e303287fc23da3e9e</id>
<content type='text'>
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: Jason Liu &lt;r64343@freescale.com&gt;
Signed-off-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
</content>
</entry>
</feed>
