summaryrefslogtreecommitdiff
path: root/arch/arm/mach-bcm2708
diff options
context:
space:
mode:
authorGordon Garrity <gordon@iqaudio.com>2014-03-08 16:56:57 +0000
committerpopcornmix <popcornmix@gmail.com>2015-05-18 14:11:03 +0100
commitc25fb5c2ad9d4c7cf3860c9a3f19dec4d085902b (patch)
tree247ea67f5cb4df2f00495e11993ba785b5a75d83 /arch/arm/mach-bcm2708
parentc287231c410b03068da900af542f99236db0d89d (diff)
downloadlinux-c25fb5c2ad9d4c7cf3860c9a3f19dec4d085902b.tar.gz
Add IQaudIO Sound Card support for Raspberry Pi
Diffstat (limited to 'arch/arm/mach-bcm2708')
-rw-r--r--arch/arm/mach-bcm2708/bcm2708.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
index 0ad53432fc39..a812b514a7d9 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -678,6 +678,22 @@ static struct platform_device snd_pcm1794a_codec_device = {
};
#endif
+
+#if defined(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) || defined(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC_MODULE)
+static struct platform_device snd_rpi_iqaudio_dac_device = {
+ .name = "snd-rpi-iqaudio-dac",
+ .id = 0,
+ .num_resources = 0,
+};
+
+// Use the actual device name rather than generic driver name
+static struct i2c_board_info __initdata snd_pcm512x_i2c_devices[] = {
+ {
+ I2C_BOARD_INFO("pcm5122", 0x4c)
+ },
+};
+#endif
+
int __init bcm_register_device(struct platform_device *pdev)
{
int ret;
@@ -846,6 +862,12 @@ void __init bcm2708_init(void)
bcm_register_device_dt(&snd_pcm1794a_codec_device);
#endif
+#if defined(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) || defined(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC_MODULE)
+ bcm_register_device_dt(&snd_rpi_iqaudio_dac_device);
+ i2c_register_board_info_dt(1, snd_pcm512x_i2c_devices, ARRAY_SIZE(snd_pcm512x_i2c_devices));
+#endif
+
+
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
struct amba_device *d = amba_devs[i];
amba_device_register(d, &iomem_resource);