patch for microphone, (i hope)
Malcolm
malcolm.parsons at gmail.com
Thu Mar 29 11:29:15 CEST 2007
On 3/29/07, loux.thefuture <loux.thefuture at gmail.com> wrote:
> please find attached the patch to enable microphone, i just try to
> rewrite it from libdns
+#define REG_SPI_CR (*(volatile u16*)0x040001C0)
+#define REG_SPI_DATA (*(volatile u16*)0x040001C2)
+
+#define SPI_BAUD_4MHz 0
+#define SPI_BAUD_2MHz 1
+#define SPI_BAUD_1MHz 2
+#define SPI_BAUD_512KHz 3
+
+#define SPI_BUSY BIT(7)
+#define SPI_ENABLE BIT(15)
+#define SPI_DEVICE_POWER (0 << 8)
+#define SPI_DEVICE_TOUCH (2 << 8)
+#define SPI_DEVICE_MICROPHONE (2 << 8)
+#define SPI_CONTINUOUS BIT(11)
These are in spi.c already, don't duplicate them here.
Code using these defines should be in spi.c
+#define TIMER0_CR (*(volatile u16*)0x04000102)
+#define TIMER0_DATA (*(volatile u16*)0x04000100)
+#define TIMER_ENABLE (1<<7)
+#define TIMER_IRQ_REQ (1<<6)
+#define TIMER_DIV_1 (0)
These are in arm7.h with different names.
+#define SOUND_VOL(n) (n)
+#define SOUND_FREQ(n) ((-0x1000000 / (n)))
+#define SOUND_ENABLE BIT(15)
+#define SOUND_REPEAT BIT(27)
+#define SOUND_ONE_SHOT BIT(28)
+#define SOUND_FORMAT_16BIT (1<<29)
+#define SOUND_FORMAT_8BIT (0<<29)
+#define SOUND_FORMAT_PSG (3<<29)
+#define SOUND_FORMAT_ADPCM (2<<29)
+#define SOUND_16BIT (1<<29)
+#define SOUND_8BIT (0)
+
+#define SOUND_PAN(n) ((n) << 16)
+
+#define SCHANNEL_ENABLE BIT(31)
+
+//---------------------------------------------------------------------------------
+// registers
+//---------------------------------------------------------------------------------
+#define SCHANNEL_CR(n) (*(vuint32*)(0x04000400 + ((n)<<4)))
+#define SCHANNEL_VOL(n) (*(vuint8*)(0x04000400 + ((n)<<4)))
+#define SCHANNEL_PAN(n) (*(vuint8*)(0x04000402 + ((n)<<4)))
+#define SCHANNEL_SOURCE(n) (*(vuint32*)(0x04000404 + ((n)<<4)))
+#define SCHANNEL_TIMER(n) (*(vint16*)(0x04000408 + ((n)<<4)))
+#define SCHANNEL_REPEAT_POINT(n) (*(vuint16*)(0x0400040A + ((n)<<4)))
+#define SCHANNEL_LENGTH(n) (*(vuint32*)(0x0400040C + ((n)<<4)))
+
+#define SOUND_CR (*(vuint16*)0x04000500)
+#define SOUND_MASTER_VOL (*(vuint8*)0x04000500)
Why are you defining all these things you aren't using?
--
Malcolm Parsons
More information about the dslinux-devel
mailing list