From: Wolfgang Grandegger <wg@grandegger.com>
To: Kumar Gala <galak@kernel.crashing.org>
Cc: linuxppc-dev@ozlabs.org, Scott Wood <scottwood@freescale.com>
Subject: Re: powerpc/85xx: Add support for the "socrates" board (MPC8544)
Date: Thu, 02 Apr 2009 08:38:07 +0200 [thread overview]
Message-ID: <49D45D4F.3010103@grandegger.com> (raw)
In-Reply-To: <D7365D0C-57B0-479C-9335-265620B8E5AE@kernel.crashing.org>
Hi Kumar,
Kumar Gala wrote:
>
> On Apr 1, 2009, at 8:10 AM, Wolfgang Grandegger wrote:
>
>> Grant Likely wrote:
>>> On Wed, Apr 1, 2009 at 1:36 AM, Wolfgang Grandegger
>>> <wg@grandegger.com> wrote:
>>>> Anton Vorontsov wrote:
>>>>> On Tue, Mar 31, 2009 at 09:05:28AM -0600, Grant Likely wrote:
>>>>> [...]
>>>>>>>>>>> + soc8544@e0000000 {
>>>>>>>>>>> + #address-cells = <1>;
>>>>>>>>>>> + #size-cells = <1>;
>>>>>>>>>>> + device_type = "soc";
>>>>>>>>>> Drop device_type here too.
>>>>>>>>> Grrr, I just realized that removing the devices type "soc" has
>>>>>>>>> broken
>>>>>>>>> fsl_get_sys_freq(). See:
>>>>>>>>>
>>>>>>>>> http://lxr.linux.no/linux+v2.6.29/arch/powerpc/sysdev/fsl_soc.c#L80
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> We need a quick fix and we could take the occasion to establish
>>>>>>>>> a common
>>>>>>>>> function for the MPC52xx as well, but it's not obvious to me
>>>>>>>>> how to find
>>>>>>>>> the SOC node without the device type property.
>>>>>>>> SoC node should have a compatible property, just like everything
>>>>>>>> else.
>>>>>>>>
>>>>>>>> compatible = "fsl,mpc8544-immr"; (immr == Internally Memory
>>>>>>>> Mapped Registers)
>>>>>>>>
>>>>>>>> Many other boards already do this.
>>>>>>> Yes, it does, but searching for the SOC node is not straight-forward
>>>>>>> because there is no common compatibility string but many
>>>>>>> CPU-specific
>>>>>>> compatibility strings, e.g. "fsl,mpc8560-immr", etc. Have I missed
>>>>>>> something?
>>>>>> Choose a new value ("fsl,mpc-immr" perhaps?), document exactly
>>>>>> what it
>>>>>> means, and add add it to the end of the compatible list.
>>>>> As Scott Wood once pointed out, IMMR does not exists for MPC85xx
>>>>> parts. There it's called CCSR.
>>>>>
>>>>> See this thread:
>>>>>
>>>>> http://www.mail-archive.com/linuxppc-dev@ozlabs.org/msg12665.html
>>>>>
>>>>> I still think that
>>>>> "fsl,mpc83NN-immr", "fsl,soc", "simple-bus" for 83xx
>>>>> and
>>>>> "fsl,mpc85NN-ccsr", "fsl,soc", "simple-bus" for 85xx
>>>>>
>>>>> would be OK, at least to start with. We can always deprecate "fsl,soc"
>>>>> compatible in favour of something more elegant, but "fsl,soc"
>>>>> should be
>>>>> just fine to replace device_type = "soc".
>>>>>
>>>>> Also, there is another good thing about "fsl,soc" -- U-Boot already
>>>>> finds it for 83xx CPUs. ;-)
>>>> Ugh! I just realize the full impact of removing device type "soc". It
>>>> will break compatibility with U-Boot for many boards. Is it worth it?
>>>
>>> Yes, I know this. I'm not asking you to fix all the other boards, but
>>> make sure that it is not required for the new board.
>>
>> Hm, I'm confused, if we want to fix this issue we need first to
>>
>> - fix all functions in fsl_soc.c searching for the compatible string
>> "fsl,soc" instead of the device type "soc" (or both for backward
>> compatibility).
>>
>> - fix U-Boot to find the SOC node by looking for "fsl,soc" to insert the
>> proper bus-frequency, at least.
>>
>> That affects *all* boards using CONFIG_FSL_SOC and requires an
>> up-to-date version of U-Boot for new kernels :-(. If that is fixed, I
>> can remove the "device_type = "soc";" from socrates.dts (and may more),
>> but not right now. Or have I missed something?
>
> I presume the intent is not to break old u-boots w/new kernels, but to
> make it so new .dts don't require device_type = soc in them if using new
> kernels.
Socrates is a new board and it has no problem using an up-to-date
version of U-Boot. The socrates.dts file in your "next" tree already has
the "device_type = "soc" removed. We need to add "fsl,soc" to the
"compatible" property and update fsl_get_sys_freq(), etc. to search for
it as well. And U-Boot should use the same name to fixup the
frequencies. Are you already working on that issue? Should I provide
patches?
Wolfgang.
next prev parent reply other threads:[~2009-04-02 6:38 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-19 15:26 powerpc/85xx: Add support for the "socrates" board (MPC8544) Wolfgang Grandegger
2009-03-20 4:10 ` David Gibson
2009-03-20 20:12 ` Wolfgang Grandegger
2009-03-20 22:02 ` Wolfgang Grandegger
2009-03-20 4:26 ` Kumar Gala
2009-03-20 20:16 ` Wolfgang Grandegger
2009-03-20 5:05 ` Grant Likely
2009-03-20 11:57 ` Wolfgang Grandegger
2009-03-31 9:35 ` Wolfgang Grandegger
2009-03-31 13:23 ` Grant Likely
2009-03-31 13:36 ` Wolfgang Grandegger
2009-03-31 15:05 ` Grant Likely
2009-03-31 15:54 ` Anton Vorontsov
2009-03-31 16:02 ` Grant Likely
2009-04-01 7:36 ` Wolfgang Grandegger
2009-04-01 12:40 ` Grant Likely
2009-04-01 13:10 ` Wolfgang Grandegger
2009-04-01 13:27 ` Kumar Gala
2009-04-01 13:49 ` Grant Likely
2009-04-02 6:38 ` Wolfgang Grandegger [this message]
2009-04-02 13:47 ` Kumar Gala
2009-04-02 18:50 ` Wolfgang Grandegger
2009-04-02 19:52 ` Kumar Gala
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=49D45D4F.3010103@grandegger.com \
--to=wg@grandegger.com \
--cc=galak@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=scottwood@freescale.com \
/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.