<feed xmlns='http://www.w3.org/2005/Atom'>
<title>starfive-tech/u-boot.git/drivers/watchdog, branch rtthread_AMP</title>
<subtitle>StarFive Tech U-Boot for VisionFive (JH7110) boards (mirror)</subtitle>
<id>https://git.radix-linux.su/starfive-tech/u-boot.git/atom?h=rtthread_AMP</id>
<link rel='self' href='https://git.radix-linux.su/starfive-tech/u-boot.git/atom?h=rtthread_AMP'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/'/>
<updated>2021-09-20T05:39:29+00:00</updated>
<entry>
<title>wdt: dw: Fix passing NULL pointer to reset functions</title>
<updated>2021-09-20T05:39:29+00:00</updated>
<author>
<name>Sean Anderson</name>
<email>seanga2@gmail.com</email>
</author>
<published>2021-09-11T19:11:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=b31077feca2276f0860706d1843f548baae68aee'/>
<id>urn:sha1:b31077feca2276f0860706d1843f548baae68aee</id>
<content type='text'>
reset_*_bulk expects a real pointer.

Fixes: 4f7abafe1c ("driver: watchdog: reset watchdog in designware_wdt_stop() function")
Signed-off-by: Sean Anderson &lt;seanga2@gmail.com&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
</content>
</entry>
<entry>
<title>watchdog: versal: Include header file needed for dev_ functions</title>
<updated>2021-08-26T06:08:11+00:00</updated>
<author>
<name>Ashok Reddy Soma</name>
<email>ashok.reddy.soma@xilinx.com</email>
</author>
<published>2021-08-10T06:16:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=e32d8916594cf64f38645acc860ec73ec242fe0d'/>
<id>urn:sha1:e32d8916594cf64f38645acc860ec73ec242fe0d</id>
<content type='text'>
dev_dbg, dev_err and dev_warn seems to be moved to different header file.
Include dm/device_compat.h file to compile properly.

Signed-off-by: Ashok Reddy Soma &lt;ashok.reddy.soma@xilinx.com&gt;
Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'u-boot-imx-20210717' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx</title>
<updated>2021-07-17T14:52:21+00:00</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2021-07-17T14:52:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=d5dbc661c3041e910e161a95fca9e615d85730ac'/>
<id>urn:sha1:d5dbc661c3041e910e161a95fca9e615d85730ac</id>
<content type='text'>
i.MX
----

- mx7ulp : fix  WDOG
- imx8 : Phytec
- USB3 support for i.MX8

CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/8277
</content>
</entry>
<entry>
<title>mx7ulp: wdog: Wait for WDOG unlock and reconfiguration to complete</title>
<updated>2021-07-17T12:59:56+00:00</updated>
<author>
<name>Breno Lima</name>
<email>breno.lima@nxp.com</email>
</author>
<published>2021-06-29T02:32:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=edf95bdeddeab8f0fd7b88d4865fbc6e99071c73'/>
<id>urn:sha1:edf95bdeddeab8f0fd7b88d4865fbc6e99071c73</id>
<content type='text'>
According to i.MX7ULP Reference Manual we should wait for WDOG unlock
and reconfiguration to complete.

Section "59.5.3 Configure Watchdog" provides the following example:

DisableInterrupts; //disable global interrupt
WDOG_CNT = 0xD928C520; //unlock watchdog
while(WDOG_CS[ULK]==0); //wait until registers are unlocked
WDOG_TOVAL = 256; //set timeout value
WDOG_CS = WDOG_CS_EN(1) | WDOG_CS_CLK(1) | WDOG_CS_INT(1) |
	  WDOG_CS_WIN(0) | WDOG_CS_UPDATE(1);
while(WDOG_CS[RCS]==0); //wait until new configuration takes effect
EnableInterrupts; //enable global interrupt

Update U-Boot WDOG driver to align with i.MX7ULP reference manual.

Use 32 bits accessing to CS register. According to RM, the bits in
this register only can write once after unlock. So using 8 bits access
will cause problem.

Reviewed-by: Ye Li &lt;ye.li@nxp.com&gt;
Signed-off-by: Breno Lima &lt;breno.lima@nxp.com&gt;
Signed-off-by: Peng Fan &lt;peng.fan@nxp.com&gt;
</content>
</entry>
<entry>
<title>mx7ulp: Update unlock and refresh sequences in sWDOG driver</title>
<updated>2021-07-17T12:59:56+00:00</updated>
<author>
<name>Breno Lima</name>
<email>breno.lima@nxp.com</email>
</author>
<published>2021-06-29T02:32:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=c6ae713c7ccf2a6a30b6bffb47d7806c43d9d05f'/>
<id>urn:sha1:c6ae713c7ccf2a6a30b6bffb47d7806c43d9d05f</id>
<content type='text'>
According to i.MX7ULP Reference Manual the second word write for both
UNLOCK and REFRESH operations must occur in maximum 16 bus clock.

The current code is using writel() function which has a DMB barrier to
order the memory access. The DMB between two words write may introduce
some delay in certain circumstance, causing a WDOG timeout due to 16 bus
clock window requirement.

