diff options
Diffstat (limited to 'arch/arm/mach-davinci/board-da850-evm.c')
-rw-r--r-- | arch/arm/mach-davinci/board-da850-evm.c | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index a7b41bf505f..d5ec3337de6 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c | |||
@@ -115,6 +115,32 @@ static struct spi_board_info da850evm_spi_info[] = { | |||
115 | }, | 115 | }, |
116 | }; | 116 | }; |
117 | 117 | ||
118 | #ifdef CONFIG_MTD | ||
119 | static void da850_evm_m25p80_notify_add(struct mtd_info *mtd) | ||
120 | { | ||
121 | char *mac_addr = davinci_soc_info.emac_pdata->mac_addr; | ||
122 | size_t retlen; | ||
123 | |||
124 | if (!strcmp(mtd->name, "MAC-Address")) { | ||
125 | mtd->read(mtd, 0, ETH_ALEN, &retlen, mac_addr); | ||
126 | if (retlen == ETH_ALEN) | ||
127 | pr_info("Read MAC addr from SPI Flash: %pM\n", | ||
128 | mac_addr); | ||
129 | } | ||
130 | } | ||
131 | |||
132 | static struct mtd_notifier da850evm_spi_notifier = { | ||
133 | .add = da850_evm_m25p80_notify_add, | ||
134 | }; | ||
135 | |||
136 | static void da850_evm_setup_mac_addr(void) | ||
137 | { | ||
138 | register_mtd_user(&da850evm_spi_notifier); | ||
139 | } | ||
140 | #else | ||
141 | static void da850_evm_setup_mac_addr(void) { } | ||
142 | #endif | ||
143 | |||
118 | static struct mtd_partition da850_evm_norflash_partition[] = { | 144 | static struct mtd_partition da850_evm_norflash_partition[] = { |
119 | { | 145 | { |
120 | .name = "bootloaders + env", | 146 | .name = "bootloaders + env", |
@@ -722,7 +748,7 @@ static struct snd_platform_data da850_evm_snd_data = { | |||
722 | .num_serializer = ARRAY_SIZE(da850_iis_serializer_direction), | 748 | .num_serializer = ARRAY_SIZE(da850_iis_serializer_direction), |
723 | .tdm_slots = 2, | 749 | .tdm_slots = 2, |
724 | .serial_dir = da850_iis_serializer_direction, | 750 | .serial_dir = da850_iis_serializer_direction, |
725 | .asp_chan_q = EVENTQ_1, | 751 | .asp_chan_q = EVENTQ_0, |
726 | .version = MCASP_VERSION_2, | 752 | .version = MCASP_VERSION_2, |
727 | .txnumevt = 1, | 753 | .txnumevt = 1, |
728 | .rxnumevt = 1, | 754 | .rxnumevt = 1, |
@@ -1117,6 +1143,8 @@ static __init int da850_evm_init_cpufreq(void) | |||
1117 | static __init int da850_evm_init_cpufreq(void) { return 0; } | 1143 | static __init int da850_evm_init_cpufreq(void) { return 0; } |
1118 | #endif | 1144 | #endif |
1119 | 1145 | ||
1146 | #define DA850EVM_SATA_REFCLKPN_RATE (100 * 1000 * 1000) | ||
1147 | |||
1120 | static __init void da850_evm_init(void) | 1148 | static __init void da850_evm_init(void) |
1121 | { | 1149 | { |
1122 | int ret; | 1150 | int ret; |
@@ -1237,6 +1265,13 @@ static __init void da850_evm_init(void) | |||
1237 | if (ret) | 1265 | if (ret) |
1238 | pr_warning("da850_evm_init: spi 1 registration failed: %d\n", | 1266 | pr_warning("da850_evm_init: spi 1 registration failed: %d\n", |
1239 | ret); | 1267 | ret); |
1268 | |||
1269 | ret = da850_register_sata(DA850EVM_SATA_REFCLKPN_RATE); | ||
1270 | if (ret) | ||
1271 | pr_warning("da850_evm_init: sata registration failed: %d\n", | ||
1272 | ret); | ||
1273 | |||
1274 | da850_evm_setup_mac_addr(); | ||
1240 | } | 1275 | } |
1241 | 1276 | ||
1242 | #ifdef CONFIG_SERIAL_8250_CONSOLE | 1277 | #ifdef CONFIG_SERIAL_8250_CONSOLE |
@@ -1261,4 +1296,5 @@ MACHINE_START(DAVINCI_DA850_EVM, "DaVinci DA850/OMAP-L138/AM18x EVM") | |||
1261 | .init_irq = cp_intc_init, | 1296 | .init_irq = cp_intc_init, |
1262 | .timer = &davinci_timer, | 1297 | .timer = &davinci_timer, |
1263 | .init_machine = da850_evm_init, | 1298 | .init_machine = da850_evm_init, |
1299 | .dma_zone_size = SZ_128M, | ||
1264 | MACHINE_END | 1300 | MACHINE_END |