From: Sergei Shtylyov Add missing PSC #define's required for the drivers using PSC on DBAu1550 board (also fixing Au1550 PSC3 address) and all Au1200-based boards as well. Make the OSS driver use the correct PSC definitions fo each board. Signed-off-by: Sergei Shtylyov Cc: Ralf Baechle Signed-off-by: Andrew Morton --- include/asm-mips/mach-au1x00/au1xxx_psc.h | 9 ++++++++- include/asm-mips/mach-db1x00/db1x00.h | 12 ++++++++++++ sound/oss/au1550_ac97.c | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff -puN include/asm-mips/mach-au1x00/au1xxx_psc.h~au1550-1200-add-missing-psc-defines-make-oss-driver-use include/asm-mips/mach-au1x00/au1xxx_psc.h --- devel/include/asm-mips/mach-au1x00/au1xxx_psc.h~au1550-1200-add-missing-psc-defines-make-oss-driver-use 2006-05-25 15:21:57.000000000 -0700 +++ devel-akpm/include/asm-mips/mach-au1x00/au1xxx_psc.h 2006-05-25 15:21:57.000000000 -0700 @@ -39,7 +39,12 @@ #define PSC0_BASE_ADDR 0xb1a00000 #define PSC1_BASE_ADDR 0xb1b00000 #define PSC2_BASE_ADDR 0xb0a00000 -#define PSC3_BASE_ADDR 0xb0d00000 +#define PSC3_BASE_ADDR 0xb0b00000 +#endif + +#ifdef CONFIG_SOC_AU1200 +#define PSC0_BASE_ADDR 0xb1a00000 +#define PSC1_BASE_ADDR 0xb1b00000 #endif /* The PSC select and control registers are common to @@ -227,6 +232,8 @@ typedef struct psc_i2s { #define PSC_I2SCFG_DD_DISABLE (1 << 27) #define PSC_I2SCFG_DE_ENABLE (1 << 26) #define PSC_I2SCFG_SET_WS(x) (((((x) / 2) - 1) & 0x7f) << 16) +#define PSC_I2SCFG_WS(n) ((n & 0xFF) << 16) +#define PSC_I2SCFG_WS_MASK (PSC_I2SCFG_WS(0x3F)) #define PSC_I2SCFG_WI (1 << 15) #define PSC_I2SCFG_DIV_MASK (3 << 13) diff -puN include/asm-mips/mach-db1x00/db1x00.h~au1550-1200-add-missing-psc-defines-make-oss-driver-use include/asm-mips/mach-db1x00/db1x00.h --- devel/include/asm-mips/mach-db1x00/db1x00.h~au1550-1200-add-missing-psc-defines-make-oss-driver-use 2006-05-25 15:21:57.000000000 -0700 +++ devel-akpm/include/asm-mips/mach-db1x00/db1x00.h 2006-05-25 15:21:57.000000000 -0700 @@ -30,8 +30,20 @@ #ifdef CONFIG_MIPS_DB1550 + +#define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX +#define DBDMA_AC97_RX_CHAN DSCR_CMD0_PSC1_RX +#define DBDMA_I2S_TX_CHAN DSCR_CMD0_PSC3_TX +#define DBDMA_I2S_RX_CHAN DSCR_CMD0_PSC3_RX + +#define SPI_PSC_BASE PSC0_BASE_ADDR +#define AC97_PSC_BASE PSC1_BASE_ADDR +#define SMBUS_PSC_BASE PSC2_BASE_ADDR +#define I2S_PSC_BASE PSC3_BASE_ADDR + #define BCSR_KSEG1_ADDR 0xAF000000 #define NAND_PHYS_ADDR 0x20000000 + #else #define BCSR_KSEG1_ADDR 0xAE000000 #endif diff -puN sound/oss/au1550_ac97.c~au1550-1200-add-missing-psc-defines-make-oss-driver-use sound/oss/au1550_ac97.c --- devel/sound/oss/au1550_ac97.c~au1550-1200-add-missing-psc-defines-make-oss-driver-use 2006-05-25 15:21:57.000000000 -0700 +++ devel-akpm/sound/oss/au1550_ac97.c 2006-05-25 15:21:57.000000000 -0700 @@ -57,9 +57,9 @@ #include #include #include -#include #include #include +#include #undef OSS_DOCUMENTED_MIXER_SEMANTICS _