diff options
author | Lily Zhang <r58066@freescale.com> | 2011-01-05 13:19:04 +0800 |
---|---|---|
committer | Alan Tull <alan.tull@freescale.com> | 2011-02-03 16:36:11 -0600 |
commit | 9e81bc3e98f47e0e1e4a434ea3527f559af530d5 (patch) | |
tree | f1c3b48ecf5bbc6f366235f06d1778815324bc9b /arch/arm/mach-mx5/mx53_loco.c | |
parent | 50ea5d196ff092190bc2a9df91a3340768c47ecf (diff) |
ENGR00136007-1 MX53 TO2.0: Add ASRC support
Add ASRC support for MX53 TO2.0:
- Add ASRC clock support
- MX53 clk source is different from MX35. Add clk map version.
- Add ASRC resource data. Get ASRC irq from resource data
- Add ASRC support for all MX53 boards
Signed-off-by: Lily Zhang <r58066@freescale.com>
Diffstat (limited to 'arch/arm/mach-mx5/mx53_loco.c')
-rw-r--r-- | arch/arm/mach-mx5/mx53_loco.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-mx5/mx53_loco.c b/arch/arm/mach-mx5/mx53_loco.c index a60c9a2d052c..673b88f1e989 100644 --- a/arch/arm/mach-mx5/mx53_loco.c +++ b/arch/arm/mach-mx5/mx53_loco.c @@ -682,6 +682,11 @@ static struct platform_device mxc_sgtl5000_device = { .name = "imx-3stack-sgtl5000", }; +static struct mxc_asrc_platform_data mxc_asrc_data = { + .channel_bits = 4, + .clk_map_ver = 2, +}; + static struct mxc_spdif_platform_data mxc_spdif_data = { .spdif_tx = 1, .spdif_rx = 0, @@ -861,6 +866,15 @@ static void __init mxc_board_init(void) mxc_register_device(&mxc_alsa_spdif_device, &mxc_spdif_data); mxc_register_device(&ahci_fsl_device, &sata_data); mxc_register_device(&mxc_fec_device, &fec_data); + /* ASRC is only available for MX53 TO2.0 */ + if (cpu_is_mx53_rev(CHIP_REV_2_0) >= 1) { + mxc_asrc_data.asrc_core_clk = clk_get(NULL, "asrc_clk"); + clk_put(mxc_asrc_data.asrc_core_clk); + mxc_asrc_data.asrc_audio_clk = clk_get(NULL, "asrc_serial_clk"); + clk_set_rate(mxc_asrc_data.asrc_audio_clk, 1190000); + clk_put(mxc_asrc_data.asrc_audio_clk); + mxc_register_device(&mxc_asrc_device, &mxc_asrc_data); + } i2c_register_board_info(0, mxc_i2c0_board_info, ARRAY_SIZE(mxc_i2c0_board_info)); |