hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/*
 * Copyright (C) 2007 - 2010
 *     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
 * (C) Copyright 2000-2003
 *     Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
 *
 * board/shmin/shmin.c
 *
 * SPDX-License-Identifier:    GPL-2.0+
 *
 * Copy board_flash_get_legacy() from board/freescale/m54455evb/m54455evb.c
 */
 
#include <common.h>
#include <asm/io.h>
#include <asm/processor.h>
#include <netdev.h>
 
int checkboard(void)
{
   puts("BOARD: T-SH7706LAN ");
   if(readb(0xb0008006) == 0xab)
       puts("v2\n");
   else
       puts("v1\n");
   return 0;
}
 
int board_init(void)
{
   writew(0x2980, BCR2);
   return 0;
}
 
int board_eth_init(bd_t *bis)
{
   return ne2k_register();
}
 
void led_set_state(unsigned short value)
{
 
}
 
#if defined(CONFIG_FLASH_CFI_LEGACY)
#include <flash.h>
ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info)
{
   int sect[] = CONFIG_SYS_ATMEL_SECT;
   int sectsz[] = CONFIG_SYS_ATMEL_SECTSZ;
       int i, j, k;
 
   if (base != CONFIG_SYS_ATMEL_BASE)
       return 0;
 
   info->flash_id            = 0x01000000;
   info->portwidth            = 1;
   info->chipwidth            = 1;
   info->buffer_size        = 1;
   info->erase_blk_tout    = 16384;
   info->write_tout        = 2;
   info->buffer_write_tout    = 5;
   info->vendor            = 0xFFF0; /* CFI_CMDSET_AMD_LEGACY */
   info->cmd_reset            = 0x00F0;
   info->interface            = FLASH_CFI_X8;
   info->legacy_unlock        = 0;
   info->manufacturer_id    = (u16) ATM_MANUFACT;
   info->device_id            = ATM_ID_LV040;
   info->device_id2        = 0;
   info->ext_addr            = 0;
   info->cfi_version        = 0x3133;
   info->cfi_offset        = 0x0000;
   info->addr_unlock1        = 0x00000555;
   info->addr_unlock2        = 0x000002AA;
   info->name                = "CFI conformant";
   info->size                = 0;
   info->sector_count        = CONFIG_SYS_ATMEL_TOTALSECT;
   info->start[0] = base;
 
   for (k = 0, i = 0; i < CONFIG_SYS_ATMEL_REGION; i++) {
       info->size += sect[i] * sectsz[i];
       for (j = 0; j < sect[i]; j++, k++) {
           info->start[k + 1] = info->start[k] + sectsz[i];
           info->protect[k] = 0;
       }
   }
 
   return 1;
}
#endif /* CONFIG_FLASH_CFI_LEGACY */