mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
[adm5120] refactor kernel code (part 1), mark it as broken now
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7916 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* ADM5120 board definitions
|
||||
*
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
* Copyright (C) 2007 Gabor Juhos <juhosg@freemail.hu>
|
||||
*
|
||||
* 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., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _ADM5120_BOARD_H_
|
||||
#define _ADM5120_BOARD_H_
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/list.h>
|
||||
|
||||
#define ADM5120_BOARD_NAMELEN 64
|
||||
|
||||
struct adm5120_board {
|
||||
unsigned long mach_type;
|
||||
char name[ADM5120_BOARD_NAMELEN];
|
||||
|
||||
void (*board_setup)(void);
|
||||
void (*board_reset)(void);
|
||||
|
||||
unsigned int num_eth_ports;
|
||||
unsigned int num_devices;
|
||||
struct platform_device **devices;
|
||||
|
||||
struct list_head list;
|
||||
};
|
||||
|
||||
extern void adm5120_board_register(struct adm5120_board *) __init;
|
||||
|
||||
#endif /* _ADM5120_BOARD_H_ */
|
||||
@@ -1,13 +1,23 @@
|
||||
/*
|
||||
* $Id$
|
||||
* $Id$
|
||||
*
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
* Copyright (C) Gabor Juhos <juhosg@freemail.hu>
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
* Copyright (C) 2007 Gabor Juhos <juhosg@freemail.hu>
|
||||
*
|
||||
* 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 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., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _ADM5120_INFO_H
|
||||
@@ -15,27 +25,14 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define ADM5120_BOARD_NAMELEN 64
|
||||
|
||||
struct adm5120_board {
|
||||
char name[ADM5120_BOARD_NAMELEN];
|
||||
unsigned long mach_type;
|
||||
unsigned int iface_num; /* Number of Ethernet interfaces */
|
||||
unsigned int has_usb; /* USB controller presence flag */
|
||||
u32 mem_size; /* onboard memory size */
|
||||
u32 flash0_size; /* Flash 0 size */
|
||||
};
|
||||
|
||||
extern struct adm5120_board adm5120_board;
|
||||
|
||||
extern unsigned int adm5120_boot_loader;
|
||||
#define BOOT_LOADER_UNKNOWN 0
|
||||
#define BOOT_LOADER_CFE 1
|
||||
#define BOOT_LOADER_UBOOT 2
|
||||
#define BOOT_LOADER_MYLOADER 3
|
||||
#define BOOT_LOADER_ROUTERBOOT 4
|
||||
#define BOOT_LOADER_BOOTBASE 5
|
||||
#define BOOT_LOADER_LAST 5
|
||||
extern unsigned int adm5120_prom_type;
|
||||
#define ADM5120_PROM_GENERIC 0
|
||||
#define ADM5120_PROM_CFE 1
|
||||
#define ADM5120_PROM_MYLOADER 2
|
||||
#define ADM5120_PROM_ROUTERBOOT 3
|
||||
#define ADM5120_PROM_BOOTBASE 4
|
||||
#define ADM5120_PROM_UBOOT 5
|
||||
#define ADM5120_PROM_LAST 5
|
||||
|
||||
extern unsigned int adm5120_product_code;
|
||||
extern unsigned int adm5120_revision;
|
||||
@@ -53,7 +50,22 @@ extern unsigned int adm5120_package;
|
||||
|
||||
extern unsigned long adm5120_memsize;
|
||||
|
||||
extern void adm5120_info_init(void);
|
||||
/*
|
||||
* TODO:remove adm5120_eth* variables when the switch driver will be
|
||||
* converted into a real platform driver
|
||||
*/
|
||||
extern unsigned int adm5120_eth_num_ports;
|
||||
extern unsigned char adm5120_eth_macs[6][6];
|
||||
|
||||
extern void adm5120_mem_init(void) __init;
|
||||
extern void adm5120_time_init(void) __init;
|
||||
extern void adm5120_ndelay(u32 ns);
|
||||
|
||||
extern void adm5120_restart(char *command);
|
||||
extern void adm5120_halt(void);
|
||||
extern void adm5120_power_off(void);
|
||||
|
||||
extern void (*adm5120_board_reset)(void);
|
||||
|
||||
static inline int adm5120_package_pqfp(void)
|
||||
{
|
||||
@@ -75,14 +87,4 @@ static inline int adm5120_has_gmii(void)
|
||||
return (adm5120_package == ADM5120_PACKAGE_BGA);
|
||||
}
|
||||
|
||||
static inline char *adm5120_board_name(void)
|
||||
{
|
||||
return adm5120_board.name;
|
||||
}
|
||||
|
||||
static inline u32 adm5120_board_memsize(void)
|
||||
{
|
||||
return adm5120_board.mem_size;
|
||||
}
|
||||
|
||||
#endif /* _ADM5120_INFO_H */
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* ADM5120 interrupt controller definitions
|
||||
*
|
||||
* This header file defines the hardware registers of the ADM5120 SoC
|
||||
@@ -22,6 +24,7 @@
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _ADM5120_INTC_H_
|
||||
#define _ADM5120_INTC_H_
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* ADM5120 specific platform definitions
|
||||
*
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
* Copyright (C) 2007 Gabor Juhos <juhosg@freemail.hu>
|
||||
*
|
||||
* 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., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _ADM5120_PLATFORM_H_
|
||||
#define _ADM5120_PLATFORM_H_
|
||||
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/map.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
|
||||
struct adm5120_flash_platform_data {
|
||||
void (*set_vpp)(struct map_info *, int);
|
||||
void (*switch_bank)(unsigned);
|
||||
unsigned int nr_parts;
|
||||
struct mtd_partition *parts;
|
||||
};
|
||||
|
||||
struct adm5120_switch_platform_data {
|
||||
/* TODO: not yet implemented */
|
||||
};
|
||||
|
||||
struct adm5120_pci_irq {
|
||||
u8 slot;
|
||||
u8 func;
|
||||
u8 pin;
|
||||
unsigned irq;
|
||||
};
|
||||
|
||||
struct adm5120_pci_platform_data {
|
||||
unsigned int nr_irqs;
|
||||
struct adm5120_pci_irq *irqs;
|
||||
};
|
||||
|
||||
extern struct adm5120_flash_platform_data adm5120_flash0_data;
|
||||
extern struct adm5120_flash_platform_data adm5120_flash1_data;
|
||||
extern struct adm5120_pci_platform_data adm5120_pci_data;
|
||||
extern struct adm5120_switch_platform_data adm5120_switch_data;
|
||||
|
||||
extern struct platform_device adm5120_flash0_device;
|
||||
extern struct platform_device adm5120_flash1_device;
|
||||
extern struct platform_device adm5120_usbc_device;
|
||||
extern struct platform_device adm5120_pci_device;
|
||||
extern struct platform_device adm5120_switch_device;
|
||||
|
||||
#endif /* _ADM5120_PLATFORM_H_ */
|
||||
75
target/linux/adm5120-2.6/files/include/asm-mips/mach-adm5120/adm5120_uart.h
Executable file
75
target/linux/adm5120-2.6/files/include/asm-mips/mach-adm5120/adm5120_uart.h
Executable file
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* ADM5120 UART definitions
|
||||
*
|
||||
* This header file defines the hardware registers of the ADM5120 SoC
|
||||
* built-in UARTs.
|
||||
*
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
* Copyright (C) 2007 Gabor Juhos <juhosg@freemail.hu>
|
||||
*
|
||||
* 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., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _ADM5120_UART_H_
|
||||
#define _ADM5120_UART_H_
|
||||
|
||||
#define UART_BAUDDIV(clk, baud) ((clk/(16 * (baud)))-1)
|
||||
|
||||
#define UART_REG_DATA 0x00
|
||||
#define UART_REG_RSR 0x04
|
||||
#define UART_REG_ECR UART_REG_RSR
|
||||
#define UART_REG_LCRH 0x08
|
||||
#define UART_REG_LCRM 0x0C
|
||||
#define UART_REG_LCRL 0x10
|
||||
#define UART_REG_CTRL 0x14
|
||||
#define UART_REG_FLAG 0x18
|
||||
|
||||
/* Receive Status Register bits */
|
||||
#define UART_RSR_FE ( 1 << 0 )
|
||||
#define UART_RSR_PE ( 1 << 1 )
|
||||
#define UART_RSR_BE ( 1 << 2 )
|
||||
#define UART_RSR_OE ( 1 << 3 )
|
||||
#define UART_RSR_ERR ( UART_RSR_FE | UART_RSR_PE | UART_RSR_BE )
|
||||
|
||||
#define UART_ECR_ALL 0xFF
|
||||
|
||||
/* Line Control High register bits */
|
||||
#define UART_LCRH_BRK ( 1 << 0 ) /* send break */
|
||||
#define UART_LCRH_PEN ( 1 << 1 ) /* parity enable */
|
||||
#define UART_LCRH_EPS ( 1 << 2 ) /* even parity select */
|
||||
#define UART_LCRH_STP1 ( 0 << 3 ) /* one stop bits select */
|
||||
#define UART_LCRH_STP2 ( 1 << 3 ) /* two stop bits select */
|
||||
#define UART_LCRH_FEN ( 1 << 4 ) /* FIFO enable */
|
||||
|
||||
#define UART_LCRH_WLEN5 ( 0 << 5 )
|
||||
#define UART_LCRH_WLEN6 ( 1 << 5 )
|
||||
#define UART_LCRH_WLEN7 ( 2 << 5 )
|
||||
#define UART_LCRH_WLEN8 ( 3 << 5 )
|
||||
|
||||
/* Control register bits */
|
||||
#define UART_CTRL_EN ( 1 << 0 )
|
||||
|
||||
/* Flag register bits */
|
||||
#define UART_FLAG_CTS ( 1 << 0 )
|
||||
#define UART_FLAG_DSR ( 1 << 1 )
|
||||
#define UART_FLAG_DCD ( 1 << 2 )
|
||||
#define UART_FLAG_BUSY ( 1 << 3 )
|
||||
#define UART_FLAG_RXFE ( 1 << 4 )
|
||||
#define UART_FLAG_TXFF ( 1 << 5 )
|
||||
#define UART_FLAG_RXFF ( 1 << 6 )
|
||||
#define UART_FLAG_TXFE ( 1 << 7 )
|
||||
|
||||
#endif /* _ADM5120_UART_H_ */
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Broadcom's CFE definitions
|
||||
*
|
||||
* Copyright (C) 2006,2007 Gabor Juhos <juhosg@freemail.hu>
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
*
|
||||
* 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., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _PROM_CFE_H_
|
||||
#define _PROM_CFE_H_
|
||||
|
||||
extern int cfe_present(void) __init;
|
||||
extern char *cfe_getenv(char *);
|
||||
|
||||
#endif /*_PROM_CFE_H_*/
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Generic prom definitions
|
||||
*
|
||||
* Copyright (C) 2006,2007 Gabor Juhos <juhosg@freemail.hu>
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
*
|
||||
* 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., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _PROM_GENERIC_H_
|
||||
#define _PROM_GENERIC_H_
|
||||
|
||||
extern int generic_prom_present(void) __init;
|
||||
extern char *generic_prom_getenv(char *);
|
||||
|
||||
#endif /*_PROM_GENERIC_H_*/
|
||||
@@ -1,11 +1,25 @@
|
||||
/*
|
||||
* Copyright (C) 2006,2007 Gabor Juhos
|
||||
* $Id$
|
||||
*
|
||||
* 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.
|
||||
* Compex's MyLoader specific definitions
|
||||
*
|
||||
* Copyright (C) 2006,2007 Gabor Juhos <juhosg@freemail.hu>
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
*
|
||||
* 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., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _MYLOADER_H_
|
||||
@@ -164,4 +178,14 @@ struct mylo_board_params {
|
||||
struct mylo_eth_addr addr[MYLO_ETHADDR_COUNT];
|
||||
};
|
||||
|
||||
struct myloader_info {
|
||||
u32 vid;
|
||||
u32 did;
|
||||
u32 svid;
|
||||
u32 sdid;
|
||||
};
|
||||
|
||||
extern struct myloader_info myloader_info;
|
||||
extern int myloader_present(void) __init;
|
||||
|
||||
#endif /* _MYLOADER_H_*/
|
||||
@@ -1,14 +1,25 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Mikrotik's RouterBOOT definitions
|
||||
*
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
* Copyright (C) 2007 Gabor Juhos <juhosg@freemail.hu>
|
||||
*
|
||||
* 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 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., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _ROUTERBOOT_H
|
||||
@@ -120,4 +131,7 @@ struct rb_hard_settings {
|
||||
#define RB_BOOT_PROTOCOL_BOOTP 0
|
||||
#define RB_BOOT_PROTOCOL_DHCP 1
|
||||
|
||||
extern int routerboot_present(void) __init;
|
||||
extern char *routerboot_get_boardname(void);
|
||||
|
||||
#endif /* _ROUTERBOOT_H */
|
||||
@@ -1,14 +1,25 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* ZyNOS (ZyXEL's Networking OS) definitions
|
||||
*
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
* Copyright (C) 2007 Gabor Juhos <juhosg@freemail.hu>
|
||||
*
|
||||
* 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 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., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _ZYNOS_H
|
||||
@@ -75,4 +86,13 @@ struct zynos_board_info {
|
||||
#define ZYNOS_MAGIC_DBGAREA1 0x48646267 /* "Hdbg" */
|
||||
#define ZYNOS_MAGIC_DBGAREA2 0x61726561 /* "area" */
|
||||
|
||||
struct bootbase_info {
|
||||
u16 vendor_id;
|
||||
u16 board_id;
|
||||
u8 mac[6];
|
||||
};
|
||||
|
||||
extern struct bootbase_info bootbase_info;
|
||||
extern int bootbase_present(void) __init;
|
||||
|
||||
#endif /* _ZYNOS_H */
|
||||
Reference in New Issue
Block a user