Replace writel() function by __raw_writel() to achieve a faster memory
access and avoid such issue.

Reviewed-by: Ye Li &lt;ye.li@nxp.com&gt;
Signed-off-by: Breno Lima &lt;breno.lima@nxp.com&gt;
</content>
</entry>
<entry>
<title>drivers: watchdog: wdt-uclass: Use IS_ENABLED for WATCHDOG_AUTOSTART</title>
<updated>2021-07-16T08:28:35+00:00</updated>
<author>
<name>Teresa Remmet</name>
<email>t.remmet@phytec.de</email>
</author>
<published>2021-07-15T11:26:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=5fc094351381c4254098a25404d8712324b6918e'/>
<id>urn:sha1:5fc094351381c4254098a25404d8712324b6918e</id>
<content type='text'>
There is no separate SPL/TPL config for WATCHDOG_AUTOSTART.
So use IS_ENABLED instead of CONFIG_IS_ENABLED to make watchdog
working in SPL again.

Fixes: 830d29ac3721 ("watchdog: Allow to use CONFIG_WDT without starting watchdog")
Signed-off-by: Teresa Remmet &lt;t.remmet@phytec.de&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
</content>
</entry>
<entry>
<title>driver: watchdog: reset watchdog in designware_wdt_stop() function</title>
<updated>2021-07-16T08:28:35+00:00</updated>
<author>
<name>MengLi</name>
<email>meng.li@windriver.com</email>
</author>
<published>2021-05-24T02:22:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=4f7abafe1c6af5d2fc14ef6dd1679086032805f9'/>
<id>urn:sha1:4f7abafe1c6af5d2fc14ef6dd1679086032805f9</id>
<content type='text'>
In uboot command line environment, watchdog is not able to be
stopped with below commands:
SOCFPGA_STRATIX10 # wdt dev watchdog@ffd00200
SOCFPGA_STRATIX10 # wdt stop
Refer to watchdog driver in linux kernel, it is also need to reset
watchdog after disable it so that the disable action takes effect.

Signed-off-by: Meng Li &lt;Meng.Li@windriver.com&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
Reviewed-by: Sean Anderson &lt;sean.anderson@seco.com&gt;
</content>
</entry>
<entry>
<title>dm: define LOG_CATEGORY for all uclass</title>
<updated>2021-07-06T16:38:03+00:00</updated>
<author>
<name>Patrick Delaunay</name>
<email>patrick.delaunay@foss.st.com</email>
</author>
<published>2021-04-27T09:02:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=b953ec2bca1ebe059366e870eb4bec5e7af9c36b'/>
<id>urn:sha1:b953ec2bca1ebe059366e870eb4bec5e7af9c36b</id>
<content type='text'>
Define LOG_CATEGORY for all uclass to allow filtering with
log command.

Signed-off-by: Patrick Delaunay &lt;patrick.delaunay@foss.st.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>watchdog: cadence: Add expire_now method</title>
<updated>2021-07-01T07:25:06+00:00</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2021-06-28T11:44:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=76bf8f3e44813bb6f5e57860dbfe51aa27ea5e91'/>
<id>urn:sha1:76bf8f3e44813bb6f5e57860dbfe51aa27ea5e91</id>
<content type='text'>
It is working in a way that only minimal timeout is setup to reach
expiration just right after it is setup.
Please make sure that PMUFW is compiled with ENABLE_EM flag.

On U-Boot prompt you can test it like:
ZynqMP&gt; wdt dev watchdog@fd4d0000
ZynqMP&gt; wdt list
watchdog@fd4d0000 (cdns_wdt)
ZynqMP&gt; wdt dev
dev: watchdog@fd4d0000
ZynqMP&gt; wdt expire
(And reset should happen here)

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
</content>
</entry>
<entry>
<title>watchdog: use time_after_eq() in watchdog_reset()</title>
<updated>2021-04-27T06:28:07+00:00</updated>
<author>
<name>Rasmus Villemoes</name>
<email>rasmus.villemoes@prevas.dk</email>
</author>
<published>2021-04-13T14:43:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=7dd2097e21342f1b8dc332ed4f5711b2a4b64419'/>
<id>urn:sha1:7dd2097e21342f1b8dc332ed4f5711b2a4b64419</id>
<content type='text'>
Some boards don't work with the rate-limiting done in the generic
watchdog_reset() provided by wdt-uclass.

For example, on powerpc, get_timer() ceases working during bootm since
interrupts are disabled before the kernel image gets decompressed, and
when the decompression takes longer than the watchdog device
allows (or enough of the budget that the kernel doesn't get far enough
to assume responsibility for petting the watchdog), the result is a
non-booting board.

As a somewhat hacky workaround (because DT is supposed to describe
hardware), allow specifying hw_margin_ms=0 in device tree to
effectively disable the ratelimiting and actually ping the watchdog
every time watchdog_reset() is called. For that to work, the "has
enough time passed" check just needs to be tweaked a little to allow
the now==next_reset case as well.

Suggested-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Rasmus Villemoes &lt;rasmus.villemoes@prevas.dk&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
</content>
</entry>
</feed>
