[PATCH 2/2] [VIRTEX] Register AC97 Controller Reference with the platform bus

Grant Likely grant.likely at secretlab.ca
Fri Aug 10 04:04:47 EST 2007


On 8/9/07, Joachim Förster <mls.JOFT at gmx.de> wrote:
> From: Joachim Foerster <JOFT at gmx.de>
>
> (Patch for Linus' master branch, date 2007/08/08)
>
> Signed-off-by: Joachim Foerster <JOFT at gmx.de>
> ---
>  arch/ppc/syslib/virtex_devices.c |   28 ++++++++++++++++++++++++++++
>  1 files changed, 28 insertions(+), 0 deletions(-)
>
> diff --git a/arch/ppc/syslib/virtex_devices.c b/arch/ppc/syslib/virtex_devices.c
> index 62a9495..0d6f0ac 100644
> --- a/arch/ppc/syslib/virtex_devices.c
> +++ b/arch/ppc/syslib/virtex_devices.c
> @@ -121,6 +121,29 @@
>         }, \
>  }
>
> +#define XPAR_AC97_CONTROLLER_REFERENCE(num) { \
> +       .name = "ml403_ac97cr",       \
> +       .id = num, \
> +       .num_resources = 3, \
> +       .resource = (struct resource[]) { \
> +               { \
> +                       .start = XPAR_OPB_AC97_CONTROLLER_REF_0_BASEADDR, \
> +                       .end = XPAR_OPB_AC97_CONTROLLER_REF_0_HIGHADDR, \

This will make each instance try to use the same device!  Replace
'_0_' with '_##num##_'

> +                       .flags = IORESOURCE_MEM, \
> +               }, \
> +               { \
> +                       .start = XPAR_OPB_INTC_0_OPB_AC97_CONTROLLER_REF_0_PLAYBACK_INTERRUPT_INTR, \
> +                       .end = XPAR_OPB_INTC_0_OPB_AC97_CONTROLLER_REF_0_PLAYBACK_INTERRUPT_INTR, \

ditto; in this case you need to change the second _0_.  _INTC_0_ is
already the correct form.

> +                       .flags = IORESOURCE_IRQ, \
> +               }, \
> +               { \
> +                       .start = XPAR_OPB_INTC_0_OPB_AC97_CONTROLLER_REF_0_RECORD_INTERRUPT_INTR, \
> +                       .end = XPAR_OPB_INTC_0_OPB_AC97_CONTROLLER_REF_0_RECORD_INTERRUPT_INTR, \

ditto

> +                        .flags = IORESOURCE_IRQ, \
> +               }, \
> +        }, \
> +}
> +
>  /* UART 8250 driver platform data table */
>  struct plat_serial8250_port virtex_serial_platform_data[] = {
>  #if defined(XPAR_UARTNS550_0_BASEADDR)
> @@ -221,6 +244,11 @@ struct platform_device virtex_platform_devices[] = {
>  #if defined(XPAR_TFT_3_BASEADDR)
>         XPAR_TFT(3),
>  #endif
> +
> +       /* AC97 Controller Reference instances */
> +#if defined(XPAR_OPB_AC97_CONTROLLER_REF_0_BASEADDR)
> +       XPAR_AC97_CONTROLLER_REFERENCE(0),
> +#endif
>  };
>
>  /* Early serial support functions */
> --
> 1.5.2.4
>
>
>
>


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely at secretlab.ca
(403) 399-0195


More information about the Linuxppc-embedded mailing list