public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] [PATCH] PPC: Some PCI generalization in the global_data structure.
@ 2008-07-13 12:06 Matvejchikov Ilya
  2008-07-13 15:02 ` Wolfgang Denk
  2008-07-13 17:20 ` Wolfgang Denk
  0 siblings, 2 replies; 4+ messages in thread
From: Matvejchikov Ilya @ 2008-07-13 12:06 UTC (permalink / raw)
  To: u-boot

The global_data structure has no well defined method of the PCI clocks
and other PCI related variables declaration. This patch adds initial
support for the generalized method based on CONFIG_PCI usage. At present
it only affects when CONFIG_MPC8272 or CONFIG_MPC8272_FAMILY defined.

Signed-off-by: Matvejchikov Ilya <matvejchikov@gmail.com>
---
 include/asm-ppc/global_data.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h
index c5ac658..ac3e719 100644
--- a/include/asm-ppc/global_data.h
+++ b/include/asm-ppc/global_data.h
@@ -42,6 +42,11 @@ typedef	struct	global_data {
 	unsigned long	baudrate;
 	unsigned long	cpu_clk;	/* CPU clock in Hz! */
 	unsigned long	bus_clk;
+#ifdef CONFIG_PCI
+#if defined(CONFIG_MPC8272) || defined(CONFIG_MPC8272_FAMILY)
+	u32		pci_clk;
+#endif
+#endif
 #if defined(CONFIG_8xx)
 	unsigned long	brg_clk;
 #endif
-- 
1.5.6.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot-Users] [PATCH] PPC: Some PCI generalization in the global_data structure.
  2008-07-13 12:06 [U-Boot-Users] [PATCH] PPC: Some PCI generalization in the global_data structure Matvejchikov Ilya
@ 2008-07-13 15:02 ` Wolfgang Denk
  2008-07-13 16:26   ` Matvejchikov Ilya
  2008-07-13 17:20 ` Wolfgang Denk
  1 sibling, 1 reply; 4+ messages in thread
From: Wolfgang Denk @ 2008-07-13 15:02 UTC (permalink / raw)
  To: u-boot

In message <8496f91a0807130506q329cc35h7934d756fee6b027@mail.gmail.com> you wrote:
> The global_data structure has no well defined method of the PCI clocks
> and other PCI related variables declaration. This patch adds initial
> support for the generalized method based on CONFIG_PCI usage. At present
> it only affects when CONFIG_MPC8272 or CONFIG_MPC8272_FAMILY defined.
> 
> Signed-off-by: Matvejchikov Ilya <matvejchikov@gmail.com>
> ---
>  include/asm-ppc/global_data.h |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h
> index c5ac658..ac3e719 100644
> --- a/include/asm-ppc/global_data.h
> +++ b/include/asm-ppc/global_data.h
> @@ -42,6 +42,11 @@ typedef	struct	global_data {
>  	unsigned long	baudrate;
>  	unsigned long	cpu_clk;	/* CPU clock in Hz! */
>  	unsigned long	bus_clk;
> +#ifdef CONFIG_PCI
> +#if defined(CONFIG_MPC8272) || defined(CONFIG_MPC8272_FAMILY)
> +	u32		pci_clk;
> +#endif
> +#endif
>  #if defined(CONFIG_8xx)
>  	unsigned long	brg_clk;
>  #endif

This makes no sense to me.

Please keep in mind that the global_data stuff is intended for, and
only for, holding global information while we are still running from
flash (i. e. before relocation) so that we have neiter a writabel data
segment nor a valid bss segment.

PCI initialization always happens *after* relocation to RAM, therefore
no PCI related variables are ever needed in the global_data structure.

Rejected.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Celestial navigation is based on the premise that the  Earth  is  the
center  of  the  universe.  The  premise is wrong, but the navigation
works. An incorrect model can be a useful tool.   - Kelvin Throop III

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot-Users] [PATCH] PPC: Some PCI generalization in the global_data structure.
  2008-07-13 15:02 ` Wolfgang Denk
