Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
d56c524a
Commit
d56c524a
authored
Nov 04, 2005
by
Russell King
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] ARM: Reverted 2918/1: [update] Base port of Comdial MP1000 platfrom
No longer maintained
parent
866237ea
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
2 additions
and
1407 deletions
+2
-1407
arch/arm/Kconfig
arch/arm/Kconfig
+1
-2
arch/arm/boot/compressed/head.S
arch/arm/boot/compressed/head.S
+1
-2
arch/arm/configs/mp1000_defconfig
arch/arm/configs/mp1000_defconfig
+0
-897
arch/arm/mach-clps711x/Kconfig
arch/arm/mach-clps711x/Kconfig
+0
-11
arch/arm/mach-clps711x/Makefile
arch/arm/mach-clps711x/Makefile
+0
-1
arch/arm/mach-clps711x/mp1000-mach.c
arch/arm/mach-clps711x/mp1000-mach.c
+0
-49
arch/arm/mach-clps711x/mp1000-mm.c
arch/arm/mach-clps711x/mp1000-mm.c
+0
-47
arch/arm/mach-clps711x/mp1000-seprom.c
arch/arm/mach-clps711x/mp1000-seprom.c
+0
-195
drivers/serial/clps711x.c
drivers/serial/clps711x.c
+0
-9
include/asm-arm/arch-clps711x/hardware.h
include/asm-arm/arch-clps711x/hardware.h
+0
-117
include/asm-arm/arch-clps711x/mp1000-seprom.h
include/asm-arm/arch-clps711x/mp1000-seprom.h
+0
-77
No files found.
arch/arm/Kconfig
View file @
d56c524a
...
@@ -704,8 +704,7 @@ source "drivers/acorn/block/Kconfig"
...
@@ -704,8 +704,7 @@ source "drivers/acorn/block/Kconfig"
if PCMCIA || ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX \
if PCMCIA || ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX \
|| ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
|| ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
|| ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \
|| ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE
|| MACH_MP1000
source "drivers/ide/Kconfig"
source "drivers/ide/Kconfig"
endif
endif
...
...
arch/arm/boot/compressed/head.S
View file @
d56c524a
...
@@ -39,8 +39,7 @@
...
@@ -39,8 +39,7 @@
defined
(
CONFIG_ARCH_IXP4XX
)
||
\
defined
(
CONFIG_ARCH_IXP4XX
)
||
\
defined
(
CONFIG_ARCH_IXP2000
)
||
\
defined
(
CONFIG_ARCH_IXP2000
)
||
\
defined
(
CONFIG_ARCH_LH7A40X
)
||
\
defined
(
CONFIG_ARCH_LH7A40X
)
||
\
defined
(
CONFIG_ARCH_OMAP
)
||
\
defined
(
CONFIG_ARCH_OMAP
)
defined
(
CONFIG_MACH_MP1000
)
.
macro
loadsp
,
rb
.
macro
loadsp
,
rb
addruart
\
rb
addruart
\
rb
.
endm
.
endm
...
...
arch/arm/configs/mp1000_defconfig
deleted
100644 → 0
View file @
866237ea
This diff is collapsed.
Click to expand it.
arch/arm/mach-clps711x/Kconfig
View file @
d56c524a
...
@@ -69,17 +69,6 @@ config EP72XX_ROM_BOOT
...
@@ -69,17 +69,6 @@ config EP72XX_ROM_BOOT
You almost surely want to say N here.
You almost surely want to say N here.
config MACH_MP1000
bool "MACH_MP1000"
help
Say Y if you intend to run the kernel on the Comdial MP1000 platform.
config MP1000_90MHZ
bool "MP1000_90MHZ"
depends on MACH_MP1000
help
Say Y if you have the MP1000 configured to be set at 90MHZ rather than 74MHZ
endmenu
endmenu
endif
endif
arch/arm/mach-clps711x/Makefile
View file @
d56c524a
...
@@ -15,7 +15,6 @@ obj-$(CONFIG_ARCH_CDB89712) += cdb89712.o
...
@@ -15,7 +15,6 @@ obj-$(CONFIG_ARCH_CDB89712) += cdb89712.o
obj-$(CONFIG_ARCH_CLEP7312)
+=
clep7312.o
obj-$(CONFIG_ARCH_CLEP7312)
+=
clep7312.o
obj-$(CONFIG_ARCH_EDB7211)
+=
edb7211-arch.o edb7211-mm.o
obj-$(CONFIG_ARCH_EDB7211)
+=
edb7211-arch.o edb7211-mm.o
obj-$(CONFIG_ARCH_FORTUNET)
+=
fortunet.o
obj-$(CONFIG_ARCH_FORTUNET)
+=
fortunet.o
obj-$(CONFIG_MACH_MP1000)
+=
mp1000-mach.o mp1000-mm.o mp1000-seprom.o
obj-$(CONFIG_ARCH_P720T)
+=
p720t.o
obj-$(CONFIG_ARCH_P720T)
+=
p720t.o
leds-$(CONFIG_ARCH_P720T)
+=
p720t-leds.o
leds-$(CONFIG_ARCH_P720T)
+=
p720t-leds.o
obj-$(CONFIG_LEDS)
+=
$
(
leds-y
)
obj-$(CONFIG_LEDS)
+=
$
(
leds-y
)
arch/arm/mach-clps711x/mp1000-mach.c
deleted
100644 → 0
View file @
866237ea
/*
* linux/arch/arm/mach-mp1000/mp1000.c
*
* Copyright (C) 2005 Comdial Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/init.h>
#include <linux/types.h>
#include <linux/string.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/arch/mp1000-seprom.h>
#include "common.h"
extern
void
mp1000_map_io
(
void
);
static
void
__init
mp1000_init
(
void
)
{
seprom_init
();
}
MACHINE_START
(
MP1000
,
"Comdial MP1000"
)
/* Maintainer: Jon Ringle */
.
phys_ram
=
0xc0000000
,
.
phys_io
=
0x80000000
,
.
io_pg_offst
=
((
0xff000000
)
>>
18
)
&
0xfffc
,
.
boot_params
=
0xc0015100
,
.
map_io
=
mp1000_map_io
,
.
init_irq
=
clps711x_init_irq
,
.
init_machine
=
mp1000_init
,
.
timer
=
&
clps711x_timer
,
MACHINE_END
arch/arm/mach-clps711x/mp1000-mm.c
deleted
100644 → 0
View file @
866237ea
/*
* linux/arch/arm/mach-mp1000/mm.c
*
* Extra MM routines for the MP1000
*
* Copyright (C) 2005 Comdial Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <asm/hardware.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/sizes.h>
#include <asm/mach/map.h>
extern
void
clps711x_map_io
(
void
);
static
struct
map_desc
mp1000_io_desc
[]
__initdata
=
{
{
MP1000_EIO_BASE
,
MP1000_EIO_START
,
MP1000_EIO_SIZE
,
MT_DEVICE
},
{
MP1000_FIO_BASE
,
MP1000_FIO_START
,
MP1000_FIO_SIZE
,
MT_DEVICE
},
{
MP1000_LIO_BASE
,
MP1000_LIO_START
,
MP1000_LIO_SIZE
,
MT_DEVICE
},
{
MP1000_NIO_BASE
,
MP1000_NIO_START
,
MP1000_NIO_SIZE
,
MT_DEVICE
},
{
MP1000_IDE_BASE
,
MP1000_IDE_START
,
MP1000_IDE_SIZE
,
MT_DEVICE
},
{
MP1000_DSP_BASE
,
MP1000_DSP_START
,
MP1000_DSP_SIZE
,
MT_DEVICE
}
};
void
__init
mp1000_map_io
(
void
)
{
clps711x_map_io
();
iotable_init
(
mp1000_io_desc
,
ARRAY_SIZE
(
mp1000_io_desc
));
}
arch/arm/mach-clps711x/mp1000-seprom.c
deleted
100644 → 0
View file @
866237ea
/*`
* mp1000-seprom.c
*
* This file contains the Serial EEPROM code for the MP1000 board
*
* Copyright (C) 2005 Comdial Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <asm/hardware.h>
#include <asm/hardware/clps7111.h>
#include <asm/arch/mp1000-seprom.h>
/* If SepromInit() can initialize and checksum the seprom successfully, */
/* then it will point seprom_data_ptr at the shadow copy. */
static
eeprom_struct
seprom_data
;
/* shadow copy of seprom content */
eeprom_struct
*
seprom_data_ptr
=
0
;
/* 0 => not initialized */
/*
* Port D Bit 5 is Chip Select for EEPROM
* Port E Bit 0 is Input, Data out from EEPROM
* Port E Bit 1 is Output, Data in to EEPROM
* Port E Bit 2 is Output, CLK to EEPROM
*/
static
char
*
port_d_ptr
=
(
char
*
)(
CLPS7111_VIRT_BASE
+
PDDR
);
static
char
*
port_e_ptr
=
(
char
*
)(
CLPS7111_VIRT_BASE
+
PEDR
);
#define NO_OF_SHORTS 64 // Device is 64 x 16 bits
#define ENABLE_RW 0
#define DISABLE_RW 1
static
inline
void
toggle_seprom_clock
(
void
)
{
*
port_e_ptr
|=
HwPortESepromCLK
;
*
port_e_ptr
&=
~
(
HwPortESepromCLK
);
}
static
inline
void
select_eeprom
(
void
)
{
*
port_d_ptr
|=
HwPortDEECS
;
*
port_e_ptr
&=
~
(
HwPortESepromCLK
);
}
static
inline
void
deselect_eeprom
(
void
)
{
*
port_d_ptr
&=
~
(
HwPortDEECS
);
*
port_e_ptr
&=
~
(
HwPortESepromDIn
);
}
/*
* GetSepromDataPtr - returns pointer to shadow (RAM) copy of seprom
* and returns 0 if seprom is not initialized or
* has a checksum error.
*/
eeprom_struct
*
get_seprom_ptr
(
void
)
{
return
seprom_data_ptr
;
}
unsigned
char
*
get_eeprom_mac_address
(
void
)
{
return
seprom_data_ptr
->
variant
.
eprom_struct
.
mac_Address
;
}
/*
* ReadSProm, Physically reads data from the Serial PROM
*/
static
void
read_sprom
(
short
address
,
int
length
,
eeprom_struct
*
buffer
)
{
short
data
=
COMMAND_READ
|
(
address
&
0x3F
);
short
bit
;
int
i
;
select_eeprom
();
// Clock in 9 bits of the command
for
(
i
=
0
,
bit
=
0x100
;
i
<
9
;
i
++
,
bit
>>=
1
)
{
if
(
data
&
bit
)
*
port_e_ptr
|=
HwPortESepromDIn
;
else
*
port_e_ptr
&=
~
(
HwPortESepromDIn
);
toggle_seprom_clock
();
}
//
// Now read one or more shorts of data from the Seprom
//
while
(
length
--
>
0
)
{
data
=
0
;
// Read 16 bits at a time
for
(
i
=
0
;
i
<
16
;
i
++
)
{
data
<<=
1
;
toggle_seprom_clock
();
data
|=
*
port_e_ptr
&
HwPortESepromDOut
;
}
buffer
->
variant
.
eprom_short_data
[
address
++
]
=
data
;
}
deselect_eeprom
();
return
;
}
/*
* ReadSerialPROM
*
* Input: Pointer to array of 64 x 16 Bits
*
* Output: if no problem reading data is filled in
*/
static
void
read_serial_prom
(
eeprom_struct
*
data
)
{
read_sprom
(
0
,
64
,
data
);
}
//
// Compute Serial EEPROM checksum
//
// Input: Pointer to struct with Eprom data
//
// Output: The computed Eprom checksum
//
static
short
compute_seprom_checksum
(
eeprom_struct
*
data
)
{
short
checksum
=
0
;
int
i
;
for
(
i
=
0
;
i
<
126
;
i
++
)
{
checksum
+=
(
short
)
data
->
variant
.
eprom_byte_data
[
i
];
}
return
((
short
)(
0x5555
-
(
checksum
&
0xFFFF
)));
}
//
// Make sure the data port bits for the SEPROM are correctly initialised
//
void
__init
seprom_init
(
void
)
{
short
checksum
;
// Init Port D
*
(
char
*
)(
CLPS7111_VIRT_BASE
+
PDDDR
)
=
0x0
;
*
(
char
*
)(
CLPS7111_VIRT_BASE
+
PDDR
)
=
0x15
;
// Init Port E
*
(
int
*
)(
CLPS7111_VIRT_BASE
+
PEDDR
)
=
0x06
;
*
(
int
*
)(
CLPS7111_VIRT_BASE
+
PEDR
)
=
0x04
;
//
// Make sure that EEPROM struct size never exceeds 128 bytes
//
if
(
sizeof
(
eeprom_struct
)
>
128
)
{
panic
(
"Serial PROM struct size > 128, aborting read
\n
"
);
}
read_serial_prom
(
&
seprom_data
);
checksum
=
compute_seprom_checksum
(
&
seprom_data
);
if
(
checksum
!=
seprom_data
.
variant
.
eprom_short_data
[
63
])
{
panic
(
"Serial EEPROM checksum failed
\n
"
);
}
seprom_data_ptr
=
&
seprom_data
;
}
drivers/serial/clps711x.c
View file @
d56c524a
...
@@ -408,11 +408,7 @@ static struct uart_port clps711x_ports[UART_NR] = {
...
@@ -408,11 +408,7 @@ static struct uart_port clps711x_ports[UART_NR] = {
{
{
.
iobase
=
SYSCON1
,
.
iobase
=
SYSCON1
,
.
irq
=
IRQ_UTXINT1
,
/* IRQ_URXINT1, IRQ_UMSINT */
.
irq
=
IRQ_UTXINT1
,
/* IRQ_URXINT1, IRQ_UMSINT */
#ifdef CONFIG_MP1000_90MHZ
.
uartclk
=
4515840
,
#else
.
uartclk
=
3686400
,
.
uartclk
=
3686400
,
#endif
.
fifosize
=
16
,
.
fifosize
=
16
,
.
ops
=
&
clps711x_pops
,
.
ops
=
&
clps711x_pops
,
.
line
=
0
,
.
line
=
0
,
...
@@ -421,11 +417,7 @@ static struct uart_port clps711x_ports[UART_NR] = {
...
@@ -421,11 +417,7 @@ static struct uart_port clps711x_ports[UART_NR] = {
{
{
.
iobase
=
SYSCON2
,
.
iobase
=
SYSCON2
,
.
irq
=
IRQ_UTXINT2
,
/* IRQ_URXINT2 */
.
irq
=
IRQ_UTXINT2
,
/* IRQ_URXINT2 */
#ifdef CONFIG_MP1000_90MHZ
.
uartclk
=
4515840
,
#else
.
uartclk
=
3686400
,
.
uartclk
=
3686400
,
#endif
.
fifosize
=
16
,
.
fifosize
=
16
,
.
ops
=
&
clps711x_pops
,
.
ops
=
&
clps711x_pops
,
.
line
=
1
,
.
line
=
1
,
...
@@ -559,7 +551,6 @@ console_initcall(clps711xuart_console_init);
...
@@ -559,7 +551,6 @@ console_initcall(clps711xuart_console_init);
static
struct
uart_driver
clps711x_reg
=
{
static
struct
uart_driver
clps711x_reg
=
{
.
driver_name
=
"ttyCL"
,
.
driver_name
=
"ttyCL"
,
.
dev_name
=
"ttyCL"
,
.
dev_name
=
"ttyCL"
,
.
devfs_name
=
"ttyCL"
,
.
major
=
SERIAL_CLPS711X_MAJOR
,
.
major
=
SERIAL_CLPS711X_MAJOR
,
.
minor
=
SERIAL_CLPS711X_MINOR
,
.
minor
=
SERIAL_CLPS711X_MINOR
,
.
nr
=
UART_NR
,
.
nr
=
UART_NR
,
...
...
include/asm-arm/arch-clps711x/hardware.h
View file @
d56c524a
...
@@ -235,121 +235,4 @@
...
@@ -235,121 +235,4 @@
#define CEIVA_PB0_BLK_BTN (1<<0)
#define CEIVA_PB0_BLK_BTN (1<<0)
#endif // #if defined (CONFIG_ARCH_CEIVA)
#endif // #if defined (CONFIG_ARCH_CEIVA)
#if defined (CONFIG_MACH_MP1000)
/* NOR FLASH */
#define MP1000_NIO_BASE 0xf9000000
/* virtual */
#define MP1000_NIO_START CS0_PHYS_BASE
/* physical */
#define MP1000_NIO_SIZE 0x00400000
/* DSP Interface */
#define MP1000_DSP_BASE 0xfa000000
/* virtual */
#define MP1000_DSP_START CS1_PHYS_BASE
/* physical */
#define MP1000_DSP_SIZE 0x00100000
/* LCD, DAA/DSP, RTC, DAA RW Reg all in CS2 */
#define MP1000_LIO_BASE 0xfb000000
/* virtual */
#define MP1000_LIO_START CS2_PHYS_BASE
/* physical */
#define MP1000_LIO_SIZE 0x00100000
/* NAND FLASH */
#define MP1000_FIO_BASE 0xfc000000
/* virtual */
#define MP1000_FIO_START CS3_PHYS_BASE
/* physical */
#define MP1000_FIO_SIZE 0x00800000
/* Ethernet */
#define MP1000_EIO_BASE 0xfd000000
/* virtual */
#define MP1000_EIO_START CS4_PHYS_BASE
/* physical */
#define MP1000_EIO_SIZE 0x00100000
#define MP1000_LCD_OFFSET 0x00000000
/* LCD offset in CS2 */
#define MP1000_DDD_OFFSET 0x00001000
/* DAA/DAI/DSP sft reset offst*/
#define MP1000_RTC_OFFSET 0x00002000
/* RTC offset in CS2 */
#define MP1000_DAA_OFFSET 0x00003000
/* DAA RW reg offset in CS2 */
/* IDE */
#define MP1000_IDE_BASE 0xfe000000
/* virtual */
#define MP1000_IDE_START CS5_PHYS_BASE
/* physical */
#define MP1000_IDE_SIZE 0x00100000
/* actually it's only 0x1000 */
#define IRQ_HARDDISK IRQ_EINT2
/*
* IDE registers definition
*/
#define IDE_CONTROL_BASE (MP1000_IDE_BASE + 0x1000)
#define IDE_BASE_OFF (MP1000_IDE_BASE)
#define IDE_WRITE_DEVICE_DATA (IDE_BASE_OFF + 0x0)
#define IDE_FEATURES_REGISTER (IDE_BASE_OFF + 0x2)
#define IDE_SECTOR_COUNT_REGISTER (IDE_BASE_OFF + 0x4)
#define IDE_SECTOR_NUMBER_REGISTER (IDE_BASE_OFF + 0x6)
#define IDE_CYLINDER_LOW_REGISTER (IDE_BASE_OFF + 0x8)
#define IDE_CYLINDER_HIGH_REGISTER (IDE_BASE_OFF + 0xa)
#define IDE_DEVICE_HEAD_REGISTER (IDE_BASE_OFF + 0xc)
#define IDE_COMMAND_DATA_REGISTER (IDE_BASE_OFF + 0xe)
#define IDE_DEVICE_CONTROL_REGISTER (IDE_CONTROL_BASE + 0xc)
#define IDE_IRQ IRQ_EINT2
#define RTC_PORT(x) (MP1000_LIO_BASE+0x2000 + (x*2))
#define RTC_ALWAYS_BCD 0
/*
// Definitions of the bit fields in the HwPortA register for the
// MP1000 board.
*/
#define HwPortAKeyboardRow1 0x00000001
#define HwPortAKeyboardRow2 0x00000002
#define HwPortAKeyboardRow3 0x00000004
#define HwPortAKeyboardRow4 0x00000008
#define HwPortAKeyboardRow5 0x00000010
#define HwPortAKeyboardRow6 0x00000020
#define HwPortALCDEnable 0x00000040
#define HwPortAOffhook 0x00000080
/*
// Definitions of the bit fields in the HwPortB register for the
// MP1000 board.
*/
#define HwPortBL3Mode 0x00000001
#define HwPortBL3Clk 0x00000002
#define HwPortBSClk 0x00000001
#define HwPortBSData 0x00000002
#define HwPortBL3Data 0x00000004
#define HwPortBMute 0x00000008
#define HwPortBQD0 0x00000010
#define HwPortBQD1 0x00000020
#define HwPortBQD2 0x00000040
#define HwPortBQD3 0x00000080
/*
// Definitions of the bit fields in the HwPortD register for the
// MP1000 board.
*/
#define HwPortDLED1 0x00000001
#define HwPortDLED2 0x00000002
#define HwPortDLED3 0x00000004
#define HwPortDLED4 0x00000008
#define HwPortDLED5 0x00000010
#define HwPortDEECS 0x00000020
#define HwPortBRTS 0x00000040
#define HwPortBRI 0x00000080
/*
// Definitions of the bit fields in the HwPortE register for the
// MP1000 board.
*/
#define HwPortECLE 0x00000001
#define HwPortESepromDOut 0x00000001
#define HwPortEALE 0x00000002
#define HwPortESepromDIn 0x00000002
#define HwPortENANDCS 0x00000004
#define HwPortESepromCLK 0x00000004
#endif // #if defined (CONFIG_MACH_MP1000)
#endif
#endif
include/asm-arm/arch-clps711x/mp1000-seprom.h
deleted
100644 → 0
View file @
866237ea
#ifndef MP1000_SEPROM_H
#define MP1000_SEPROM_H
/*
* mp1000-seprom.h
*
*
* This file contains the Serial EEPROM definitions for the MP1000 board
*
* Copyright (C) 2005 Comdial Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#define COMMAND_ERASE (0x1C0)
#define COMMAND_ERASE_ALL (0x120)
#define COMMAND_WRITE_DISABLE (0x100)
#define COMMAND_WRITE_ENABLE (0x130)
#define COMMAND_READ (0x180)
#define COMMAND_WRITE (0x140)
#define COMMAND_WRITE_ALL (0x110)
//
// Serial EEPROM data format
//
#define PACKED __attribute__ ((packed))
typedef
struct
_EEPROM
{
union
{
unsigned
char
eprom_byte_data
[
128
];
unsigned
short
eprom_short_data
[
64
];
struct
{
unsigned
char
version
PACKED
;
// EEPROM Version "1" for now
unsigned
char
box_id
PACKED
;
// Box ID (Standalone, SOHO, embedded, etc)
unsigned
char
major_hw_version
PACKED
;
// Major Hardware version (Hex)
unsigned
char
minor_hw_version
PACKED
;
// Minor Hardware Version (Hex)
unsigned
char
mfg_id
[
3
]
PACKED
;
// Manufacturer ID (3 character Alphabetic)
unsigned
char
mfg_serial_number
[
10
]
PACKED
;
// Manufacturer Serial number
unsigned
char
mfg_date
[
3
]
PACKED
;
// Date of Mfg (Formatted YY:MM:DD)
unsigned
char
country
PACKED
;
// Country of deployment
unsigned
char
mac_Address
[
6
]
PACKED
;
// MAC Address
unsigned
char
oem_string
[
20
]
PACKED
;
// OEM ID string
unsigned
short
feature_bits1
PACKED
;
// Feature Bits 1
unsigned
short
feature_bits2
PACKED
;
// Feature Bits 2
unsigned
char
filler
[
75
]
PACKED
;
// Unused/Undefined 0 initialized
unsigned
short
checksum
PACKED
;
// byte accumulated short checksum
}
eprom_struct
;
}
variant
;
}
eeprom_struct
;
/* These settings must be mutually exclusive */
#define FEATURE_BITS1_DRAMSIZE_16MEG 0x0001
/* 0 signifies 4 MEG system */
#define FEATURE_BITS1_DRAMSIZE_8MEG 0x0002
/* 1 in bit 1 = 8MEG system */
#define FEATURE_BITS1_DRAMSIZE_64MEG 0x0004
/* 1 in bit 2 = 64MEG system */
#define FEATURE_BITS1_CPUIS90MEG 0x0010
extern
void
seprom_init
(
void
);
extern
eeprom_struct
*
get_seprom_ptr
(
void
);
extern
unsigned
char
*
get_eeprom_mac_address
(
void
);
#endif
/* MP1000_SEPROM_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment