aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/board-da850-evm.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-davinci/board-da850-evm.c')
-rw-r--r--arch/arm/mach-davinci/board-da850-evm.c38
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
119static 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
132static struct mtd_notifier da850evm_spi_notifier = {
133 .add = da850_evm_m25p80_notify_add,
134};
135
136static void da850_evm_setup_mac_addr(void)
137{
138 register_mtd_user(&da850evm_spi_notifier);
139}
140#else
141static void da850_evm_setup_mac_addr(void) { }
142#endif
143
118static struct mtd_partition da850_evm_norflash_partition[] = { 144static 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)
1117static __init int da850_evm_init_cpufreq(void) { return 0; } 1143static __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
1120static __init void da850_evm_init(void) 1148static __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,
1264MACHINE_END 1300MACHINE_END