@ 2008-07-13 16:26   ` Matvejchikov Ilya
  0 siblings, 0 replies; 4+ messages in thread
From: Matvejchikov Ilya @ 2008-07-13 16:26 UTC (permalink / raw)
  To: u-boot

> This makes no sense to me.
>
> Please keep in mind that the global_data stuff is intended for, and
> only for, holding global information while we are still running from
> flash (i. e. before relocation) so that we have neiter a writabel data
> segment nor a valid bss segment.
>
> PCI initialization always happens *after* relocation to RAM, therefore
> no PCI related variables are ever needed in the global_data structure.
>

Yes, I know it. But I only meant pci_clk for some cpus and other PCI
related things (pciexp1_clk, pciexp2_clk for MPC837x etc)...
At this moment we have in the global_data such things as:

struct global_data {
...
#ifdef some_cpu1
u32 pci_clk;
...
#enif
...
#ifdef some_cpu2
unsigned long pci_clk;
...
#endif

#ifdef some_cpu3
u32 pci_clk;
...
#endif
}

Does it is right approach? What do I do to use pci_clk for the mpc8272?
May be it is more correctly to use the next form of declaration:

struct global_data {
#ifdef CONFIG_PCI
u32 pci_clk;
#ifdef some_cpu1
/* cpu1 specific pci variables */
#endif
#endif

Thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot-Users] [PATCH] PPC: Some PCI generalization in the global_data structure.
  2008-07-13 12:06 [U-Boot-Users] [PATCH] PPC: Some PCI generalization in the global_data structure Matvejchikov Ilya
  2008-07-13 15:02 ` Wolfgang Denk
@ 2008-07-13 17:20 ` Wolfgang Denk
  1 sibling, 0 replies; 4+ messages in thread
From: Wolfgang Denk @ 2008-07-13 17:20 UTC (permalink / raw)
  To: u-boot

In message <8496f91a0807130506q329cc35h7934d756fee6b027@mail.gmail.com> you wrote:
> The global_data structure has no well defined method of the PCI clocks
> and other PCI related variables declaration. This patch adds initial
> support for the generalized method based on CONFIG_PCI usage. At present
> it only affects when CONFIG_MPC8272 or CONFIG_MPC8272_FAMILY defined.

Hm... I should have checked the code first before replying.

So we already have this in the current code. What a crap.


Kim, Grant, John, can you please try and prepare patches (for the
next release, then) to get rid of PCI related information from gd_t ?

Hm... looking closer there is a lot of other stuff there  which  most
probably  does  not  belong  there  either: TSEC Clocks? PCIe Clocks?
board_type?  Please check and comment...

> Signed-off-by: Matvejchikov Ilya <matvejchikov@gmail.com>
> ---
>  include/asm-ppc/global_data.h |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h
> index c5ac658..ac3e719 100644
> --- a/include/asm-ppc/global_data.h
> +++ b/include/asm-ppc/global_data.h
> @@ -42,6 +42,11 @@ typedef	struct	global_data {
>  	unsigned long	baudrate;
>  	unsigned long	cpu_clk;	/* CPU clock in Hz! */
>  	unsigned long	bus_clk;
> +#ifdef CONFIG_PCI
> +#if defined(CONFIG_MPC8272) || defined(CONFIG_MPC8272_FAMILY)
> +	u32		pci_clk;

This looks kind of broken to me.

I think you should add this in the "if defined(CONFIG_CPM2)" branch
and just make it depend on "ifdef CONFIG_PCI".

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Use C++ to confuse your enemies; use C to produce stable code.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-07-13 17:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-13 12:06 [U-Boot-Users] [PATCH] PPC: Some PCI generalization in the global_data structure Matvejchikov Ilya
2008-07-13 15:02 ` Wolfgang Denk
2008-07-13 16:26   ` Matvejchikov Ilya
2008-07-13 17:20 ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox