aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorTimur Tabi <timur@freescale.com>2008-01-18 10:24:53 -0500
committerKumar Gala <galak@kernel.crashing.org>2008-01-23 20:34:29 -0500
commitc7d24a2dd02b9fe736e13931ee3e4a1f4f89cb47 (patch)
treef9611529b41ccf9c595aa762ad3b79f5018225ff /arch
parentb0bbad60680a5e76067eb1e55c3676b28abe7481 (diff)
[POWERPC] Update MPC8610 HPCD to support audio drivers
Update the MPC8610 HPCD files to support the audio driver. Update booting-without-of.txt with information on the SSI device. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/boot/dts/mpc8610_hpcd.dts113
-rw-r--r--arch/powerpc/configs/mpc8610_hpcd_defconfig171
-rw-r--r--arch/powerpc/platforms/86xx/mpc8610_hpcd.c15
3 files changed, 295 insertions, 4 deletions
diff --git a/arch/powerpc/boot/dts/mpc8610_hpcd.dts b/arch/powerpc/boot/dts/mpc8610_hpcd.dts
index 01040a752c82..d98715cbda28 100644
--- a/arch/powerpc/boot/dts/mpc8610_hpcd.dts
+++ b/arch/powerpc/boot/dts/mpc8610_hpcd.dts
@@ -1,7 +1,7 @@
1/* 1/*
2 * MPC8610 HPCD Device Tree Source 2 * MPC8610 HPCD Device Tree Source
3 * 3 *
4 * Copyright 2007 Freescale Semiconductor Inc. 4 * Copyright 2007-2008 Freescale Semiconductor Inc.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License Version 2 as published 7 * under the terms of the GNU General Public License Version 2 as published
@@ -49,6 +49,7 @@
49 #size-cells = <1>; 49 #size-cells = <1>;
50 #interrupt-cells = <2>; 50 #interrupt-cells = <2>;
51 device_type = "soc"; 51 device_type = "soc";
52 compatible = "fsl,mpc8610-immr", "simple-bus";
52 ranges = <0 e0000000 00100000>; 53 ranges = <0 e0000000 00100000>;
53 reg = <e0000000 1000>; 54 reg = <e0000000 1000>;
54 bus-frequency = <0>; 55 bus-frequency = <0>;
@@ -62,6 +63,13 @@
62 interrupts = <2b 2>; 63 interrupts = <2b 2>;
63 interrupt-parent = <&mpic>; 64 interrupt-parent = <&mpic>;
64 dfsrr; 65 dfsrr;
66
67 cs4270:codec@4f {
68 compatible = "cirrus,cs4270";
69 reg = <4f>;
70 /* MCLK source is a stand-alone oscillator */
71 clock-frequency = <bb8000>;
72 };
65 }; 73 };
66 74
67 i2c@3100 { 75 i2c@3100 {
@@ -111,6 +119,109 @@
111 reg = <e0000 1000>; 119 reg = <e0000 1000>;
112 fsl,has-rstcr; 120 fsl,has-rstcr;
113 }; 121 };
122
123 i2s@16000 {
124 compatible = "fsl,mpc8610-ssi";
125 cell-index = <0>;
126 reg = <16000 100>;
127 interrupt-parent = <&mpic>;
128 interrupts = <3e 2>;
129 fsl,mode = "i2s-slave";
130 codec-handle = <&cs4270>;
131 };
132
133 ssi@16100 {
134 compatible = "fsl,mpc8610-ssi";
135 cell-index = <1>;
136 reg = <16100 100>;
137 interrupt-parent = <&mpic>;
138 interrupts = <3f 2>;
139 };
140
141 dma@21300 {
142 #address-cells = <1>;
143 #size-cells = <1>;
144 compatible = "fsl,mpc8610-dma", "fsl,eloplus-dma";
145 cell-index = <0>;
146 reg = <21300 4>; /* DMA general status register */
147 ranges = <0 21100 200>;
148
149 dma-channel@0 {
150 compatible = "fsl,mpc8610-dma-channel",
151 "fsl,eloplus-dma-channel";
152 cell-index = <0>;
153 reg = <0 80>;
154 interrupt-parent = <&mpic>;
155 interrupts = <14 2>;
156 };
157 dma-channel@1 {
158 compatible = "fsl,mpc8610-dma-channel",
159 "fsl,eloplus-dma-channel";
160 cell-index = <1>;
161 reg = <80 80>;
162 interrupt-parent = <&mpic>;
163 interrupts = <15 2>;
164 };
165 dma-channel@2 {
166 compatible = "fsl,mpc8610-dma-channel",
167 "fsl,eloplus-dma-channel";
168 cell-index = <2>;
169 reg = <100 80>;
170 interrupt-parent = <&mpic>;
171 interrupts = <16 2>;
172 };
173 dma-channel@3 {
174 compatible = "fsl,mpc8610-dma-channel",
175 "fsl,eloplus-dma-channel";
176 cell-index = <3>;
177 reg = <180 80>;
178 interrupt-parent = <&mpic>;
179 interrupts = <17 2>;
180 };
181 };
182
183 dma@c300 {
184 #address-cells = <1>;
185 #size-cells = <1>;
186 compatible = "fsl,mpc8610-dma", "fsl,mpc8540-dma";
187 cell-index = <1>;
188 reg = <c300 4>; /* DMA general status register */
189 ranges = <0 c100 200>;
190
191 dma-channel@0 {
192 compatible = "fsl,mpc8610-dma-channel",
193 "fsl,mpc8540-dma-channel";
194 cell-index = <0>;
195 reg = <0 80>;
196 interrupt-parent = <&mpic>;
197 interrupts = <3c 2>;
198 };
199 dma-channel@1 {
200 compatible = "fsl,mpc8610-dma-channel",
201 "fsl,mpc8540-dma-channel";
202 cell-index = <1>;
203 reg = <80 80>;
204 interrupt-parent = <&mpic>;
205 interrupts = <3d 2>;
206 };
207 dma-channel@2 {
208 compatible = "fsl,mpc8610-dma-channel",
209 "fsl,mpc8540-dma-channel";
210 cell-index = <2>;
211 reg = <100 80>;
212 interrupt-parent = <&mpic>;
213 interrupts = <3e 2>;
214 };
215 dma-channel@3 {
216 compatible = "fsl,mpc8610-dma-channel",
217 "fsl,mpc8540-dma-channel";
218 cell-index = <3>;
219 reg = <180 80>;
220 interrupt-parent = <&mpic>;
221 interrupts = <3f 2>;
222 };
223 };
224
114 }; 225 };
115 226
116 pci0: pci@e0008000 { 227 pci0: pci@e0008000 {
diff --git a/arch/powerpc/configs/mpc8610_hpcd_defconfig b/arch/powerpc/configs/mpc8610_hpcd_defconfig
index 9614d24f832a..2500ef42959d 100644
--- a/arch/powerpc/configs/mpc8610_hpcd_defconfig
+++ b/arch/powerpc/configs/mpc8610_hpcd_defconfig
@@ -696,7 +696,7 @@ CONFIG_SERIAL_8250_RSA=y
696CONFIG_SERIAL_CORE=y 696CONFIG_SERIAL_CORE=y
697CONFIG_SERIAL_CORE_CONSOLE=y 697CONFIG_SERIAL_CORE_CONSOLE=y
698# CONFIG_SERIAL_JSM is not set 698# CONFIG_SERIAL_JSM is not set
699CONFIG_SERIAL_OF_PLATFORM=y 699# CONFIG_SERIAL_OF_PLATFORM is not set
700CONFIG_UNIX98_PTYS=y 700CONFIG_UNIX98_PTYS=y
701# CONFIG_LEGACY_PTYS is not set 701# CONFIG_LEGACY_PTYS is not set
702# CONFIG_IPMI_HANDLER is not set 702# CONFIG_IPMI_HANDLER is not set
@@ -708,7 +708,60 @@ CONFIG_UNIX98_PTYS=y
708# CONFIG_RAW_DRIVER is not set 708# CONFIG_RAW_DRIVER is not set
709# CONFIG_TCG_TPM is not set 709# CONFIG_TCG_TPM is not set
710CONFIG_DEVPORT=y 710CONFIG_DEVPORT=y
711# CONFIG_I2C is not set 711CONFIG_I2C=y
712CONFIG_I2C_BOARDINFO=y
713# CONFIG_I2C_CHARDEV is not set
714
715#
716# I2C Algorithms
717#
718# CONFIG_I2C_ALGOBIT is not set
719# CONFIG_I2C_ALGOPCF is not set
720# CONFIG_I2C_ALGOPCA is not set
721
722#
723# I2C Hardware Bus support
724#
725# CONFIG_I2C_ALI1535 is not set
726# CONFIG_I2C_ALI1563 is not set
727# CONFIG_I2C_ALI15X3 is not set
728# CONFIG_I2C_AMD756 is not set
729# CONFIG_I2C_AMD8111 is not set
730# CONFIG_I2C_I801 is not set
731# CONFIG_I2C_I810 is not set
732# CONFIG_I2C_PIIX4 is not set
733CONFIG_I2C_MPC=y
734# CONFIG_I2C_NFORCE2 is not set
735# CONFIG_I2C_OCORES is not set
736# CONFIG_I2C_PARPORT_LIGHT is not set
737# CONFIG_I2C_PROSAVAGE is not set
738# CONFIG_I2C_SAVAGE4 is not set
739# CONFIG_I2C_SIMTEC is not set
740# CONFIG_I2C_SIS5595 is not set
741# CONFIG_I2C_SIS630 is not set
742# CONFIG_I2C_SIS96X is not set
743# CONFIG_I2C_TAOS_EVM is not set
744# CONFIG_I2C_VIA is not set
745# CONFIG_I2C_VIAPRO is not set
746# CONFIG_I2C_VOODOO3 is not set
747
748#
749# Miscellaneous I2C Chip support
750#
751# CONFIG_SENSORS_DS1337 is not set
752# CONFIG_SENSORS_DS1374 is not set
753# CONFIG_DS1682 is not set
754# CONFIG_SENSORS_EEPROM is not set
755# CONFIG_SENSORS_PCF8574 is not set
756# CONFIG_SENSORS_PCA9539 is not set
757# CONFIG_SENSORS_PCF8591 is not set
758# CONFIG_SENSORS_M41T00 is not set
759# CONFIG_SENSORS_MAX6875 is not set
760# CONFIG_SENSORS_TSL2550 is not set
761# CONFIG_I2C_DEBUG_CORE is not set
762# CONFIG_I2C_DEBUG_ALGO is not set
763# CONFIG_I2C_DEBUG_BUS is not set
764# CONFIG_I2C_DEBUG_CHIP is not set
712 765
713# 766#
714# SPI support 767# SPI support
@@ -763,7 +816,119 @@ CONFIG_DUMMY_CONSOLE=y
763# 816#
764# Sound 817# Sound
765# 818#
766# CONFIG_SOUND is not set 819CONFIG_SOUND=y
820
821#
822# Advanced Linux Sound Architecture
823#
824CONFIG_SND=y
825CONFIG_SND_TIMER=y
826CONFIG_SND_PCM=y
827# CONFIG_SND_SEQUENCER is not set
828CONFIG_SND_OSSEMUL=y
829CONFIG_SND_MIXER_OSS=y
830CONFIG_SND_PCM_OSS=y
831# CONFIG_SND_PCM_OSS_PLUGINS is not set
832# CONFIG_SND_DYNAMIC_MINORS is not set
833# CONFIG_SND_SUPPORT_OLD_API is not set
834CONFIG_SND_VERBOSE_PROCFS=y
835# CONFIG_SND_VERBOSE_PRINTK is not set
836# CONFIG_SND_DEBUG is not set
837
838#
839# Generic devices
840#
841# CONFIG_SND_DUMMY is not set
842# CONFIG_SND_MTPAV is not set
843# CONFIG_SND_SERIAL_U16550 is not set
844# CONFIG_SND_MPU401 is not set
845
846#
847# PCI devices
848#
849# CONFIG_SND_AD1889 is not set
850# CONFIG_SND_ALS300 is not set
851# CONFIG_SND_ALS4000 is not set
852# CONFIG_SND_ALI5451 is not set
853# CONFIG_SND_ATIIXP is not set
854# CONFIG_SND_ATIIXP_MODEM is not set
855# CONFIG_SND_AU8810 is not set
856# CONFIG_SND_AU8820 is not set
857# CONFIG_SND_AU8830 is not set
858# CONFIG_SND_AZT3328 is not set
859# CONFIG_SND_BT87X is not set
860# CONFIG_SND_CA0106 is not set
861# CONFIG_SND_CMIPCI is not set
862# CONFIG_SND_CS4281 is not set
863# CONFIG_SND_CS46XX is not set
864# CONFIG_SND_CS5530 is not set
865# CONFIG_SND_DARLA20 is not set
866# CONFIG_SND_GINA20 is not set
867# CONFIG_SND_LAYLA20 is not set
868# CONFIG_SND_DARLA24 is not set
869# CONFIG_SND_GINA24 is not set
870# CONFIG_SND_LAYLA24 is not set
871# CONFIG_SND_MONA is not set
872# CONFIG_SND_MIA is not set
873# CONFIG_SND_ECHO3G is not set
874# CONFIG_SND_INDIGO is not set
875# CONFIG_SND_INDIGOIO is not set
876# CONFIG_SND_INDIGODJ is not set
877# CONFIG_SND_EMU10K1 is not set
878# CONFIG_SND_EMU10K1X is not set
879# CONFIG_SND_ENS1370 is not set
880# CONFIG_SND_ENS1371 is not set
881# CONFIG_SND_ES1938 is not set
882# CONFIG_SND_ES1968 is not set
883# CONFIG_SND_FM801 is not set
884# CONFIG_SND_HDA_INTEL is not set
885# CONFIG_SND_HDSP is not set
886# CONFIG_SND_HDSPM is not set
887# CONFIG_SND_ICE1712 is not set
888# CONFIG_SND_ICE1724 is not set
889# CONFIG_SND_INTEL8X0 is not set
890# CONFIG_SND_INTEL8X0M is not set
891# CONFIG_SND_KORG1212 is not set
892# CONFIG_SND_MAESTRO3 is not set
893# CONFIG_SND_MIXART is not set
894# CONFIG_SND_NM256 is not set
895# CONFIG_SND_PCXHR is not set
896# CONFIG_SND_RIPTIDE is not set
897# CONFIG_SND_RME32 is not set
898# CONFIG_SND_RME96 is not set
899# CONFIG_SND_RME9652 is not set
900# CONFIG_SND_SONICVIBES is not set
901# CONFIG_SND_TRIDENT is not set
902# CONFIG_SND_VIA82XX is not set
903# CONFIG_SND_VIA82XX_MODEM is not set
904# CONFIG_SND_VX222 is not set
905# CONFIG_SND_YMFPCI is not set
906
907#
908# ALSA PowerMac devices
909#
910
911#
912# ALSA PowerPC devices
913#
914
915#
916# System on Chip audio support
917#
918CONFIG_SND_SOC=y
919
920#
921# SoC Audio support for SuperH
922#
923
924#
925# ALSA SoC audio for Freescale SOCs
926#
927CONFIG_SND_SOC_MPC8610=y
928CONFIG_SND_SOC_MPC8610_HPCD=y
929CONFIG_SND_SOC_CS4270=y
930CONFIG_SND_SOC_CS4270_VD33_ERRATA=y
931
767CONFIG_HID_SUPPORT=y 932CONFIG_HID_SUPPORT=y
768CONFIG_HID=y 933CONFIG_HID=y
769# CONFIG_HID_DEBUG is not set 934# CONFIG_HID_DEBUG is not set
diff --git a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
index c6d2f48f8f3d..0b07485641fe 100644
--- a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
+++ b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
@@ -34,9 +34,24 @@
34 34
35#include <asm/mpic.h> 35#include <asm/mpic.h>
36 36
37#include <linux/of_platform.h>
37#include <sysdev/fsl_pci.h> 38#include <sysdev/fsl_pci.h>
38#include <sysdev/fsl_soc.h> 39#include <sysdev/fsl_soc.h>
39 40
41static struct of_device_id __initdata mpc8610_ids[] = {
42 { .compatible = "fsl,mpc8610-immr", },
43 {}
44};
45
46static int __init mpc8610_declare_of_platform_devices(void)
47{
48 /* Without this call, the SSI device driver won't get probed. */
49 of_platform_bus_probe(NULL, mpc8610_ids, NULL);
50
51 return 0;
52}
53machine_device_initcall(mpc86xx_hpcd, mpc8610_declare_of_platform_devices);
54
40void __init 55void __init
41mpc86xx_hpcd_init_irq(void) 56mpc86xx_hpcd_init_irq(void)
42{ 57{