From: Maksim Kozlov <m.kozlov@samsung.com>
To: Dmitry Zhurikhin <zhur@ispras.ru>
Cc: Kyungmin Park <kyungmin.park@samsung.com>,
Igor Mitsyanko <i.mitsyanko@samsung.com>,
qemu-devel@nongnu.org, Evgeny Voevodin <e.voevodin@samsung.com>,
Dmitry Solodkiy <d.solodkiy@samsung.com>
Subject: Re: [Qemu-devel] [PATCH] Support system reset in Exynos4210
Date: Wed, 04 Apr 2012 20:16:35 +0400 [thread overview]
Message-ID: <4F7C73E3.4000100@samsung.com> (raw)
In-Reply-To: <4F7C401D.4000502@ispras.ru>
04.04.2012 16:35, Dmitry Zhurikhin пишет:
> On 2012-04-04 15:55, Maksim Kozlov wrote:
>> 04.04.2012 14:08, Dmitry Zhurikhin пишет:
>>> Reset the system when 1 is written to SWRESET register
>>>
>>> Signed-off-by: Dmitry Zhurikhin<zhur@ispras.ru>
>>> ---
>>> hw/exynos4210_pmu.c | 11 +++++++++++
>>> 1 files changed, 11 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/hw/exynos4210_pmu.c b/hw/exynos4210_pmu.c
>>> index c12d750..edf6e34 100644
>>> --- a/hw/exynos4210_pmu.c
>>> +++ b/hw/exynos4210_pmu.c
>>> @@ -25,6 +25,7 @@
>>> */
>>>
>>> #include "sysbus.h"
>>> +#include "sysemu.h"
>>>
>>> #ifndef DEBUG_PMU
>>> #define DEBUG_PMU 0
>>> @@ -422,6 +423,16 @@ static void exynos4210_pmu_write(void *opaque,
>>> target_phys_addr_t offset,
>>> if (reg_p->offset == offset) {
>>> PRINT_DEBUG_EXTEND("%s<0x%04x> <- 0x%04x\n", reg_p->name,
>>> (uint32_t)offset, (uint32_t)val);
>>> + switch (offset) {
>>> + case SWRESET:
>>> + if (val& 1) {
>>> + qemu_system_reset_request();
>>> + }
>>> + break;
>>> + default:
>>> + /* Nothing */
>>> + break;
>>> + }
>>> s->reg[i] = val;
>>> return;
>>> }
>> It's not quite well. At first, when you do reset, appropriate status
>> must be set in RST_STAT register. At second, not all registers in PMU
>> should be set in default value after reset, so you should change PMU
>> reset function for handling different resets (see spec) So, this
>> functionality should be wrote more carefully
> Well, this is the case when there is a need to modify booting procedure
> depending on the values of these registers. I haven't found any such
> code in the current kernel. As I now remember saving their values was
> indeed important when we were trying to use an U-Boot bootloader. But
> as long as we are sticking with QEMU bootloader it doesn't matter.
3.4-rc1 and 2.6.36 kernels use INFORM5 register which should keep his
value during sw reset. And U-Boot (which can be used instead of kernel
for some purposes) uses INFORM[456] registers which should be saved as well.
My opinion is we should not add code which describe incorrect behavior
of the device regardless of whether kernel uses some registers or no.
> Anyway this information is unfortunately absent in Exynos4210 public
> documentation.
Hm... Really, I've just found out that public specification doesn't
contain information about PMU
>>
>> And use #define for registers and fields of the registers. It's more
>> clearly, as for me.
> As you say.
:)
>>
>> Regards,
>> MK
>
> Regards,
> Dmitry
>
>
next prev parent reply other threads:[~2012-04-04 16:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-04 10:08 [Qemu-devel] [PATCH] Support system reset in Exynos4210 Dmitry Zhurikhin
2012-04-04 11:55 ` Maksim Kozlov
2012-04-04 12:35 ` Dmitry Zhurikhin
2012-04-04 16:16 ` Maksim Kozlov [this message]
2012-04-04 17:37 ` Dmitry Zhurikhin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F7C73E3.4000100@samsung.com \
--to=m.kozlov@samsung.com \
--cc=d.solodkiy@samsung.com \
--cc=e.voevodin@samsung.com \
--cc=i.mitsyanko@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=qemu-devel@nongnu.org \
--cc=zhur@ispras.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.