All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Six <mario.six@gdsys.cc>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 6/8] cpu: Add cpu_print_info function
Date: Thu, 26 Apr 2018 08:07:05 +0200	[thread overview]
Message-ID: <CAN1kZoq+-XrTabYWy9UyDbdC8RrsB7KPkbmpcrWQvqY8axXisA@mail.gmail.com> (raw)
In-Reply-To: <CAPnjgZ2AYuBP9=+Ebou4oMSMucZo8w--Sii=pv39uXi9-p2KOw@mail.gmail.com>

Hi Simon,

On Tue, Apr 24, 2018 at 11:53 PM, Simon Glass <sjg@chromium.org> wrote:
> Hi Mario,
>
> On 19 April 2018 at 01:50, Mario Six <mario.six@gdsys.cc> wrote:
>>
>> Hi Simon,
>>
>> On Wed, Apr 18, 2018 at 5:45 PM, Simon Glass <sjg@chromium.org> wrote:
>> > Hi Mario,
>> >
>> > On 18 April 2018 at 02:35, Mario Six <mario.six@gdsys.cc> wrote:
>> >> Hi Simon,
>> >>
>> >> On Thu, Apr 12, 2018 at 6:37 PM, Simon Glass <sjg@chromium.org> wrote:
>> >>> Hi Mario,
>> >>>
>> >>> On 11 April 2018 at 00:39, Mario Six <mario.six@gdsys.cc> wrote:
>> >>>> Hi Simon,
>> >>>>
>> >>>> On Fri, Mar 30, 2018 at 10:41 AM, Simon Glass <sjg@chromium.org> wrote:
>> >>>>> Hi,
>> >>>>>
>> >>>>> On 28 March 2018 at 20:38, Mario Six <mario.six@gdsys.cc> wrote:
>> >>>>>> Add a cpu_print_info function to the CPU uclass to emulate the behavior
>> >>>>>> of some current non-DM drivers (e.g. MPC83xx) to print CPU information
>> >>>>>> during startup.
>> >>>>>>
>> >>>>>> Signed-off-by: Mario Six <mario.six@gdsys.cc>
>> >>>>>> ---
>> >>>>>>  drivers/cpu/cpu-uclass.c | 10 ++++++++++
>> >>>>>>  include/cpu.h            | 15 +++++++++++++++
>> >>>>>>  2 files changed, 25 insertions(+)
>> >>>>>>
>> >>>>>
>> >>>>> I really don't want drivers printing stuff. Can you use the existing
>> >>>>> get_info() method?
>> >>>>>
>> >>>>
>> >>>> I could, but I'm just emulating the behavior of the legacy code here, which
>> >>>> prints some information when the CPU is initialized. I think that's pretty
>> >>>> useful, and I can do that in our board file, but that would mean implementing
>> >>>> the same routine in every MPC83xx board to get the legacy behavior back.
>> >>>
>> >>> Yes, but I don't want the legacy code creeping into the eclass. Can
>> >>> you convert the board to use the CPU eclass instead?
>> >>>
>> >>
>> >> That's what I did, and I just discovered DISPLAY_CPUINFO, which does exactly
>> >> what is needed. I'll implement the print_cpuinfo function in the CPU driver, so
>> >> I can get rid of the print function in the uclass (and still retain the
>> >> information printing at bootup).
>> >
>> > OK I see. Ideally we would have a function (perhaps in board_f) which
>> > prints out the CPU info after obtaining it from the uclass. So could
>> > you move your print_cpuinfo() function into board_f? Would it be
>> > possible to use that if CONFIG_CPU is defined?
>> >
>> > At some point print_cpuinfo() could be removed from various board files.
>> >
>>
>> The function prints the following (example for our device):
>>
>> --- >8 ---
>>
>> Reset Status: External/Internal Soft, External/Internal Hard
>>
>> CPU:   e300c3, MPC8308, Rev: 1.1 at 400 MHz, CSB: 133.333 MHz
>>
>> --- >8 ---
>>
>> So there are some values that are very specific to the platform, such as the
>> CSB (Coherent System Bus) frequency, or the reset status. While it's probably
>> possible to put some of that into a generic info printing routine, lots of it
>> is so MPC83xx-specific that it doesn't make much sense for other CPUs.
>
> Well you get to provide a string from get_desc() so you can add
> whatever you like!
>

OK, I thought I was supposed to decode the cpu_info and print that in the
function. If i can use get_desc(), then it's fine. :-)

>>
>> Any idea how to tackle this? I don't really want to get rid of the Reset Status
>> printing especially, since it's pretty useful information for debugging devices
>> in the field.
>
> Re the reset status, shouldn't that come from the sysreset driver? I
> wonder if we should add an API call for that? Or is it something
> printed by the board?
>

No, that's indeed printed on every MPC83xx board (see prt_83xx_rsr in
arch/powerpc/cpu/mpc83xx/cpu_init.c). A sysreset driver would probably be a
good canonical candidate for printing such a message, true. But since there is
no real system reset on MPC83xx to speak of, that would (for now at least) be
the only thing a MPC83xx sysreset driver did. Also, we'd need another function
in board_f.c, and I don't really know if reset cause printing is very
wide-spread on other platforms to justify that.

> Regards,
> Simon
>

Best regards,
Mario

  reply	other threads:[~2018-04-26  6:07 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-28 12:38 [U-Boot] [PATCH 1/8] core: Add uclass_{first,next}_device_compat Mario Six
2018-03-28 12:38 ` [U-Boot] [PATCH 2/8] test: Add tests for uclass_{first, next}_device_compat Mario Six
2018-03-28 12:38 ` [U-Boot] [PATCH 3/8] ram: Add driver for MPC83xx Mario Six
2018-03-28 12:38 ` [U-Boot] [PATCH 4/8] clk: Add MPC83xx clock driver Mario Six
2018-03-28 12:38 ` [U-Boot] [PATCH 5/8] timer: Add MPC83xx timer driver Mario Six
2018-03-28 12:38 ` [U-Boot] [PATCH 6/8] cpu: Add cpu_print_info function Mario Six
2018-03-30  8:41   ` Simon Glass
2018-04-11  6:39     ` Mario Six
2018-04-12 16:37       ` Simon Glass
2018-04-18  8:35         ` Mario Six
2018-04-18 15:45           ` Simon Glass
2018-04-19  7:50             ` Mario Six
2018-04-24 21:53               ` Simon Glass
2018-04-26  6:07                 ` Mario Six [this message]
2018-04-26 14:40                   ` Simon Glass
2018-04-27 12:16                     ` Mario Six
2018-03-28 12:38 ` [U-Boot] [PATCH 7/8] cpu: Add MPC83xx CPU driver Mario Six
2018-03-28 12:38 ` [U-Boot] [PATCH 8/8] misc: Add MPC83xx serdes driver Mario Six
2018-03-30  8:41 ` [U-Boot] [PATCH 1/8] core: Add uclass_{first, next}_device_compat Simon Glass
2018-04-11  7:15   ` Mario Six
2018-04-12 16:31     ` Simon Glass
2018-04-18  9:02       ` Mario Six

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=CAN1kZoq+-XrTabYWy9UyDbdC8RrsB7KPkbmpcrWQvqY8axXisA@mail.gmail.com \
    --to=mario.six@gdsys.cc \
    --cc=u-boot@lists.denx.de \
    /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.