Loading arch/arm/mach-kirkwood/common.c +38 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ #include <asm/mach/time.h> #include <mach/kirkwood.h> #include <mach/bridge-regs.h> #include <plat/audio.h> #include <plat/cache-feroceon-l2.h> #include <plat/ehci-orion.h> #include <plat/mvsdio.h> Loading Loading @@ -864,6 +865,42 @@ struct sys_timer kirkwood_timer = { .init = kirkwood_timer_init, }; /***************************************************************************** * Audio ****************************************************************************/ static struct resource kirkwood_i2s_resources[] = { [0] = { .start = AUDIO_PHYS_BASE, .end = AUDIO_PHYS_BASE + SZ_16K - 1, .flags = IORESOURCE_MEM, }, [1] = { .start = IRQ_KIRKWOOD_I2S, .end = IRQ_KIRKWOOD_I2S, .flags = IORESOURCE_IRQ, }, }; static struct kirkwood_asoc_platform_data kirkwood_i2s_data = { .dram = &kirkwood_mbus_dram_info, .burst = 128, }; static struct platform_device kirkwood_i2s_device = { .name = "kirkwood-i2s", .id = -1, .num_resources = ARRAY_SIZE(kirkwood_i2s_resources), .resource = kirkwood_i2s_resources, .dev = { .platform_data = &kirkwood_i2s_data, }, }; void __init kirkwood_audio_init(void) { kirkwood_clk_ctrl |= CGC_AUDIO; platform_device_register(&kirkwood_i2s_device); } /***************************************************************************** * General Loading Loading @@ -923,6 +960,7 @@ void __init kirkwood_init(void) kirkwood_spi_plat_data.tclk = kirkwood_tclk; kirkwood_uart0_data[0].uartclk = kirkwood_tclk; kirkwood_uart1_data[0].uartclk = kirkwood_tclk; kirkwood_i2s_data.tclk = kirkwood_tclk; /* * Disable propagation of mbus errors to the CPU local bus, Loading arch/arm/mach-kirkwood/common.h +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ struct mv_sata_platform_data; struct mvsdio_platform_data; struct mtd_partition; struct mtd_info; struct kirkwood_asoc_platform_data; /* * Basic Kirkwood init functions used early by machine-setup. Loading @@ -43,6 +44,7 @@ void kirkwood_uart0_init(void); void kirkwood_uart1_init(void); void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay); void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts, int (*dev_ready)(struct mtd_info *)); void kirkwood_audio_init(void); extern int kirkwood_tclk; extern struct sys_timer kirkwood_timer; Loading arch/arm/mach-kirkwood/include/mach/kirkwood.h +3 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,9 @@ #define SDIO_PHYS_BASE (KIRKWOOD_REGS_PHYS_BASE | 0x90000) #define AUDIO_PHYS_BASE (KIRKWOOD_REGS_PHYS_BASE | 0xA0000) #define AUDIO_VIRT_BASE (KIRKWOOD_REGS_VIRT_BASE | 0xA0000) /* * Supported devices and revisions. */ Loading arch/arm/mach-kirkwood/openrd-setup.c +13 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ #include <linux/mtd/partitions.h> #include <linux/ata_platform.h> #include <linux/mv643xx_eth.h> #include <linux/i2c.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <mach/kirkwood.h> Loading Loading @@ -60,6 +61,12 @@ static unsigned int openrd_mpp_config[] __initdata = { 0 }; static struct i2c_board_info i2c_board_info[] __initdata = { { I2C_BOARD_INFO("cs42l51", 0x4a), }, }; static void __init openrd_init(void) { /* Loading @@ -80,6 +87,12 @@ static void __init openrd_init(void) kirkwood_sdio_init(&openrd_mvsdio_data); kirkwood_i2c_init(); if (machine_is_openrd_client()) { i2c_register_board_info(0, i2c_board_info, ARRAY_SIZE(i2c_board_info)); kirkwood_audio_init(); } } static int __init openrd_pci_init(void) Loading arch/arm/plat-orion/include/plat/audio.h 0 → 100644 +11 −0 Original line number Diff line number Diff line #ifndef __PLAT_AUDIO_H #define __PLAT_AUDIO_H #include <linux/mbus.h> struct kirkwood_asoc_platform_data { u32 tclk; struct mbus_dram_target_info *dram; int burst; }; #endif Loading
arch/arm/mach-kirkwood/common.c +38 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ #include <asm/mach/time.h> #include <mach/kirkwood.h> #include <mach/bridge-regs.h> #include <plat/audio.h> #include <plat/cache-feroceon-l2.h> #include <plat/ehci-orion.h> #include <plat/mvsdio.h> Loading Loading @@ -864,6 +865,42 @@ struct sys_timer kirkwood_timer = { .init = kirkwood_timer_init, }; /***************************************************************************** * Audio ****************************************************************************/ static struct resource kirkwood_i2s_resources[] = { [0] = { .start = AUDIO_PHYS_BASE, .end = AUDIO_PHYS_BASE + SZ_16K - 1, .flags = IORESOURCE_MEM, }, [1] = { .start = IRQ_KIRKWOOD_I2S, .end = IRQ_KIRKWOOD_I2S, .flags = IORESOURCE_IRQ, }, }; static struct kirkwood_asoc_platform_data kirkwood_i2s_data = { .dram = &kirkwood_mbus_dram_info, .burst = 128, }; static struct platform_device kirkwood_i2s_device = { .name = "kirkwood-i2s", .id = -1, .num_resources = ARRAY_SIZE(kirkwood_i2s_resources), .resource = kirkwood_i2s_resources, .dev = { .platform_data = &kirkwood_i2s_data, }, }; void __init kirkwood_audio_init(void) { kirkwood_clk_ctrl |= CGC_AUDIO; platform_device_register(&kirkwood_i2s_device); } /***************************************************************************** * General Loading Loading @@ -923,6 +960,7 @@ void __init kirkwood_init(void) kirkwood_spi_plat_data.tclk = kirkwood_tclk; kirkwood_uart0_data[0].uartclk = kirkwood_tclk; kirkwood_uart1_data[0].uartclk = kirkwood_tclk; kirkwood_i2s_data.tclk = kirkwood_tclk; /* * Disable propagation of mbus errors to the CPU local bus, Loading
arch/arm/mach-kirkwood/common.h +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ struct mv_sata_platform_data; struct mvsdio_platform_data; struct mtd_partition; struct mtd_info; struct kirkwood_asoc_platform_data; /* * Basic Kirkwood init functions used early by machine-setup. Loading @@ -43,6 +44,7 @@ void kirkwood_uart0_init(void); void kirkwood_uart1_init(void); void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay); void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts, int (*dev_ready)(struct mtd_info *)); void kirkwood_audio_init(void); extern int kirkwood_tclk; extern struct sys_timer kirkwood_timer; Loading
arch/arm/mach-kirkwood/include/mach/kirkwood.h +3 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,9 @@ #define SDIO_PHYS_BASE (KIRKWOOD_REGS_PHYS_BASE | 0x90000) #define AUDIO_PHYS_BASE (KIRKWOOD_REGS_PHYS_BASE | 0xA0000) #define AUDIO_VIRT_BASE (KIRKWOOD_REGS_VIRT_BASE | 0xA0000) /* * Supported devices and revisions. */ Loading
arch/arm/mach-kirkwood/openrd-setup.c +13 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ #include <linux/mtd/partitions.h> #include <linux/ata_platform.h> #include <linux/mv643xx_eth.h> #include <linux/i2c.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <mach/kirkwood.h> Loading Loading @@ -60,6 +61,12 @@ static unsigned int openrd_mpp_config[] __initdata = { 0 }; static struct i2c_board_info i2c_board_info[] __initdata = { { I2C_BOARD_INFO("cs42l51", 0x4a), }, }; static void __init openrd_init(void) { /* Loading @@ -80,6 +87,12 @@ static void __init openrd_init(void) kirkwood_sdio_init(&openrd_mvsdio_data); kirkwood_i2c_init(); if (machine_is_openrd_client()) { i2c_register_board_info(0, i2c_board_info, ARRAY_SIZE(i2c_board_info)); kirkwood_audio_init(); } } static int __init openrd_pci_init(void) Loading
arch/arm/plat-orion/include/plat/audio.h 0 → 100644 +11 −0 Original line number Diff line number Diff line #ifndef __PLAT_AUDIO_H #define __PLAT_AUDIO_H #include <linux/mbus.h> struct kirkwood_asoc_platform_data { u32 tclk; struct mbus_dram_target_info *dram; int burst; }; #endif