[PATCH 2/5] PowerPC 74xx: Minor updates to MV64x60 boot code

Mark A. Greer mgreer at mvista.com
Wed Dec 12 10:50:13 EST 2007


On Thu, Nov 29, 2007 at 06:35:55PM +0300, Andrei Dolnikov wrote:

Hi Andrei.  I have a few comments below.

> This patch adds new functionality to MV64x60 boot code. The changes are required
> to access DevCS windows registers and set PCI bus and devfn numbers for MV644x60
> PCI/PCI-X interfaces.
> 
> Signed-off-by: Andrei Dolnikov <adolnikov at ru.mvista.com>
> 
> ---
>  mv64x60.c |   74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  mv64x60.h |   10 ++++++++
>  2 files changed, 84 insertions(+)
> 
> diff --git a/arch/powerpc/boot/mv64x60.c b/arch/powerpc/boot/mv64x60.c
> index d207a0b..787a124 100644
> --- a/arch/powerpc/boot/mv64x60.c
> +++ b/arch/powerpc/boot/mv64x60.c
> @@ -32,6 +32,16 @@
>  #define MV64x60_CPU2MEM_3_BASE			0x0218
>  #define MV64x60_CPU2MEM_3_SIZE			0x0220
>  
> +#define MV64x60_DEV2MEM_WINDOWS			4
> +#define MV64x60_DEV2MEM_0_BASE			0x0028
> +#define MV64x60_DEV2MEM_0_SIZE			0x0030
> +#define MV64x60_DEV2MEM_1_BASE			0x0228
> +#define MV64x60_DEV2MEM_1_SIZE			0x0230
> +#define MV64x60_DEV2MEM_2_BASE			0x0248
> +#define MV64x60_DEV2MEM_2_SIZE			0x0250
> +#define MV64x60_DEV2MEM_3_BASE			0x0038
> +#define MV64x60_DEV2MEM_3_SIZE			0x0040
> +

These aren't device->memory windows, they're CPU->device windows so
they should be named MV64x60_CPU2DEV_xxx to be consistent with the
previously established naming convention.

>  #define MV64x60_ENET2MEM_BAR_ENABLE		0x2290
>  #define MV64x60_ENET2MEM_0_BASE			0x2200
>  #define MV64x60_ENET2MEM_0_SIZE			0x2204
> @@ -219,6 +229,25 @@ static struct mv64x60_mem_win mv64x60_cpu2mem[MV64x60_CPU2MEM_WINDOWS] = {
>  	},
>  };
>  
> +static struct mv64x60_mem_win mv64x60_devcs[MV64x60_DEV2MEM_WINDOWS] = {

Why not call this mv64x60_cpu2dev[]?

<snip>

> @@ -586,6 +645,21 @@ u32 mv64x60_get_mem_size(u8 *bridge_base)
>  	return mem;
>  }
>  
> +/* Read a size of DEV_CS window */
> +u32 mv64x60_get_devcs_size(u8 *bridge_base, u32 devcs)

u32 mv64x60_get_cpu2dev_size(...)

<snip>

> diff --git a/arch/powerpc/boot/mv64x60.h b/arch/powerpc/boot/mv64x60.h
> index d0b29a7..a633d2e 100644
> --- a/arch/powerpc/boot/mv64x60.h
> +++ b/arch/powerpc/boot/mv64x60.h
> @@ -12,6 +12,14 @@
>  
>  #define MV64x60_CPU_BAR_ENABLE			0x0278
>  
> +#define MV64x60_PCI0_MODE			0x0d00
> +#define MV64x60_PCI1_MODE			0x0d80
> +#define MV64x60_PCI0_P2P_CONF			0x1d14
> +#define MV64x60_PCI1_P2P_CONF			0x1d94
> +
> +#define MV64x60_PCI_MODE_MASK			0x00000030
> +#define MV64x60_PCI_CONVENTIONAL_MODE		0x00000000
> +

AFAICS these macros are only used in mv64x60.c so just put them there.
They only need to go in mv64x60.h if they're used in more than one .c
file.

Mark



More information about the Linuxppc-dev mailing list