1171426Simp/*- 2171426Simp * Copyright (c) 2006 M. Warner Losh. All rights reserved. 3171426Simp * 4171426Simp * Redistribution and use in source and binary forms, with or without 5171426Simp * modification, are permitted provided that the following conditions 6171426Simp * are met: 7171426Simp * 1. Redistributions of source code must retain the above copyright 8171426Simp * notice, this list of conditions and the following disclaimer. 9171426Simp * 2. Redistributions in binary form must reproduce the above copyright 10171426Simp * notice, this list of conditions and the following disclaimer in the 11171426Simp * documentation and/or other materials provided with the distribution. 12171426Simp * 13171426Simp * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 14171426Simp * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 15171426Simp * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 16171426Simp * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 17171426Simp * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 18171426Simp * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19171426Simp * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20171426Simp * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21171426Simp * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22171426Simp * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23171426Simp * 24171426Simp */ 25171426Simp 26171426Simp#include <sys/cdefs.h> 27171426Simp__FBSDID("$FreeBSD: releng/10.2/sys/boot/arm/at91/boot2/centipad_board.c 183635 2008-10-05 23:39:28Z imp $"); 28171426Simp 29171426Simp#include <sys/param.h> 30171426Simp 31171426Simp#include "emac.h" 32171426Simp#include "lib.h" 33171426Simp#include "board.h" 34171426Simp#include "sd-card.h" 35171426Simp 36171426Simpunsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 1, 1 }; 37171426Simp 38171426Simpstatic void 39171426SimpMacFromEE() 40171426Simp{ 41171426Simp#if 0 42171426Simp uint32_t sig; 43171426Simp sig = 0; 44171426Simp ReadEEPROM(12 * 1024, (uint8_t *)&sig, sizeof(sig)); 45171426Simp if (sig != 0x92021054) 46171426Simp return; 47171426Simp ReadEEPROM(12 * 1024 + 4, mac, 6); 48171426Simp#endif 49171426Simp printf("MAC %x:%x:%x:%x:%x:%x\n", mac[0], 50171426Simp mac[1], mac[2], mac[3], mac[4], mac[5]); 51171426Simp} 52171426Simp 53171426Simpvoid 54171426Simpboard_init(void) 55171426Simp{ 56171426Simp InitEEPROM(); 57171426Simp MacFromEE(); 58171426Simp EMAC_Init(); 59171426Simp EMAC_SetMACAddress(mac); 60171426Simp while (sdcard_init() == 0) 61171426Simp printf("Looking for SD card\n"); 62171426Simp} 63171426Simp 64171426Simpint 65171426Simpdrvread(void *buf, unsigned lba, unsigned nblk) 66171426Simp{ 67171426Simp return (MCI_read((char *)buf, lba << 9, nblk << 9)); 68171426Simp} 69