mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Merge branch 'master' into next
This commit is contained in:
1
include/.gitignore
vendored
1
include/.gitignore
vendored
@@ -5,4 +5,5 @@
|
||||
/bmp_logo.h
|
||||
/config.h
|
||||
/config.mk
|
||||
/timestamp_autogenerated.h
|
||||
/version_autogenerated.h
|
||||
|
||||
29
include/addr_map.h
Normal file
29
include/addr_map.h
Normal file
@@ -0,0 +1,29 @@
|
||||
#ifndef __ADDR_MAP_H
|
||||
#define __ADDR_MAP_H
|
||||
|
||||
/*
|
||||
* Copyright 2008 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* Version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* 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 <asm/types.h>
|
||||
|
||||
extern phys_addr_t addrmap_virt_to_phys(void *vaddr);
|
||||
extern unsigned long addrmap_phys_to_virt(phys_addr_t paddr);
|
||||
extern void addrmap_set_entry(unsigned long vaddr, phys_addr_t paddr,
|
||||
phys_size_t size, int idx);
|
||||
|
||||
#endif
|
||||
@@ -781,5 +781,32 @@ typedef struct _AT91S_PDC
|
||||
#define AT91C_PIOB_ODR ((AT91_REG *) 0xFFFFF614) /* (PIOB) Output Disable Registerr */
|
||||
#define AT91C_PIOB_PDSR ((AT91_REG *) 0xFFFFF63C) /* (PIOB) Pin Data Status Register */
|
||||
|
||||
#else
|
||||
/* flash */
|
||||
#define AT91C_MC_PUIA 0xFFFFFF10
|
||||
#define AT91C_MC_PUP 0xFFFFFF50
|
||||
#define AT91C_MC_PUER 0xFFFFFF54
|
||||
#define AT91C_MC_ASR 0xFFFFFF04
|
||||
#define AT91C_MC_AASR 0xFFFFFF08
|
||||
#define AT91C_EBI_CFGR 0xFFFFFF64
|
||||
#define AT91C_SMC_CSR0 0xFFFFFF70
|
||||
|
||||
/* clocks */
|
||||
#define AT91C_PLLAR 0xFFFFFC28
|
||||
#define AT91C_PLLBR 0xFFFFFC2C
|
||||
#define AT91C_MCKR 0xFFFFFC30
|
||||
|
||||
#define AT91C_BASE_CKGR 0xFFFFFC20
|
||||
#define AT91C_CKGR_MOR 0
|
||||
|
||||
/* sdram */
|
||||
#define AT91C_PIOC_ASR 0xFFFFF870
|
||||
#define AT91C_PIOC_BSR 0xFFFFF874
|
||||
#define AT91C_PIOC_PDR 0xFFFFF804
|
||||
#define AT91C_EBI_CSA 0xFFFFFF60
|
||||
#define AT91C_SDRC_CR 0xFFFFFF98
|
||||
#define AT91C_SDRC_MR 0xFFFFFF90
|
||||
#define AT91C_SDRC_TR 0xFFFFFF94
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* AT91RM9200_H */
|
||||
|
||||
@@ -57,6 +57,11 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
/*
|
||||
* Generic virtual read/write. Note that we don't support half-word
|
||||
* read/writes. We define __arch_*[bl] here, and leave __arch_*w
|
||||
|
||||
@@ -125,4 +125,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long len)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif /* __ASM_AVR32_IO_H */
|
||||
|
||||
@@ -64,6 +64,11 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
/*
|
||||
* These are for ISA/PCI shared memory _only_ and should never be used
|
||||
* on any other type of memory, including Zorro memory. They are meant to
|
||||
|
||||
49
include/asm-i386/ic/pci.h
Normal file
49
include/asm-i386/ic/pci.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* (C) Copyright 2002
|
||||
* Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef _ASM_IC_SC520_PCI_H_
|
||||
#define _ASM_IC_SC520_PCI_H_ 1
|
||||
|
||||
/* pin number used for PCI interrupt mappings */
|
||||
#define SC520_PCI_INTA 0
|
||||
#define SC520_PCI_INTB 1
|
||||
#define SC520_PCI_INTC 2
|
||||
#define SC520_PCI_INTD 3
|
||||
#define SC520_PCI_GPIRQ0 4
|
||||
#define SC520_PCI_GPIRQ1 5
|
||||
#define SC520_PCI_GPIRQ2 6
|
||||
#define SC520_PCI_GPIRQ3 7
|
||||
#define SC520_PCI_GPIRQ4 8
|
||||
#define SC520_PCI_GPIRQ5 9
|
||||
#define SC520_PCI_GPIRQ6 10
|
||||
#define SC520_PCI_GPIRQ7 11
|
||||
#define SC520_PCI_GPIRQ8 12
|
||||
#define SC520_PCI_GPIRQ9 13
|
||||
#define SC520_PCI_GPIRQ10 14
|
||||
|
||||
extern int sc520_pci_ints[];
|
||||
|
||||
void pci_sc520_init(struct pci_controller *hose);
|
||||
int pci_sc520_set_irq(int pci_pin, int irq);
|
||||
|
||||
#endif
|
||||
@@ -282,24 +282,6 @@
|
||||
#define SC520_IRQ14 9
|
||||
#define SC520_IRQ15 10
|
||||
|
||||
|
||||
/* pin number used for PCI interrupt mappings */
|
||||
#define SC520_PCI_INTA 0
|
||||
#define SC520_PCI_INTB 1
|
||||
#define SC520_PCI_INTC 2
|
||||
#define SC520_PCI_INTD 3
|
||||
#define SC520_PCI_GPIRQ0 4
|
||||
#define SC520_PCI_GPIRQ1 5
|
||||
#define SC520_PCI_GPIRQ2 6
|
||||
#define SC520_PCI_GPIRQ3 7
|
||||
#define SC520_PCI_GPIRQ4 8
|
||||
#define SC520_PCI_GPIRQ5 9
|
||||
#define SC520_PCI_GPIRQ6 10
|
||||
#define SC520_PCI_GPIRQ7 11
|
||||
#define SC520_PCI_GPIRQ8 12
|
||||
#define SC520_PCI_GPIRQ9 13
|
||||
#define SC520_PCI_GPIRQ10 14
|
||||
|
||||
/* utility functions */
|
||||
void write_mmcr_byte(u16 mmcr, u8 data);
|
||||
void write_mmcr_word(u16 mmcr, u16 data);
|
||||
@@ -308,11 +290,7 @@ u8 read_mmcr_byte(u16 mmcr);
|
||||
u16 read_mmcr_word(u16 mmcr);
|
||||
u32 read_mmcr_long(u16 mmcr);
|
||||
|
||||
extern int sc520_pci_ints[];
|
||||
|
||||
void init_sc520(void);
|
||||
unsigned long init_sc520_dram(void);
|
||||
void pci_sc520_init(struct pci_controller *hose);
|
||||
int pci_sc520_set_irq(int pci_pin, int irq);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -229,4 +229,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -251,4 +251,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif /* __ASM_M68K_IO_H__ */
|
||||
|
||||
@@ -155,4 +155,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif /* __MICROBLAZE_IO_H__ */
|
||||
|
||||
@@ -118,7 +118,7 @@ static inline void set_io_port_base(unsigned long base)
|
||||
* Change virtual addresses to physical addresses and vv.
|
||||
* These are trivial on the 1:1 Linux/MIPS mapping
|
||||
*/
|
||||
extern inline unsigned long virt_to_phys(volatile void * address)
|
||||
extern inline phys_addr_t virt_to_phys(void * address)
|
||||
{
|
||||
return CPHYSADDR(address);
|
||||
}
|
||||
|
||||
@@ -133,4 +133,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif /* __ASM_NIOS_IO_H_ */
|
||||
|
||||
@@ -53,6 +53,11 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
extern unsigned char inb (unsigned char *port);
|
||||
extern unsigned short inw (unsigned short *port);
|
||||
extern unsigned inl (unsigned port);
|
||||
|
||||
@@ -69,6 +69,14 @@
|
||||
#define BR_RES ~(BR_BA | BR_PS | BR_DECC | BR_WP | BR_MSEL | BR_ATOM | BR_V)
|
||||
#endif
|
||||
|
||||
/* Convert an address into the right format for the BR registers */
|
||||
#ifdef CONFIG_PHYS_64BIT
|
||||
#define BR_PHYS_ADDR(x) ((unsigned long)((x & 0x0ffff8000ULL) | \
|
||||
((x & 0x300000000ULL) >> 19)))
|
||||
#else
|
||||
#define BR_PHYS_ADDR(x) (x & 0xffff8000)
|
||||
#endif
|
||||
|
||||
/* OR - Option Registers
|
||||
*/
|
||||
#define OR0 0x5004 /* Register offset to immr */
|
||||
@@ -292,7 +300,10 @@
|
||||
#define LCRR_EADC_2 0x00020000
|
||||
#define LCRR_EADC_3 0x00030000
|
||||
#define LCRR_EADC_4 0x00000000
|
||||
#define LCRR_CLKDIV 0x0000000F
|
||||
/* CLKDIV is five bits only on 8536, 8572, and 8610, so far, but the fifth bit
|
||||
* should always be zero on older parts that have a four bit CLKDIV.
|
||||
*/
|
||||
#define LCRR_CLKDIV 0x0000001F
|
||||
#define LCRR_CLKDIV_SHIFT 0
|
||||
#define LCRR_CLKDIV_2 0x00000002
|
||||
#define LCRR_CLKDIV_4 0x00000004
|
||||
|
||||
@@ -89,6 +89,9 @@ typedef struct global_data {
|
||||
#if defined(CONFIG_MPC837X) || defined(CONFIG_MPC8536)
|
||||
u32 sdhc_clk;
|
||||
#endif
|
||||
#if defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
|
||||
u32 lbc_clk;
|
||||
#endif /* CONFIG_MPC85xx || CONFIG_MPC86xx */
|
||||
#if defined(CONFIG_MPC83XX) || defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
|
||||
u32 i2c1_clk;
|
||||
u32 i2c2_clk;
|
||||
|
||||
@@ -1569,6 +1569,7 @@ typedef struct ccsr_gur {
|
||||
#define MPC85xx_PORDEVSR_SGMII3_DIS 0x08000000
|
||||
#define MPC85xx_PORDEVSR_SGMII4_DIS 0x04000000
|
||||
#define MPC85xx_PORDEVSR_SRDS2_IO_SEL 0x38000000
|
||||
#define MPC85xx_PORDEVSR_PCI1 0x00800000
|
||||
#define MPC85xx_PORDEVSR_IO_SEL 0x00780000
|
||||
#define MPC85xx_PORDEVSR_PCI2_ARB 0x00040000
|
||||
#define MPC85xx_PORDEVSR_PCI1_ARB 0x00020000
|
||||
@@ -1647,8 +1648,6 @@ typedef struct ccsr_gur {
|
||||
char res15[61648]; /* 0xe0f30 to 0xefffff */
|
||||
} ccsr_gur_t;
|
||||
|
||||
#define PORDEVSR_PCI (0x00800000) /* PCI Mode */
|
||||
|
||||
#define CONFIG_SYS_MPC85xx_GUTS_OFFSET (0xE0000)
|
||||
#define CONFIG_SYS_MPC85xx_GUTS_ADDR (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_GUTS_OFFSET)
|
||||
#define CONFIG_SYS_MPC85xx_ECM_OFFSET (0x0000)
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
#include <linux/config.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#ifdef CONFIG_ADDR_MAP
|
||||
#include <addr_map.h>
|
||||
#endif
|
||||
|
||||
#define SIO_CONFIG_RA 0x398
|
||||
#define SIO_CONFIG_RD 0x399
|
||||
|
||||
@@ -287,7 +291,11 @@ extern inline void out_be32(volatile unsigned __iomem *addr, int val)
|
||||
static inline void *
|
||||
map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags)
|
||||
{
|
||||
#ifdef CONFIG_ADDR_MAP
|
||||
return (void *)(addrmap_phys_to_virt(paddr));
|
||||
#else
|
||||
return (void *)((unsigned long)paddr);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -298,4 +306,13 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
#ifdef CONFIG_ADDR_MAP
|
||||
return addrmap_virt_to_phys(vaddr);
|
||||
#else
|
||||
return (phys_addr_t)((unsigned long)vaddr);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -431,6 +431,9 @@ extern void set_tlb(u8 tlb, u32 epn, u64 rpn,
|
||||
extern void disable_tlb(u8 esel);
|
||||
extern void invalidate_tlb(u8 tlb);
|
||||
extern void init_tlbs(void);
|
||||
#ifdef CONFIG_ADDR_MAP
|
||||
extern void init_addr_map(void);
|
||||
#endif
|
||||
extern unsigned int setup_ddr_tlbs(unsigned int memsize_in_meg);
|
||||
|
||||
#define SET_TLB_ENTRY(_tlb, _epn, _rpn, _perms, _wimge, _ts, _esel, _sz, _iprot) \
|
||||
|
||||
75
include/asm-ppc/ppc4xx-isram.h
Normal file
75
include/asm-ppc/ppc4xx-isram.h
Normal file
@@ -0,0 +1,75 @@
|
||||
|
||||
/*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef _PPC4xx_ISRAM_H_
|
||||
#define _PPC4xx_ISRAM_H_
|
||||
|
||||
/*
|
||||
* Internal SRAM
|
||||
*/
|
||||
#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX)
|
||||
#define ISRAM0_DCR_BASE 0x380
|
||||
#else
|
||||
#define ISRAM0_DCR_BASE 0x020
|
||||
#endif
|
||||
#define ISRAM0_SB0CR (ISRAM0_DCR_BASE+0x00) /* SRAM bank config 0*/
|
||||
#define ISRAM0_SB1CR (ISRAM0_DCR_BASE+0x01) /* SRAM bank config 1*/
|
||||
#define ISRAM0_SB2CR (ISRAM0_DCR_BASE+0x02) /* SRAM bank config 2*/
|
||||
#define ISRAM0_SB3CR (ISRAM0_DCR_BASE+0x03) /* SRAM bank config 3*/
|
||||
#define ISRAM0_BEAR (ISRAM0_DCR_BASE+0x04) /* SRAM bus error addr reg */
|
||||
#define ISRAM0_BESR0 (ISRAM0_DCR_BASE+0x05) /* SRAM bus error status reg 0 */
|
||||
#define ISRAM0_BESR1 (ISRAM0_DCR_BASE+0x06) /* SRAM bus error status reg 1 */
|
||||
#define ISRAM0_PMEG (ISRAM0_DCR_BASE+0x07) /* SRAM power management */
|
||||
#define ISRAM0_CID (ISRAM0_DCR_BASE+0x08) /* SRAM bus core id reg */
|
||||
#define ISRAM0_REVID (ISRAM0_DCR_BASE+0x09) /* SRAM bus revision id reg */
|
||||
#define ISRAM0_DPC (ISRAM0_DCR_BASE+0x0a) /* SRAM data parity check reg */
|
||||
|
||||
#if defined(CONFIG_460EX) || defined(CONFIG_460GT)
|
||||
#define ISRAM1_DCR_BASE 0x0B0
|
||||
#define ISRAM1_SB0CR (ISRAM1_DCR_BASE+0x00) /* SRAM1 bank config 0*/
|
||||
#define ISRAM1_BEAR (ISRAM1_DCR_BASE+0x04) /* SRAM1 bus error addr reg */
|
||||
#define ISRAM1_BESR0 (ISRAM1_DCR_BASE+0x05) /* SRAM1 bus error status reg 0 */
|
||||
#define ISRAM1_BESR1 (ISRAM1_DCR_BASE+0x06) /* SRAM1 bus error status reg 1 */
|
||||
#define ISRAM1_PMEG (ISRAM1_DCR_BASE+0x07) /* SRAM1 power management */
|
||||
#define ISRAM1_CID (ISRAM1_DCR_BASE+0x08) /* SRAM1 bus core id reg */
|
||||
#define ISRAM1_REVID (ISRAM1_DCR_BASE+0x09) /* SRAM1 bus revision id reg */
|
||||
#define ISRAM1_DPC (ISRAM1_DCR_BASE+0x0a) /* SRAM1 data parity check reg */
|
||||
#endif /* CONFIG_460EX || CONFIG_460GT */
|
||||
|
||||
/*
|
||||
* L2 Cache
|
||||
*/
|
||||
#if defined (CONFIG_440GX) || \
|
||||
defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \
|
||||
defined(CONFIG_460EX) || defined(CONFIG_460GT) || \
|
||||
defined(CONFIG_460SX)
|
||||
#define L2_CACHE_BASE 0x030
|
||||
#define L2_CACHE_CFG (L2_CACHE_BASE+0x00) /* L2 Cache Config */
|
||||
#define L2_CACHE_CMD (L2_CACHE_BASE+0x01) /* L2 Cache Command */
|
||||
#define L2_CACHE_ADDR (L2_CACHE_BASE+0x02) /* L2 Cache Address */
|
||||
#define L2_CACHE_DATA (L2_CACHE_BASE+0x03) /* L2 Cache Data */
|
||||
#define L2_CACHE_STAT (L2_CACHE_BASE+0x04) /* L2 Cache Status */
|
||||
#define L2_CACHE_CVER (L2_CACHE_BASE+0x05) /* L2 Cache Revision ID */
|
||||
#define L2_CACHE_SNP0 (L2_CACHE_BASE+0x06) /* L2 Cache Snoop reg 0 */
|
||||
#define L2_CACHE_SNP1 (L2_CACHE_BASE+0x07) /* L2 Cache Snoop reg 1 */
|
||||
#endif /* CONFIG_440GX */
|
||||
|
||||
#endif /* _PPC4xx_ISRAM_H_ */
|
||||
@@ -26,8 +26,15 @@
|
||||
#define CCR_CACHE_ICI 0x00000800
|
||||
|
||||
#define CACHE_OC_ADDRESS_ARRAY 0xf4000000
|
||||
|
||||
#if defined (CONFIG_CPU_SH7750) || \
|
||||
defined(CONFIG_CPU_SH7751)
|
||||
#define CACHE_OC_WAY_SHIFT 14
|
||||
#define CACHE_OC_NUM_ENTRIES 512
|
||||
#else
|
||||
#define CACHE_OC_WAY_SHIFT 13
|
||||
#define CACHE_OC_NUM_ENTRIES 256
|
||||
#endif
|
||||
#define CACHE_OC_ENTRY_SHIFT 5
|
||||
|
||||
#if defined (CONFIG_CPU_SH7750) || \
|
||||
|
||||
@@ -261,5 +261,10 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* __ASM_SH_IO_H */
|
||||
|
||||
52
include/asm-sh/macro.h
Normal file
52
include/asm-sh/macro.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __MACRO_H__
|
||||
#define __MACRO_H__
|
||||
#ifdef __ASSEMBLY__
|
||||
|
||||
.macro write32, addr, data
|
||||
mov.l \addr ,r1
|
||||
mov.l \data ,r0
|
||||
mov.l r0, @r1
|
||||
.endm
|
||||
|
||||
.macro write16, addr, data
|
||||
mov.l \addr ,r1
|
||||
mov.l \data ,r0
|
||||
mov.w r0, @r1
|
||||
.endm
|
||||
|
||||
.macro write8, addr, data
|
||||
mov.l \addr ,r1
|
||||
mov.l \data ,r0
|
||||
mov.b r0, @r1
|
||||
.endm
|
||||
|
||||
.macro wait_timer, time
|
||||
mov.l \time ,r3
|
||||
1:
|
||||
nop
|
||||
tst r3, r3
|
||||
bf/s 1b
|
||||
dt r3
|
||||
.endm
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* __MACRO_H__ */
|
||||
@@ -90,4 +90,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
||||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -678,6 +678,13 @@ void fputc(int file, const char c);
|
||||
int ftstc(int file);
|
||||
int fgetc(int file);
|
||||
|
||||
/*
|
||||
* CONSOLE multiplexing.
|
||||
*/
|
||||
#ifdef CONFIG_CONSOLE_MUX
|
||||
#include <iomux.h>
|
||||
#endif
|
||||
|
||||
int pcmcia_init (void);
|
||||
|
||||
#ifdef CONFIG_STATUS_LED
|
||||
|
||||
@@ -67,7 +67,6 @@
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
#define CONFIG_CLEAR_LAW0 /* Clear LAW0 in cpu_init_r */
|
||||
|
||||
/*
|
||||
|
||||
@@ -196,9 +196,9 @@
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFD0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (192 * 1024) /* Reserve 196 kB for Monitor */
|
||||
#define CONFIG_SYS_FLASH_BASE TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_BASE TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (~(TEXT_BASE) + 1)
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
|
||||
@@ -216,6 +216,8 @@
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
#define CONFIG_PRAM 0 /* use pram variable to overwrite */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_BSP
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
|
||||
@@ -212,6 +213,8 @@
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (256 * 1024) /* Reserve 256 kB for malloc() */
|
||||
|
||||
#define CONFIG_PRAM 0 /* use pram variable to overwrite */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
|
||||
@@ -193,7 +193,6 @@
|
||||
#define CONFIG_SYS_BR1_PRELIM (CONFIG_SYS_BCSR|0x00000801) /* Port-size=8bit, MSEL=GPCM */
|
||||
#define CONFIG_SYS_OR1_PRELIM 0xFFFFE8F0 /* length 32K */
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xFD000000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x1000 /* End of used area in RAM*/
|
||||
|
||||
@@ -266,7 +266,6 @@ boards, we say we have two, but don't display a message if we find only one. */
|
||||
#undef CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xFD000000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x1000 /* End of used area in RAM*/
|
||||
|
||||
@@ -70,7 +70,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_ENABLE_36BIT_PHYS 1
|
||||
|
||||
@@ -99,7 +98,7 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
|
||||
#define CONFIG_DDR_SPD
|
||||
#undef CONFIG_DDR_DLL
|
||||
|
||||
#undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */
|
||||
#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */
|
||||
#define CONFIG_MEM_INIT_VALUE 0xDeadBeef
|
||||
|
||||
#define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000
|
||||
@@ -231,8 +230,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
|
||||
#define PIXIS_VCLKL 0x1A /* VELA VCLKL register */
|
||||
#define CONFIG_SYS_PIXIS_VBOOT_MASK 0xc0
|
||||
|
||||
/* define to use L1 as initial stack */
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xffd00000 /* Initial L1 address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x00004000 /* End of used area in RAM */
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest region */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00400000
|
||||
@@ -258,7 +257,6 @@
|
||||
#define CONFIG_SYS_OR4_PRELIM 0xffffe1f1
|
||||
#define CONFIG_SYS_BCSR (CONFIG_SYS_BR4_PRELIM & 0xffff8000)
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -62,7 +62,6 @@
|
||||
/* below can be toggled for performance analysis. otherwise use default */
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#undef CONFIG_BTB /* toggle branch predition */
|
||||
#undef CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_PRE_INIT 1 /* Call board_pre_init */
|
||||
|
||||
@@ -161,7 +160,6 @@
|
||||
#define CONFIG_SYS_OR4_PRELIM 0xffffe1f1
|
||||
#define CONFIG_SYS_BCSR (CONFIG_SYS_BR4_PRELIM & 0xffff8000)
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -63,7 +63,6 @@ extern unsigned long get_clock_freq(void);
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00400000
|
||||
@@ -281,7 +280,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CONFIG_SYS_BR3_PRELIM 0xf8000801
|
||||
#define CONFIG_SYS_OR3_PRELIM 0xfff00ff7
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -66,7 +66,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
/*
|
||||
* Only possible on E500 Version 2 or newer cores.
|
||||
@@ -97,7 +96,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
|
||||
#define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */
|
||||
#define CONFIG_DDR_SPD
|
||||
|
||||
#undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */
|
||||
#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */
|
||||
#define CONFIG_MEM_INIT_VALUE 0xDeadBeef
|
||||
|
||||
#define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000
|
||||
@@ -207,8 +206,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
|
||||
#define PIXIS_VCFGEN1_MASK (PIXIS_VCFGEN1_TSEC1SER|PIXIS_VCFGEN1_TSEC3SER)
|
||||
|
||||
|
||||
/* define to use L1 as initial stack */
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xf4010000 /* Initial L1 address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x00004000 /* End of used area in RAM */
|
||||
|
||||
@@ -69,7 +69,6 @@ extern unsigned long get_clock_freq(void);
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
#define CONFIG_CLEAR_LAW0 /* Clear LAW0 in cpu_init_r */
|
||||
|
||||
/*
|
||||
@@ -100,7 +99,7 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CONFIG_DDR_SPD
|
||||
#define CONFIG_DDR_DLL /* possible DLL fix needed */
|
||||
|
||||
#undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */
|
||||
#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */
|
||||
#define CONFIG_MEM_INIT_VALUE 0xDeadBeef
|
||||
|
||||
#define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000 /* DDR is system memory*/
|
||||
@@ -303,7 +302,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CONFIG_SYS_BR3_PRELIM 0xf8000801
|
||||
#define CONFIG_SYS_OR3_PRELIM 0xfff00ff7
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -63,7 +63,6 @@ extern unsigned long get_clock_freq(void);
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00400000
|
||||
@@ -279,7 +278,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CONFIG_SYS_BR3_PRELIM 0xf8000801
|
||||
#define CONFIG_SYS_OR3_PRELIM 0xfff00ff7
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -73,7 +73,6 @@
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_INIT_DBCR DBCR_IDM /* Enable Debug Exceptions */
|
||||
|
||||
@@ -254,7 +253,6 @@
|
||||
#define CONFIG_SYS_OR4_PRELIM 0xffffe1f1
|
||||
#define CONFIG_SYS_BCSR (CONFIG_SYS_BR4_PRELIM & 0xffff8000)
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -61,7 +61,6 @@ extern unsigned long get_clock_freq(void);
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
/*
|
||||
* Only possible on E500 Version 2 or newer cores.
|
||||
@@ -92,7 +91,7 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup*/
|
||||
#define CONFIG_DDR_SPD
|
||||
#define CONFIG_DDR_DLL /* possible DLL fix needed */
|
||||
#undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */
|
||||
#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */
|
||||
|
||||
#define CONFIG_MEM_INIT_VALUE 0xDeadBeef
|
||||
|
||||
@@ -265,7 +264,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CONFIG_SYS_BR5_PRELIM 0xf8010801
|
||||
#define CONFIG_SYS_OR5_PRELIM 0xffff69f7
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -71,7 +71,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_ENABLE_36BIT_PHYS 1
|
||||
|
||||
@@ -93,12 +92,14 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
|
||||
#define CONFIG_SYS_PCIE1_ADDR (CONFIG_SYS_CCSRBAR+0xa000)
|
||||
|
||||
/* DDR Setup */
|
||||
#define CONFIG_SYS_DDR_TLB_START 9
|
||||
#define CONFIG_FSL_DDR2
|
||||
#undef CONFIG_FSL_DDR_INTERACTIVE
|
||||
#define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */
|
||||
#define CONFIG_DDR_SPD
|
||||
#undef CONFIG_DDR_DLL
|
||||
|
||||
#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER
|
||||
#define CONFIG_MEM_INIT_VALUE 0xDeadBeef
|
||||
|
||||
#define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000
|
||||
@@ -114,22 +115,22 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
|
||||
#define SPD_EEPROM_ADDRESS2 0x52 /* CTLR 1 DIMM 0 */
|
||||
|
||||
/* These are used when DDR doesn't use SPD. */
|
||||
#define CONFIG_SYS_SDRAM_SIZE 256 /* DDR is 256MB */
|
||||
#define CONFIG_SYS_DDR_CS0_BNDS 0x0000001F
|
||||
#define CONFIG_SYS_DDR_CS0_CONFIG 0x80010102 /* Enable, no interleaving */
|
||||
#define CONFIG_SYS_DDR_TIMING_3 0x00000000
|
||||
#define CONFIG_SYS_DDR_TIMING_0 0x00260802
|
||||
#define CONFIG_SYS_DDR_TIMING_1 0x3935d322
|
||||
#define CONFIG_SYS_DDR_TIMING_2 0x14904cc8
|
||||
#define CONFIG_SYS_DDR_MODE_1 0x00480432
|
||||
#define CONFIG_SYS_SDRAM_SIZE 512 /* DDR is 512MB */
|
||||
#define CONFIG_SYS_DDR_CS0_BNDS 0x0000001F
|
||||
#define CONFIG_SYS_DDR_CS0_CONFIG 0x80010202 /* Enable, no interleaving */
|
||||
#define CONFIG_SYS_DDR_TIMING_3 0x00020000
|
||||
#define CONFIG_SYS_DDR_TIMING_0 0x00260802
|
||||
#define CONFIG_SYS_DDR_TIMING_1 0x626b2634
|
||||
#define CONFIG_SYS_DDR_TIMING_2 0x062874cf
|
||||
#define CONFIG_SYS_DDR_MODE_1 0x00440462
|
||||
#define CONFIG_SYS_DDR_MODE_2 0x00000000
|
||||
#define CONFIG_SYS_DDR_INTERVAL 0x06180100
|
||||
#define CONFIG_SYS_DDR_INTERVAL 0x0c300100
|
||||
#define CONFIG_SYS_DDR_DATA_INIT 0xdeadbeef
|
||||
#define CONFIG_SYS_DDR_CLK_CTRL 0x03800000
|
||||
#define CONFIG_SYS_DDR_OCD_CTRL 0x00000000
|
||||
#define CONFIG_SYS_DDR_CLK_CTRL 0x00800000
|
||||
#define CONFIG_SYS_DDR_OCD_CTRL 0x00000000
|
||||
#define CONFIG_SYS_DDR_OCD_STATUS 0x00000000
|
||||
#define CONFIG_SYS_DDR_CONTROL 0xC3008000 /* Type = DDR2 */
|
||||
#define CONFIG_SYS_DDR_CONTROL2 0x04400010
|
||||
#define CONFIG_SYS_DDR_CONTROL 0xc3000008 /* Type = DDR2 */
|
||||
#define CONFIG_SYS_DDR_CONTROL2 0x24400000
|
||||
|
||||
#define CONFIG_SYS_DDR_ERR_INT_EN 0x0000000d
|
||||
#define CONFIG_SYS_DDR_ERR_DIS 0x00000000
|
||||
@@ -248,8 +249,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
|
||||
| PIXIS_VCFGEN1_TSEC3SER \
|
||||
| PIXIS_VCFGEN1_TSEC4SER)
|
||||
|
||||
/* define to use L1 as initial stack */
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xffd00000 /* Initial L1 address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x00004000 /* End of used area in RAM */
|
||||
|
||||
@@ -81,6 +81,9 @@
|
||||
#define CONFIG_SYS_CCSRBAR 0xe0000000 /* relocated CCSRBAR */
|
||||
#define CONFIG_SYS_IMMR CONFIG_SYS_CCSRBAR /* PQII uses CONFIG_SYS_IMMR */
|
||||
|
||||
#define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR
|
||||
#define CONFIG_SYS_CCSRBAR_PHYS_HIGH 0x0
|
||||
|
||||
#define CONFIG_SYS_PCI1_ADDR (CONFIG_SYS_CCSRBAR+0x8000)
|
||||
#define CONFIG_SYS_PCIE1_ADDR (CONFIG_SYS_CCSRBAR+0xa000)
|
||||
#define CONFIG_SYS_PCIE2_ADDR (CONFIG_SYS_CCSRBAR+0x9000)
|
||||
@@ -206,7 +209,6 @@
|
||||
|
||||
#undef CONFIG_CLOCKS_IN_MHZ
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#ifndef CONFIG_SYS_INIT_RAM_LOCK
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
@@ -271,11 +273,13 @@
|
||||
* General PCI
|
||||
* Addresses are mapped 1-1.
|
||||
*/
|
||||
#define CONFIG_SYS_PCI1_MEM_BASE 0x80000000
|
||||
#define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE
|
||||
#define CONFIG_SYS_PCI1_MEM_BUS 0x80000000
|
||||
#define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BUS
|
||||
#define CONFIG_SYS_PCI1_MEM_VIRT CONFIG_SYS_PCI1_MEM_BUS
|
||||
#define CONFIG_SYS_PCI1_MEM_SIZE 0x10000000 /* 256M */
|
||||
#define CONFIG_SYS_PCI1_IO_BASE 0x00000000
|
||||
#define CONFIG_SYS_PCI1_IO_BUS 0x0000000
|
||||
#define CONFIG_SYS_PCI1_IO_PHYS 0xe1000000
|
||||
#define CONFIG_SYS_PCI1_IO_VIRT 0xe1000000
|
||||
#define CONFIG_SYS_PCI1_IO_SIZE 0x00100000 /* 1M */
|
||||
|
||||
/* For RTL8139 */
|
||||
@@ -283,18 +287,18 @@
|
||||
#define _IO_BASE 0x00000000
|
||||
|
||||
/* controller 1, Base address 0xa000 */
|
||||
#define CONFIG_SYS_PCIE1_MEM_BASE 0xa0000000
|
||||
#define CONFIG_SYS_PCIE1_MEM_PHYS CONFIG_SYS_PCIE1_MEM_BASE
|
||||
#define CONFIG_SYS_PCIE1_MEM_BUS 0xa0000000
|
||||
#define CONFIG_SYS_PCIE1_MEM_PHYS CONFIG_SYS_PCIE1_MEM_BUS
|
||||
#define CONFIG_SYS_PCIE1_MEM_SIZE 0x10000000 /* 256M */
|
||||
#define CONFIG_SYS_PCIE1_IO_BASE 0x00000000
|
||||
#define CONFIG_SYS_PCIE1_IO_BUS 0x00000000
|
||||
#define CONFIG_SYS_PCIE1_IO_PHYS 0xe3000000
|
||||
#define CONFIG_SYS_PCIE1_IO_SIZE 0x00100000 /* 1M */
|
||||
|
||||
/* controller 2, Base Address 0x9000 */
|
||||
#define CONFIG_SYS_PCIE2_MEM_BASE 0x90000000
|
||||
#define CONFIG_SYS_PCIE2_MEM_PHYS CONFIG_SYS_PCIE2_MEM_BASE
|
||||
#define CONFIG_SYS_PCIE2_MEM_BUS 0x90000000
|
||||
#define CONFIG_SYS_PCIE2_MEM_PHYS CONFIG_SYS_PCIE2_MEM_BUS
|
||||
#define CONFIG_SYS_PCIE2_MEM_SIZE 0x10000000 /* 256M */
|
||||
#define CONFIG_SYS_PCIE2_IO_BASE 0x00000000 /* reuse mem LAW */
|
||||
#define CONFIG_SYS_PCIE2_IO_BUS 0x00000000 /* reuse mem LAW */
|
||||
#define CONFIG_SYS_PCIE2_IO_PHYS 0xe2000000
|
||||
#define CONFIG_SYS_PCIE2_IO_SIZE 0x00100000 /* 1M */
|
||||
|
||||
@@ -362,7 +366,7 @@
|
||||
|
||||
#define CONFIG_SYS_DBAT1L (CONFIG_SYS_PCI1_MEM_PHYS | BATL_PP_RW | BATL_CACHEINHIBIT \
|
||||
| BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT1U (CONFIG_SYS_PCI1_MEM_PHYS | BATU_BL_1G | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT1U (CONFIG_SYS_PCI1_MEM_VIRT | BATU_BL_1G | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_PCI1_MEM_PHYS | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT1U CONFIG_SYS_DBAT1U
|
||||
|
||||
@@ -373,7 +377,7 @@
|
||||
|
||||
#define CONFIG_SYS_DBAT2L (CONFIG_SYS_PCI1_IO_PHYS | BATL_PP_RW | BATL_CACHEINHIBIT \
|
||||
| BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT2U (CONFIG_SYS_PCI1_IO_PHYS | BATU_BL_16M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT2U (CONFIG_SYS_PCI1_IO_VIRT | BATU_BL_16M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_IBAT2L (CONFIG_SYS_PCI1_IO_PHYS | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT2U CONFIG_SYS_DBAT2U
|
||||
|
||||
@@ -388,6 +392,17 @@
|
||||
#define CONFIG_SYS_IBAT3L (CONFIG_SYS_CCSRBAR | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT3U CONFIG_SYS_DBAT3U
|
||||
|
||||
#if (CONFIG_SYS_CCSRBAR_DEFAULT != CONFIG_SYS_CCSRBAR)
|
||||
#define CONFIG_SYS_CCSR_DEFAULT_DBATL (CONFIG_SYS_CCSRBAR_DEFAULT \
|
||||
| BATL_PP_RW | BATL_CACHEINHIBIT \
|
||||
| BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_CCSR_DEFAULT_DBATU (CONFIG_SYS_CCSRBAR_DEFAULT \
|
||||
| BATU_BL_1M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_CCSR_DEFAULT_IBATL (CONFIG_SYS_CCSRBAR_DEFAULT \
|
||||
| BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_CCSR_DEFAULT_IBATU CONFIG_SYS_CCSR_DEFAULT_DBATU
|
||||
#endif
|
||||
|
||||
/*
|
||||
* BAT4 32M Cache-inhibited, guarded
|
||||
* 0xe200_0000 1M PCI-Express 2 I/O
|
||||
|
||||
@@ -186,17 +186,8 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
|
||||
#define CONFIG_SYS_FLASH_BASE_PHYS (CONFIG_SYS_FLASH_BASE \
|
||||
| CONFIG_SYS_PHYS_ADDR_HIGH)
|
||||
|
||||
|
||||
#define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE}
|
||||
|
||||
/* Convert an address into the right format for the BR registers */
|
||||
#ifdef CONFIG_PHYS_64BIT
|
||||
#define BR_PHYS_ADDR(x) ((unsigned long)((x & 0x0ffff8000ULL) | \
|
||||
((x & 0x300000000ULL) >> 19)))
|
||||
#else
|
||||
#define BR_PHYS_ADDR(x) (x & 0xffff8000)
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_BR0_PRELIM (BR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) \
|
||||
| 0x00001001) /* port size 16bit */
|
||||
#define CONFIG_SYS_OR0_PRELIM 0xff806ff7 /* 8MB Boot Flash area*/
|
||||
@@ -268,7 +259,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
|
||||
|
||||
#undef CONFIG_CLOCKS_IN_MHZ
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#ifndef CONFIG_SYS_INIT_RAM_LOCK
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x0fd00000 /* Initial RAM address */
|
||||
|
||||
@@ -130,7 +130,6 @@
|
||||
#define CONFIG_SYS_MONITOR_BASE TEXT_BASE
|
||||
#undef CONFIG_SYS_RAMBOOT
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xFD000000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x1000 /* End of used area in RAM*/
|
||||
|
||||
@@ -799,7 +799,7 @@ typedef unsigned int led_id_t;
|
||||
#define CONFIG_CDP_DEVICE_ID_PREFIX "NP" /* netphone */
|
||||
#define CONFIG_CDP_PORT_ID "eth%d"
|
||||
#define CONFIG_CDP_CAPABILITIES 0x00000010
|
||||
#define CONFIG_CDP_VERSION "u-boot" " " __DATE__ " " __TIME__
|
||||
#define CONFIG_CDP_VERSION "u-boot" " " U_BOOT_DATE " " U_BOOT_TIME
|
||||
#define CONFIG_CDP_PLATFORM "Intracom NetPhone"
|
||||
#define CONFIG_CDP_TRIGGER 0x20020001
|
||||
#define CONFIG_CDP_POWER_CONSUMPTION 4300 /* 90 mA @ 48V */
|
||||
|
||||
@@ -775,7 +775,7 @@
|
||||
#define CONFIG_CDP_DEVICE_ID_PREFIX "NT" /* netta */
|
||||
#define CONFIG_CDP_PORT_ID "eth%d"
|
||||
#define CONFIG_CDP_CAPABILITIES 0x00000010
|
||||
#define CONFIG_CDP_VERSION "u-boot 1.0" " " __DATE__ " " __TIME__
|
||||
#define CONFIG_CDP_VERSION "u-boot 1.0" " " U_BOOT_DATE " " U_BOOT_TIME
|
||||
#define CONFIG_CDP_PLATFORM "Intracom NetTA"
|
||||
#define CONFIG_CDP_TRIGGER 0x20020001
|
||||
#define CONFIG_CDP_POWER_CONSUMPTION 4300 /* 90 mA @ 48V */
|
||||
|
||||
@@ -750,7 +750,7 @@ typedef unsigned int led_id_t;
|
||||
#define CONFIG_CDP_DEVICE_ID_PREFIX "NT" /* netta2 */
|
||||
#define CONFIG_CDP_PORT_ID "eth%d"
|
||||
#define CONFIG_CDP_CAPABILITIES 0x00000010
|
||||
#define CONFIG_CDP_VERSION "u-boot" " " __DATE__ " " __TIME__
|
||||
#define CONFIG_CDP_VERSION "u-boot" " " U_BOOT_DATE " " U_BOOT_TIME
|
||||
#define CONFIG_CDP_PLATFORM "Intracom NetTA2"
|
||||
#define CONFIG_CDP_TRIGGER 0x20020001
|
||||
#define CONFIG_CDP_POWER_CONSUMPTION 4300 /* 90 mA @ 48V */
|
||||
|
||||
@@ -60,39 +60,24 @@
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
|
||||
#define CONFIG_RTC_M48T35A 1 /* ST Electronics M48 timekeeper */
|
||||
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#undef CONFIG_CMD_IMLS
|
||||
#undef CONFIG_CMD_ITEST
|
||||
#undef CONFIG_CMD_LOADB
|
||||
#undef CONFIG_CMD_LOADS
|
||||
#undef CONFIG_CMD_NET
|
||||
#undef CONFIG_CMD_NFS
|
||||
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_BSP
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
@@ -102,7 +87,6 @@
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
@@ -166,15 +150,9 @@
|
||||
#define CONFIG_SYS_PCI_PTM1MS 0xff000001 /* 16MB, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
|
||||
#if 0 /* test-only */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xffc00000 /* point to flash */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xffc00001 /* 4MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x04000000 /* Host: use this pci address */
|
||||
#else
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xef600000 /* point to internal regs */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xffe00001 /* 2MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x00000000 /* Host: use this pci address */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
@@ -215,22 +193,10 @@
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
#if 0 /* Use NVRAM for environment variables */
|
||||
/*-----------------------------------------------------------------------
|
||||
* NVRAM organization
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_NVRAM 1 /* use NVRAM for environment vars */
|
||||
#define CONFIG_ENV_SIZE 0x0ff8 /* Size of Environment vars */
|
||||
#define CONFIG_ENV_ADDR \
|
||||
(CONFIG_SYS_NVRAM_BASE_ADDR+CONFIG_SYS_NVRAM_SIZE-(CONFIG_ENV_SIZE+8)) /* Env */
|
||||
|
||||
#else /* Use EEPROM for environment variables */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x400 /* 1024 bytes may be used for env vars*/
|
||||
/* total size of a CAT24WC08 is 1024 bytes */
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0xf0200000 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE (32*1024) /* NVRAM size */
|
||||
@@ -327,14 +293,6 @@
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
#if 0 /* test-only */
|
||||
#define CONFIG_SYS_INIT_DCACHE_CS 7 /* use cs # 7 for data cache memory */
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* use data cache */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x2000 /* End of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
#else
|
||||
/* use on chip memory ( OCM ) for temperary stack until sdram is tested */
|
||||
#define CONFIG_SYS_TEMP_STACK_OCM 1
|
||||
/* On Chip Memory location */
|
||||
@@ -346,7 +304,6 @@
|
||||
#define CONFIG_SYS_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Internal Definitions
|
||||
|
||||
@@ -71,7 +71,6 @@
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
|
||||
|
||||
@@ -161,7 +160,6 @@
|
||||
#define CONFIG_SYS_LBC_MRTPR 0x20000000 /* LB refresh timer prescal*/
|
||||
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -72,7 +72,6 @@
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
|
||||
|
||||
@@ -164,7 +163,6 @@
|
||||
#define CONFIG_SYS_LBC_MRTPR 0x20000000 /* LB refresh timer prescal*/
|
||||
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -219,8 +219,8 @@
|
||||
#if !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL)
|
||||
#define CONFIG_DDR_DATA_EYE /* use DDR2 optimization */
|
||||
#endif
|
||||
#define CFG_MEM_TOP_HIDE (4 << 10) /* don't use last 4kbytes */
|
||||
/* 440EPx errata CHIP 11 */
|
||||
#define CONFIG_SYS_MEM_TOP_HIDE (4 << 10) /* don't use last 4kbytes */
|
||||
/* 440EPx errata CHIP 11 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C
|
||||
@@ -490,8 +490,8 @@
|
||||
#endif
|
||||
|
||||
/* Memory Bank 1 (RESET) initialization */
|
||||
#define CFG_EBC_PB1AP 0x7f817200 //0x03017200
|
||||
#define CFG_EBC_PB1CR (CFG_RESET_BASE | 0x1c000)
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x7f817200 /* 0x03017200 */
|
||||
#define CONFIG_SYS_EBC_PB1CR (CONFIG_SYS_RESET_BASE | 0x1c000)
|
||||
|
||||
/* Memory Bank 4 (FPGA / 32Bit) initialization */
|
||||
#define CONFIG_SYS_EBC_PB4AP 0x03840f40 /* BME=0,TWT=7,CSN=1,TH=7,RE=1,SOR=0,BEM=1 */
|
||||
|
||||
@@ -75,7 +75,6 @@
|
||||
/* below can be toggled for performance analysis. otherwise use default */
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#undef CONFIG_BTB /* toggle branch predition */
|
||||
#undef CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
|
||||
|
||||
@@ -186,7 +185,6 @@
|
||||
#define CONFIG_SYS_BCSR ((CONFIG_SYS_BR5_PRELIM & 0xff000000)|0x00400000)
|
||||
/* the size of CS5 needs to be >= 16M for TLB and LAW setups */
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x70000000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -171,7 +171,6 @@ extern int tqm834x_num_flash_banks;
|
||||
#undef CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x20000000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x1000 /* End of used area in RAM*/
|
||||
|
||||
@@ -106,7 +106,6 @@
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_INIT_DBCR DBCR_IDM /* Enable Debug Exceptions */
|
||||
|
||||
@@ -234,7 +233,6 @@
|
||||
#define CONFIG_SYS_LBC_LSRT 0x20000000 /* LB sdram refresh timer */
|
||||
#define CONFIG_SYS_LBC_MRTPR 0x20000000 /* LB refresh timer presc.*/
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR (CONFIG_SYS_CCSRBAR \
|
||||
+ 0x04010000) /* Initial RAM address */
|
||||
|
||||
546
include/configs/XPEDITE5200.h
Normal file
546
include/configs/XPEDITE5200.h
Normal file
@@ -0,0 +1,546 @@
|
||||
/*
|
||||
* Copyright 2008 Extreme Engineering Solutions, Inc.
|
||||
* Copyright 2004-2008 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
/*
|
||||
* xpedite5200 board configuration file
|
||||
*/
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
*/
|
||||
#define CONFIG_BOOKE 1 /* BOOKE */
|
||||
#define CONFIG_E500 1 /* BOOKE e500 family */
|
||||
#define CONFIG_MPC85xx 1 /* MPC8540/60/55/41/48 */
|
||||
#define CONFIG_MPC8548 1
|
||||
#define CONFIG_XPEDITE5200 1
|
||||
#define CONFIG_SYS_BOARD_NAME "XPedite5200"
|
||||
#define CONFIG_BOARD_EARLY_INIT_R /* Call board_pre_init */
|
||||
#define CONFIG_RELOC_FIXUP_WORKS /* Fully relocate to SDRAM */
|
||||
|
||||
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
|
||||
#define CONFIG_PCI_PNP 1 /* do pci plug-and-play */
|
||||
#define CONFIG_PCI_SCAN_SHOW 1 /* show pci devices on startup */
|
||||
#define CONFIG_PCI1 1 /* PCI controller 1 */
|
||||
#define CONFIG_FSL_PCI_INIT 1 /* Use common FSL init code */
|
||||
#define CONFIG_SYS_PCI_64BIT 1 /* enable 64-bit PCI resources */
|
||||
#define CONFIG_FSL_LAW 1 /* Use common FSL init code */
|
||||
|
||||
/*
|
||||
* DDR config
|
||||
*/
|
||||
#define CONFIG_FSL_DDR2
|
||||
#undef CONFIG_FSL_DDR_INTERACTIVE
|
||||
#define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */
|
||||
#define CONFIG_DDR_SPD
|
||||
#define CONFIG_MEM_INIT_VALUE 0xdeadbeef
|
||||
#define SPD_EEPROM_ADDRESS 0x54
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_DIMM_SLOTS_PER_CTLR 1
|
||||
#define CONFIG_CHIP_SELECTS_PER_CTRL 2
|
||||
#define CONFIG_DDR_ECC
|
||||
#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER
|
||||
#define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE
|
||||
#define CONFIG_VERY_BIG_RAM
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 66666666
|
||||
|
||||
/*
|
||||
* These can be toggled for performance analysis, otherwise use default.
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ENABLE_36BIT_PHYS 1
|
||||
|
||||
/*
|
||||
* Base addresses -- Note these are effective addresses where the
|
||||
* actual resources get mapped (not physical addresses)
|
||||
*/
|
||||
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xff700000 /* CCSRBAR Default */
|
||||
#define CONFIG_SYS_CCSRBAR 0xef000000 /* relocated CCSRBAR */
|
||||
#define CONFIG_SYS_CCSRBAR_PHYS CONFIG_SYS_CCSRBAR /* physical addr of CCSRBAR */
|
||||
#define CONFIG_SYS_IMMR CONFIG_SYS_CCSRBAR /* PQII uses CONFIG_SYS_IMMR */
|
||||
#define CONFIG_SYS_PCI1_ADDR (CONFIG_SYS_CCSRBAR + 0x8000)
|
||||
|
||||
/*
|
||||
* Diagnostics
|
||||
*/
|
||||
#define CONFIG_SYS_ALT_MEMTEST
|
||||
#define CONFIG_SYS_MEMTEST_START 0x10000000
|
||||
#define CONFIG_SYS_MEMTEST_END 0x20000000
|
||||
|
||||
/*
|
||||
* Memory map
|
||||
* 0x0000_0000 0x7fff_ffff DDR 2G Cacheable
|
||||
* 0x8000_0000 0xbfff_ffff PCI1 Mem 1G non-cacheable
|
||||
* 0xe000_0000 0xe7ff_ffff SRAM/SSRAM/L1 Cache 128M non-cacheable
|
||||
* 0xe800_0000 0xe87f_ffff PCI1 IO 8M non-cacheable
|
||||
* 0xef00_0000 0xef0f_ffff CCSR/IMMR 1M non-cacheable
|
||||
* 0xef80_0000 0xef8f_ffff NAND Flash 1M non-cacheable
|
||||
* 0xf800_0000 0xfbff_ffff NOR Flash 2 64M non-cacheable
|
||||
* 0xfc00_0000 0xffff_ffff NOR Flash 1 64M non-cacheable
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_LBC_LCRR (LCRR_CLKDIV_4 | LCRR_EADC_3)
|
||||
|
||||
/*
|
||||
* NAND flash configuration
|
||||
*/
|
||||
#define CONFIG_SYS_NAND_BASE 0xef800000
|
||||
#define CONFIG_SYS_NAND_BASE2 0xef840000 /* Unused at this time */
|
||||
#define CONFIG_SYS_MAX_NAND_DEVICE 1
|
||||
#define CONFIG_NAND_ACTL
|
||||
#define CONFIG_SYS_NAND_ACTL_CLE (1 << 3) /* ADDR3 is CLE */
|
||||
#define CONFIG_SYS_NAND_ACTL_ALE (1 << 4) /* ADDR4 is ALE */
|
||||
#define CONFIG_SYS_NAND_ACTL_NCE (0) /* NCE not controlled by ADDR */
|
||||
#define CONFIG_SYS_NAND_ACTL_DELAY 25
|
||||
|
||||
/*
|
||||
* NOR flash configuration
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_BASE 0xfc000000
|
||||
#define CONFIG_SYS_FLASH_BASE2 0xf8000000
|
||||
#define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FLASH_BASE2}
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* number of banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */
|
||||
#define CONFIG_FLASH_CFI_DRIVER
|
||||
#define CONFIG_SYS_FLASH_CFI
|
||||
#define CONFIG_SYS_FLASH_AUTOPROTECT_LIST { {0xfff40000, 0xc0000}, \
|
||||
{0xfbf40000, 0xc0000} }
|
||||
#define CONFIG_SYS_MONITOR_BASE TEXT_BASE /* start of monitor */
|
||||
|
||||
/*
|
||||
* Chip select configuration
|
||||
*/
|
||||
/* NOR Flash 0 on CS0 */
|
||||
#define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE | \
|
||||
BR_PS_16 | \
|
||||
BR_V)
|
||||
#define CONFIG_SYS_OR0_PRELIM (OR_AM_64MB | \
|
||||
OR_GPCM_ACS_DIV4 | \
|
||||
OR_GPCM_SCY_8)
|
||||
|
||||
/* NOR Flash 1 on CS1 */
|
||||
#define CONFIG_SYS_BR1_PRELIM (CONFIG_SYS_FLASH_BASE2 | \
|
||||
BR_PS_16 | \
|
||||
BR_V)
|
||||
#define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_OR0_PRELIM
|
||||
|
||||
/* NAND flash on CS2 */
|
||||
#define CONFIG_SYS_BR2_PRELIM (CONFIG_SYS_NAND_BASE | \
|
||||
BR_PS_8 | \
|
||||
BR_V)
|
||||
|
||||
/* NAND flash on CS2 */
|
||||
#define CONFIG_SYS_OR2_PRELIM (OR_AM_256KB | \
|
||||
OR_GPCM_BCTLD | \
|
||||
OR_GPCM_CSNT | \
|
||||
OR_GPCM_ACS_DIV4 | \
|
||||
OR_GPCM_SCY_4 | \
|
||||
OR_GPCM_TRLX | \
|
||||
OR_GPCM_EHTR)
|
||||
|
||||
/* NAND flash on CS3 */
|
||||
#define CONFIG_SYS_BR3_PRELIM (CONFIG_SYS_NAND_BASE2 | \
|
||||
BR_PS_8 | \
|
||||
BR_V)
|
||||
#define CONFIG_SYS_OR3_PRELIM CONFIG_SYS_OR2_PRELIM
|
||||
|
||||
/*
|
||||
* Use L1 as initial stack
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe0000000
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000
|
||||
|
||||
#define CONFIG_SYS_GBL_DATA_SIZE 128 /* num bytes initial data */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 KB for Mon */
|
||||
#define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* Reserved for malloc */
|
||||
|
||||
/*
|
||||
* Serial Port
|
||||
*/
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_bus_freq(0)
|
||||
#define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_CCSRBAR+0x4500)
|
||||
#define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_CCSRBAR+0x4600)
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200}
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
/*
|
||||
* Use the HUSH parser
|
||||
*/
|
||||
#define CONFIG_SYS_HUSH_PARSER
|
||||
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
|
||||
|
||||
/*
|
||||
* Pass open firmware flat tree
|
||||
*/
|
||||
#define CONFIG_OF_LIBFDT 1
|
||||
#define CONFIG_OF_BOARD_SETUP 1
|
||||
#define CONFIG_OF_STDOUT_VIA_ALIAS 1
|
||||
|
||||
#define CONFIG_SYS_64BIT_VSPRINTF 1
|
||||
#define CONFIG_SYS_64BIT_STRTOUL 1
|
||||
|
||||
/*
|
||||
* I2C
|
||||
*/
|
||||
#define CONFIG_FSL_I2C /* Use FSL common I2C driver */
|
||||
#define CONFIG_HARD_I2C /* I2C with hardware support */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
#define CONFIG_SYS_I2C_OFFSET 0x3000
|
||||
#define CONFIG_SYS_I2C2_OFFSET 0x3100
|
||||
#define CONFIG_I2C_MULTI_BUS
|
||||
#define CONFIG_I2C_CMD_TREE
|
||||
|
||||
/* I2C EEPROM */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 6 /* 64 byte pages */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* take up to 10 msec */
|
||||
|
||||
/* I2C RTC */
|
||||
#define CONFIG_RTC_M41T11 1
|
||||
#define CONFIG_SYS_I2C_RTC_ADDR 0x68
|
||||
#define CONFIG_SYS_M41T11_BASE_YEAR 2000
|
||||
|
||||
/* GPIO */
|
||||
#define CONFIG_PCA953X
|
||||
#define CONFIG_SYS_I2C_PCA953X_ADDR0 0x18
|
||||
#define CONFIG_SYS_I2C_PCA953X_ADDR1 0x19
|
||||
#define CONFIG_SYS_I2C_PCA953X_ADDR CONFIG_SYS_I2C_PCA953X_ADDR0
|
||||
|
||||
/* PCA957 @ 0x18 */
|
||||
#define CONFIG_SYS_PCA953X_BRD_CFG0 0x01
|
||||
#define CONFIG_SYS_PCA953X_BRD_CFG1 0x02
|
||||
#define CONFIG_SYS_PCA953X_BRD_CFG2 0x04
|
||||
#define CONFIG_SYS_PCA953X_XMC_ROOT0 0x08
|
||||
#define CONFIG_SYS_PCA953X_FLASH_PASS_CS 0x10
|
||||
#define CONFIG_SYS_PCA953X_FLASH_WP 0x20
|
||||
#define CONFIG_SYS_PCA953X_MONARCH 0x40
|
||||
#define CONFIG_SYS_PCA953X_EREADY 0x80
|
||||
|
||||
/* PCA957 @ 0x19 */
|
||||
#define CONFIG_SYS_PCA953X_P14_IO0 0x01
|
||||
#define CONFIG_SYS_PCA953X_P14_IO1 0x02
|
||||
#define CONFIG_SYS_PCA953X_P14_IO2 0x04
|
||||
#define CONFIG_SYS_PCA953X_P14_IO3 0x08
|
||||
#define CONFIG_SYS_PCA953X_P14_IO4 0x10
|
||||
#define CONFIG_SYS_PCA953X_P14_IO5 0x20
|
||||
#define CONFIG_SYS_PCA953X_P14_IO6 0x40
|
||||
#define CONFIG_SYS_PCA953X_P14_IO7 0x80
|
||||
|
||||
/*
|
||||
* General PCI
|
||||
* Memory space is mapped 1-1, but I/O space must start from 0.
|
||||
*/
|
||||
#define CONFIG_SYS_PCI1_MEM_BASE 0x80000000
|
||||
#define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE
|
||||
#define CONFIG_SYS_PCI1_MEM_SIZE 0x40000000 /* 1G */
|
||||
#define CONFIG_SYS_PCI1_IO_BASE 0x00000000
|
||||
#define CONFIG_SYS_PCI1_IO_PHYS 0xe8000000
|
||||
#define CONFIG_SYS_PCI1_IO_SIZE 0x00800000 /* 1M */
|
||||
|
||||
/*
|
||||
* Networking options
|
||||
*/
|
||||
#define CONFIG_TSEC_ENET /* tsec ethernet support */
|
||||
#define CONFIG_PHY_GIGE 1 /* Include GbE speed/duplex detection */
|
||||
#define CONFIG_NET_MULTI 1
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_ETHPRIME "eTSEC1"
|
||||
|
||||
#define CONFIG_TSEC1 1
|
||||
#define CONFIG_TSEC1_NAME "eTSEC1"
|
||||
#define TSEC1_FLAGS TSEC_GIGABIT
|
||||
#define TSEC1_PHY_ADDR 1
|
||||
#define TSEC1_PHYIDX 0
|
||||
#define CONFIG_HAS_ETH0
|
||||
|
||||
#define CONFIG_TSEC2 1
|
||||
#define CONFIG_TSEC2_NAME "eTSEC2"
|
||||
#define TSEC2_FLAGS TSEC_GIGABIT
|
||||
#define TSEC2_PHY_ADDR 2
|
||||
#define TSEC2_PHYIDX 0
|
||||
#define CONFIG_HAS_ETH1
|
||||
|
||||
#define CONFIG_TSEC3 1
|
||||
#define CONFIG_TSEC3_NAME "eTSEC3"
|
||||
#define TSEC3_FLAGS TSEC_GIGABIT
|
||||
#define TSEC3_PHY_ADDR 3
|
||||
#define TSEC3_PHYIDX 0
|
||||
#define CONFIG_HAS_ETH2
|
||||
|
||||
#define CONFIG_TSEC4 1
|
||||
#define CONFIG_TSEC4_NAME "eTSEC4"
|
||||
#define TSEC4_FLAGS TSEC_GIGABIT
|
||||
#define TSEC4_PHY_ADDR 4
|
||||
#define TSEC4_PHYIDX 0
|
||||
#define CONFIG_HAS_ETH3
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
|
||||
/*
|
||||
* Command configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_ASKENV
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_ENV
|
||||
#define CONFIG_CMD_FLASH
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_JFFS2
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_NAND
|
||||
#define CONFIG_CMD_NET
|
||||
#define CONFIG_CMD_PCA953X
|
||||
#define CONFIG_CMD_PCA953X_INFO
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_SNTP
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1ms ticks */
|
||||
#define CONFIG_CMDLINE_EDITING 1 /* add command line history */
|
||||
#define CONFIG_LOADADDR 0x1000000 /* default location for tftp and bootm */
|
||||
#define CONFIG_BOOTDELAY 3 /* -1 disables auto-boot */
|
||||
#define CONFIG_PANIC_HANG /* do not reset board on panic */
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
#define CONFIG_FIT 1
|
||||
#define CONFIG_FIT_VERBOSE 1
|
||||
#define CONFIG_INTEGRITY /* support booting INTEGRITY OS */
|
||||
#define CONFIG_INTERRUPTS /* enable pci, srio, ddr interrupts */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 16 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (16 << 20) /* Initial Memory map for Linux*/
|
||||
|
||||
/*
|
||||
* Boot Flags
|
||||
*/
|
||||
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
|
||||
#define BOOTFLAG_WARM 0x02 /* Software reboot */
|
||||
|
||||
/*
|
||||
* Environment Configuration
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000 /* 128k (one sector) for env */
|
||||
#define CONFIG_ENV_SIZE 0x8000
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - (256 * 1024))
|
||||
|
||||
/*
|
||||
* Flash memory map:
|
||||
* fff80000 - ffffffff Pri U-Boot (512 KB)
|
||||
* fff40000 - fff7ffff Pri U-Boot Environment (256 KB)
|
||||
* fff00000 - fff3ffff Pri FDT (256KB)
|
||||
* fef00000 - ffefffff Pri OS image (16MB)
|
||||
* fc000000 - feefffff Pri OS Use/Filesystem (47MB)
|
||||
*
|
||||
* fbf80000 - fbffffff Sec U-Boot (512 KB)
|
||||
* fbf40000 - fbf7ffff Sec U-Boot Environment (256 KB)
|
||||
* fbf00000 - fbf3ffff Sec FDT (256KB)
|
||||
* faf00000 - fbefffff Sec OS image (16MB)
|
||||
* f8000000 - faefffff Sec OS Use/Filesystem (47MB)
|
||||
*/
|
||||
#define CONFIG_UBOOT1_ENV_ADDR MK_STR(0xfff80000)
|
||||
#define CONFIG_UBOOT2_ENV_ADDR MK_STR(0xfbf80000)
|
||||
#define CONFIG_FDT1_ENV_ADDR MK_STR(0xfff00000)
|
||||
#define CONFIG_FDT2_ENV_ADDR MK_STR(0xfbf00000)
|
||||
#define CONFIG_OS1_ENV_ADDR MK_STR(0xfef00000)
|
||||
#define CONFIG_OS2_ENV_ADDR MK_STR(0xfaf00000)
|
||||
|
||||
#define CONFIG_PROG_UBOOT1 \
|
||||
"$download_cmd $loadaddr $ubootfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"protect off "CONFIG_UBOOT1_ENV_ADDR" +80000; " \
|
||||
"erase "CONFIG_UBOOT1_ENV_ADDR" +80000; " \
|
||||
"cp.w $loadaddr "CONFIG_UBOOT1_ENV_ADDR" 40000; " \
|
||||
"protect on "CONFIG_UBOOT1_ENV_ADDR" +80000; " \
|
||||
"cmp.b $loadaddr "CONFIG_UBOOT1_ENV_ADDR" 80000; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_PROG_UBOOT2 \
|
||||
"$download_cmd $loadaddr $ubootfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"protect off "CONFIG_UBOOT2_ENV_ADDR" +80000; " \
|
||||
"erase "CONFIG_UBOOT2_ENV_ADDR" +80000; " \
|
||||
"cp.w $loadaddr "CONFIG_UBOOT2_ENV_ADDR" 40000; " \
|
||||
"protect on "CONFIG_UBOOT2_ENV_ADDR" +80000; " \
|
||||
"cmp.b $loadaddr "CONFIG_UBOOT2_ENV_ADDR" 80000; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_BOOT_OS_NET \
|
||||
"$download_cmd $osaddr $osfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"if test -n $fdtaddr; then " \
|
||||
"$download_cmd $fdtaddr $fdtfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"bootm $osaddr - $fdtaddr; " \
|
||||
"else; " \
|
||||
"echo FDT DOWNLOAD FAILED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"bootm $osaddr; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo OS DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_PROG_OS1 \
|
||||
"$download_cmd $osaddr $osfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"erase "CONFIG_OS1_ENV_ADDR" +$filesize; " \
|
||||
"cp.b $osaddr "CONFIG_OS1_ENV_ADDR" $filesize; " \
|
||||
"cmp.b $osaddr "CONFIG_OS1_ENV_ADDR" $filesize; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo OS PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo OS PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo OS DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_PROG_OS2 \
|
||||
"$download_cmd $osaddr $osfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"erase "CONFIG_OS2_ENV_ADDR" +$filesize; " \
|
||||
"cp.b $osaddr "CONFIG_OS2_ENV_ADDR" $filesize; " \
|
||||
"cmp.b $osaddr "CONFIG_OS2_ENV_ADDR" $filesize; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo OS PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo OS PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo OS DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_PROG_FDT1 \
|
||||
"$download_cmd $fdtaddr $fdtfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"erase "CONFIG_FDT1_ENV_ADDR" +$filesize;" \
|
||||
"cp.b $fdtaddr "CONFIG_FDT1_ENV_ADDR" $filesize; " \
|
||||
"cmp.b $fdtaddr "CONFIG_FDT1_ENV_ADDR" $filesize; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo FDT PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo FDT PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo FDT DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_PROG_FDT2 \
|
||||
"$download_cmd $fdtaddr $fdtfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"erase "CONFIG_FDT2_ENV_ADDR" +$filesize;" \
|
||||
"cp.b $fdtaddr "CONFIG_FDT2_ENV_ADDR" $filesize; " \
|
||||
"cmp.b $fdtaddr "CONFIG_FDT2_ENV_ADDR" $filesize; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo FDT PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo FDT PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo FDT DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"autoload=yes\0" \
|
||||
"download_cmd=tftp\0" \
|
||||
"console_args=console=ttyS0,115200\0" \
|
||||
"root_args=root=/dev/nfs rw\0" \
|
||||
"misc_args=ip=on\0" \
|
||||
"set_bootargs=setenv bootargs ${console_args} ${root_args} ${misc_args}\0" \
|
||||
"bootfile=/home/user/file\0" \
|
||||
"osfile=/home/user/uImage-XPedite5200\0" \
|
||||
"fdtfile=/home/user/xpedite5200.dtb\0" \
|
||||
"ubootfile=/home/user/u-boot.bin\0" \
|
||||
"fdtaddr=c00000\0" \
|
||||
"osaddr=0x1000000\0" \
|
||||
"loadaddr=0x1000000\0" \
|
||||
"prog_uboot1="CONFIG_PROG_UBOOT1"\0" \
|
||||
"prog_uboot2="CONFIG_PROG_UBOOT2"\0" \
|
||||
"prog_os1="CONFIG_PROG_OS1"\0" \
|
||||
"prog_os2="CONFIG_PROG_OS2"\0" \
|
||||
"prog_fdt1="CONFIG_PROG_FDT1"\0" \
|
||||
"prog_fdt2="CONFIG_PROG_FDT2"\0" \
|
||||
"bootcmd_net=run set_bootargs; "CONFIG_BOOT_OS_NET"\0" \
|
||||
"bootcmd_flash1=run set_bootargs; " \
|
||||
"bootm "CONFIG_OS1_ENV_ADDR" - "CONFIG_FDT1_ENV_ADDR"\0"\
|
||||
"bootcmd_flash2=run set_bootargs; " \
|
||||
"bootm "CONFIG_OS2_ENV_ADDR" - "CONFIG_FDT2_ENV_ADDR"\0"\
|
||||
"bootcmd=run bootcmd_flash1\0"
|
||||
#endif /* __CONFIG_H */
|
||||
589
include/configs/XPEDITE5370.h
Normal file
589
include/configs/XPEDITE5370.h
Normal file
@@ -0,0 +1,589 @@
|
||||
/*
|
||||
* Copyright 2008 Extreme Engineering Solutions, Inc.
|
||||
* Copyright 2007-2008 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
/*
|
||||
* xpedite5370 board configuration file
|
||||
*/
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
*/
|
||||
#define CONFIG_BOOKE 1 /* BOOKE */
|
||||
#define CONFIG_E500 1 /* BOOKE e500 family */
|
||||
#define CONFIG_MPC85xx 1 /* MPC8540/60/55/41/48 */
|
||||
#define CONFIG_MPC8572 1
|
||||
#define CONFIG_XPEDITE5370 1
|
||||
#define CONFIG_SYS_BOARD_NAME "XPedite5370"
|
||||
#define CONFIG_NUM_CPUS 2 /* 2 Cores */
|
||||
#define CONFIG_BOARD_EARLY_INIT_R /* Call board_pre_init */
|
||||
#define CONFIG_RELOC_FIXUP_WORKS /* Fully relocate to SDRAM */
|
||||
|
||||
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
|
||||
#define CONFIG_PCI_PNP 1 /* do pci plug-and-play */
|
||||
#define CONFIG_PCI_SCAN_SHOW 1 /* show pci devices on startup */
|
||||
#define CONFIG_PCIE1 1 /* PCIE controler 1 */
|
||||
#define CONFIG_PCIE2 1 /* PCIE controler 2 */
|
||||
#define CONFIG_FSL_PCI_INIT 1 /* Use common FSL init code */
|
||||
#define CONFIG_SYS_PCI_64BIT 1 /* enable 64-bit PCI resources */
|
||||
#define CONFIG_FSL_PCIE_RESET 1 /* need PCIe reset errata */
|
||||
#define CONFIG_FSL_LAW 1 /* Use common FSL init code */
|
||||
|
||||
/*
|
||||
* DDR config
|
||||
*/
|
||||
#define CONFIG_FSL_DDR2
|
||||
#undef CONFIG_FSL_DDR_INTERACTIVE
|
||||
#define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */
|
||||
#define CONFIG_DDR_SPD
|
||||
#define CONFIG_MEM_INIT_VALUE 0xdeadbeef
|
||||
#define SPD_EEPROM_ADDRESS1 0x54 /* Both channels use the */
|
||||
#define SPD_EEPROM_ADDRESS2 0x54 /* same SPD data */
|
||||
#define SPD_EEPROM_OFFSET 0x200 /* OFFSET of SPD in EEPROM */
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 2
|
||||
#define CONFIG_DIMM_SLOTS_PER_CTLR 1
|
||||
#define CONFIG_CHIP_SELECTS_PER_CTRL 1
|
||||
#define CONFIG_DDR_ECC
|
||||
#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER
|
||||
#define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000 /* DDR is system memory*/
|
||||
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE
|
||||
#define CONFIG_VERY_BIG_RAM
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
extern unsigned long get_board_sys_clk(unsigned long dummy);
|
||||
extern unsigned long get_board_ddr_clk(unsigned long dummy);
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ get_board_sys_clk(0) /* sysclk for MPC85xx */
|
||||
#define CONFIG_DDR_CLK_FREQ get_board_ddr_clk(0) /* ddrclk for MPC85xx */
|
||||
|
||||
/*
|
||||
* These can be toggled for performance analysis, otherwise use default.
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ENABLE_36BIT_PHYS 1
|
||||
|
||||
/*
|
||||
* Base addresses -- Note these are effective addresses where the
|
||||
* actual resources get mapped (not physical addresses)
|
||||
*/
|
||||
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xff700000 /* CCSRBAR Default */
|
||||
#define CONFIG_SYS_CCSRBAR 0xef000000 /* relocated CCSRBAR */
|
||||
#define CONFIG_SYS_CCSRBAR_PHYS CONFIG_SYS_CCSRBAR /* physical addr of CCSRBAR */
|
||||
#define CONFIG_SYS_IMMR CONFIG_SYS_CCSRBAR /* PQII uses CONFIG_SYS_IMMR */
|
||||
#define CONFIG_SYS_PCIE1_ADDR (CONFIG_SYS_CCSRBAR + 0xa000)
|
||||
#define CONFIG_SYS_PCIE2_ADDR (CONFIG_SYS_CCSRBAR + 0x9000)
|
||||
|
||||
/*
|
||||
* Diagnostics
|
||||
*/
|
||||
#define CONFIG_SYS_ALT_MEMTEST
|
||||
#define CONFIG_SYS_MEMTEST_START 0x10000000
|
||||
#define CONFIG_SYS_MEMTEST_END 0x20000000
|
||||
|
||||
/*
|
||||
* Memory map
|
||||
* 0x0000_0000 0x7fff_ffff DDR 2G Cacheable
|
||||
* 0x8000_0000 0xbfff_ffff PCIe1 Mem 1G non-cacheable
|
||||
* 0xc000_0000 0xcfff_ffff PCIe2 Mem 256M non-cacheable
|
||||
* 0xe000_0000 0xe7ff_ffff SRAM/SSRAM/L1 Cache 128M non-cacheable
|
||||
* 0xe800_0000 0xe87f_ffff PCIe1 IO 8M non-cacheable
|
||||
* 0xe880_0000 0xe8ff_ffff PCIe2 IO 8M non-cacheable
|
||||
* 0xef00_0000 0xef0f_ffff CCSR/IMMR 1M non-cacheable
|
||||
* 0xef80_0000 0xef8f_ffff NAND Flash 1M non-cacheable
|
||||
* 0xf000_0000 0xf7ff_ffff NOR Flash 2 128M non-cacheable
|
||||
* 0xf800_0000 0xffff_ffff NOR Flash 1 128M non-cacheable
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_LBC_LCRR (LCRR_CLKDIV_4 | LCRR_EADC_3)
|
||||
|
||||
/*
|
||||
* NAND flash configuration
|
||||
*/
|
||||
#define CONFIG_SYS_NAND_BASE 0xef800000
|
||||
#define CONFIG_SYS_NAND_BASE2 0xef840000 /* Unused at this time */
|
||||
|
||||
/*
|
||||
* NOR flash configuration
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_BASE 0xf8000000
|
||||
#define CONFIG_SYS_FLASH_BASE2 0xf0000000
|
||||
#define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FLASH_BASE2}
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* number of banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */
|
||||
#define CONFIG_FLASH_CFI_DRIVER
|
||||
#define CONFIG_SYS_FLASH_CFI
|
||||
#define CONFIG_SYS_FLASH_AUTOPROTECT_LIST { {0xfff40000, 0xc0000}, \
|
||||
{0xf7f40000, 0xc0000} }
|
||||
#define CONFIG_SYS_MONITOR_BASE TEXT_BASE /* start of monitor */
|
||||
|
||||
/*
|
||||
* Chip select configuration
|
||||
*/
|
||||
/* NOR Flash 0 on CS0 */
|
||||
#define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE | \
|
||||
BR_PS_16 | \
|
||||
BR_V)
|
||||
#define CONFIG_SYS_OR0_PRELIM (OR_AM_128MB | \
|
||||
OR_GPCM_CSNT | \
|
||||
OR_GPCM_XACS | \
|
||||
OR_GPCM_ACS_DIV2 | \
|
||||
OR_GPCM_SCY_8 | \
|
||||
OR_GPCM_TRLX | \
|
||||
OR_GPCM_EHTR | \
|
||||
OR_GPCM_EAD)
|
||||
|
||||
/* NOR Flash 1 on CS1 */
|
||||
#define CONFIG_SYS_BR1_PRELIM (CONFIG_SYS_FLASH_BASE2 | \
|
||||
BR_PS_16 | \
|
||||
BR_V)
|
||||
#define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_OR0_PRELIM
|
||||
|
||||
/* NAND flash on CS2 */
|
||||
#define CONFIG_SYS_BR2_PRELIM (CONFIG_SYS_NAND_BASE | \
|
||||
(2<<BR_DECC_SHIFT) | \
|
||||
BR_PS_8 | \
|
||||
BR_MS_FCM | \
|
||||
BR_V)
|
||||
|
||||
/* NAND flash on CS2 */
|
||||
#define CONFIG_SYS_OR2_PRELIM (OR_AM_256KB | \
|
||||
OR_FCM_PGS | \
|
||||
OR_FCM_CSCT | \
|
||||
OR_FCM_CST | \
|
||||
OR_FCM_CHT | \
|
||||
OR_FCM_SCY_1 | \
|
||||
OR_FCM_TRLX | \
|
||||
OR_FCM_EHTR)
|
||||
|
||||
/* NAND flash on CS3 */
|
||||
#define CONFIG_SYS_BR3_PRELIM (CONFIG_SYS_NAND_BASE2 | \
|
||||
(2<<BR_DECC_SHIFT) | \
|
||||
BR_PS_8 | \
|
||||
BR_MS_FCM | \
|
||||
BR_V)
|
||||
#define CONFIG_SYS_OR3_PRELIM CONFIG_SYS_OR2_PRELIM
|
||||
|
||||
/*
|
||||
* Use L1 as initial stack
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe0000000
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x00004000
|
||||
|
||||
#define CONFIG_SYS_GBL_DATA_SIZE 128 /* num bytes initial data */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 KB for Mon */
|
||||
#define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* Reserved for malloc */
|
||||
|
||||
/*
|
||||
* Serial Port
|
||||
*/
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_bus_freq(0)
|
||||
#define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_CCSRBAR+0x4500)
|
||||
#define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_CCSRBAR+0x4600)
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200}
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
/*
|
||||
* Use the HUSH parser
|
||||
*/
|
||||
#define CONFIG_SYS_HUSH_PARSER
|
||||
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
|
||||
|
||||
/*
|
||||
* Pass open firmware flat tree
|
||||
*/
|
||||
#define CONFIG_OF_LIBFDT 1
|
||||
#define CONFIG_OF_BOARD_SETUP 1
|
||||
#define CONFIG_OF_STDOUT_VIA_ALIAS 1
|
||||
|
||||
#define CONFIG_SYS_64BIT_VSPRINTF 1
|
||||
#define CONFIG_SYS_64BIT_STRTOUL 1
|
||||
|
||||
/*
|
||||
* I2C
|
||||
*/
|
||||
#define CONFIG_FSL_I2C /* Use FSL common I2C driver */
|
||||
#define CONFIG_HARD_I2C /* I2C with hardware support */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
#define CONFIG_SYS_I2C_OFFSET 0x3000
|
||||
#define CONFIG_SYS_I2C2_OFFSET 0x3100
|
||||
#define CONFIG_I2C_MULTI_BUS
|
||||
#define CONFIG_I2C_CMD_TREE
|
||||
|
||||
/* PEX8518 slave I2C interface */
|
||||
#define CONFIG_SYS_I2C_PEX8518_ADDR 0x70
|
||||
|
||||
/* I2C DS1631 temperature sensor */
|
||||
#define CONFIG_SYS_I2C_DS1621_ADDR 0x48
|
||||
#define CONFIG_DTT_DS1621
|
||||
#define CONFIG_DTT_SENSORS { 0 }
|
||||
|
||||
/* I2C EEPROM - AT24C128B */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x54
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 6 /* 64 byte pages */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* take up to 10 msec */
|
||||
|
||||
/* I2C RTC */
|
||||
#define CONFIG_RTC_M41T11 1
|
||||
#define CONFIG_SYS_I2C_RTC_ADDR 0x68
|
||||
#define CONFIG_SYS_M41T11_BASE_YEAR 2000
|
||||
|
||||
/* GPIO/EEPROM/SRAM */
|
||||
#define CONFIG_DS4510
|
||||
#define CONFIG_SYS_I2C_DS4510_ADDR 0x51
|
||||
|
||||
/* GPIO */
|
||||
#define CONFIG_PCA953X
|
||||
#define CONFIG_SYS_I2C_PCA953X_ADDR0 0x18
|
||||
#define CONFIG_SYS_I2C_PCA953X_ADDR1 0x1c
|
||||
#define CONFIG_SYS_I2C_PCA953X_ADDR2 0x1e
|
||||
#define CONFIG_SYS_I2C_PCA953X_ADDR3 0x1f
|
||||
#define CONFIG_SYS_I2C_PCA953X_ADDR CONFIG_SYS_I2C_PCA953X_ADDR0
|
||||
|
||||
/*
|
||||
* PU = pulled high, PD = pulled low
|
||||
* I = input, O = output, IO = input/output
|
||||
*/
|
||||
/* PCA9557 @ 0x18*/
|
||||
#define CONFIG_SYS_PCA953X_C0_SER0_EN 0x01 /* PU; UART0 enable (1: enabled) */
|
||||
#define CONFIG_SYS_PCA953X_C0_SER0_MODE 0x02 /* PU; UART0 serial mode select */
|
||||
#define CONFIG_SYS_PCA953X_C0_SER1_EN 0x04 /* PU; UART1 enable (1: enabled) */
|
||||
#define CONFIG_SYS_PCA953X_C0_SER1_MODE 0x08 /* PU; UART1 serial mode select */
|
||||
#define CONFIG_SYS_PCA953X_C0_FLASH_PASS_CS 0x10 /* PU; Boot flash CS select */
|
||||
#define CONFIG_SYS_PCA953X_NVM_WP 0x20 /* PU; Set to 0 to enable NVM writing */
|
||||
#define CONFIG_SYS_PCA953X_C0_VCORE_VID2 0x40 /* VID2 of ISL6262 */
|
||||
#define CONFIG_SYS_PCA953X_C0_VCORE_VID3 0x80 /* VID3 of ISL6262 */
|
||||
|
||||
/* PCA9557 @ 0x1c*/
|
||||
#define CONFIG_SYS_PCA953X_XMC0_ROOT0 0x01 /* PU; Low if XMC is RC */
|
||||
#define CONFIG_SYS_PCA953X_XMC0_MVMR0 0x02 /* XMC EEPROM write protect */
|
||||
#define CONFIG_SYS_PCA953X_XMC0_WAKE 0x04 /* PU; XMC wake */
|
||||
#define CONFIG_SYS_PCA953X_XMC0_BIST 0x08 /* PU; XMC built in self test */
|
||||
#define CONFIG_SYS_PCA953X_XMC_PRESENT 0x10 /* PU; Low if XMC module installed */
|
||||
#define CONFIG_SYS_PCA953X_PMC_PRESENT 0x20 /* PU; Low if PMC module installed */
|
||||
#define CONFIG_SYS_PCA953X_PMC0_MONARCH 0x40 /* PMC monarch mode enable */
|
||||
#define CONFIG_SYS_PCA953X_PMC0_EREADY 0x80 /* PU; PMC PCI eready */
|
||||
|
||||
/* PCA9557 @ 0x1e*/
|
||||
#define CONFIG_SYS_PCA953X_P0_GA0 0x01 /* PU; VPX Geographical address */
|
||||
#define CONFIG_SYS_PCA953X_P0_GA1 0x02 /* PU; VPX Geographical address */
|
||||
#define CONFIG_SYS_PCA953X_P0_GA2 0x04 /* PU; VPX Geographical address */
|
||||
#define CONFIG_SYS_PCA953X_P0_GA3 0x08 /* PU; VPX Geographical address */
|
||||
#define CONFIG_SYS_PCA953X_P0_GA4 0x10 /* PU; VPX Geographical address */
|
||||
#define CONFIG_SYS_PCA953X_P0_GAP 0x20 /* PU; tied to VPX P0.GAP */
|
||||
#define CONFIG_SYS_PCA953X_P1_SYSEN 0x80 /* PU; Pulled high; tied to VPX P1.SYSCON */
|
||||
|
||||
/* PCA9557 @ 0x1f */
|
||||
#define CONFIG_SYS_PCA953X_GPIO_VPX0 0x01 /* PU */
|
||||
#define CONFIG_SYS_PCA953X_GPIO_VPX1 0x02 /* PU */
|
||||
#define CONFIG_SYS_PCA953X_GPIO_VPX2 0x04 /* PU */
|
||||
#define CONFIG_SYS_PCA953X_GPIO_VPX3 0x08 /* PU */
|
||||
#define CONFIG_SYS_PCA953X_VPX_FRU_WRCTL 0x10 /* PD; I2C master source for FRU SEEPROM */
|
||||
|
||||
/*
|
||||
* General PCI
|
||||
* Memory space is mapped 1-1, but I/O space must start from 0.
|
||||
*/
|
||||
/* PCIE1 - VPX P1 */
|
||||
#define CONFIG_SYS_PCIE1_MEM_BASE 0x80000000
|
||||
#define CONFIG_SYS_PCIE1_MEM_PHYS CONFIG_SYS_PCIE1_MEM_BASE
|
||||
#define CONFIG_SYS_PCIE1_MEM_SIZE 0x40000000 /* 1G */
|
||||
#define CONFIG_SYS_PCIE1_IO_BASE 0x00000000
|
||||
#define CONFIG_SYS_PCIE1_IO_PHYS 0xe8000000
|
||||
#define CONFIG_SYS_PCIE1_IO_SIZE 0x00800000 /* 8M */
|
||||
|
||||
/* PCIE2 - PEX8518 */
|
||||
#define CONFIG_SYS_PCIE2_MEM_BASE 0xc0000000
|
||||
#define CONFIG_SYS_PCIE2_MEM_PHYS CONFIG_SYS_PCIE2_MEM_BASE
|
||||
#define CONFIG_SYS_PCIE2_MEM_SIZE 0x10000000 /* 256M */
|
||||
#define CONFIG_SYS_PCIE2_IO_BASE 0x00000000
|
||||
#define CONFIG_SYS_PCIE2_IO_PHYS 0xe8800000
|
||||
#define CONFIG_SYS_PCIE2_IO_SIZE 0x00800000 /* 8M */
|
||||
|
||||
/*
|
||||
* Networking options
|
||||
*/
|
||||
#define CONFIG_TSEC_ENET /* tsec ethernet support */
|
||||
#define CONFIG_PHY_GIGE 1 /* Include GbE speed/duplex detection */
|
||||
#define CONFIG_NET_MULTI 1
|
||||
#define CONFIG_TSEC_TBI
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_MII_DEFAULT_TSEC 1 /* Allow unregistered phys */
|
||||
#define CONFIG_ETHPRIME "eTSEC2"
|
||||
|
||||
#define CONFIG_TSEC1 1
|
||||
#define CONFIG_TSEC1_NAME "eTSEC1"
|
||||
#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
#define TSEC1_PHY_ADDR 1
|
||||
#define TSEC1_PHYIDX 0
|
||||
#define CONFIG_HAS_ETH0
|
||||
|
||||
#define CONFIG_TSEC2 1
|
||||
#define CONFIG_TSEC2_NAME "eTSEC2"
|
||||
#define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
#define TSEC2_PHY_ADDR 2
|
||||
#define TSEC2_PHYIDX 0
|
||||
#define CONFIG_HAS_ETH1
|
||||
|
||||
/*
|
||||
* Command configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_ASKENV
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_DS4510
|
||||
#define CONFIG_CMD_DS4510_INFO
|
||||
#define CONFIG_CMD_DTT
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_ENV
|
||||
#define CONFIG_CMD_FLASH
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_JFFS2
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_NET
|
||||
#define CONFIG_CMD_PCA953X
|
||||
#define CONFIG_CMD_PCA953X_INFO
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_SNTP
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1ms ticks */
|
||||
#define CONFIG_CMDLINE_EDITING 1 /* add command line history */
|
||||
#define CONFIG_LOADADDR 0x1000000 /* default location for tftp and bootm */
|
||||
#define CONFIG_BOOTDELAY 3 /* -1 disables auto-boot */
|
||||
#define CONFIG_PANIC_HANG /* do not reset board on panic */
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
#define CONFIG_FIT 1
|
||||
#define CONFIG_FIT_VERBOSE 1
|
||||
#define CONFIG_INTEGRITY /* support booting INTEGRITY OS */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 16 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (16 << 20) /* Initial Memory map for Linux*/
|
||||
|
||||
/*
|
||||
* Boot Flags
|
||||
*/
|
||||
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
|
||||
#define BOOTFLAG_WARM 0x02 /* Software reboot */
|
||||
|
||||
/*
|
||||
* Environment Configuration
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000 /* 128k (one sector) for env */
|
||||
#define CONFIG_ENV_SIZE 0x8000
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - (256 * 1024))
|
||||
|
||||
/*
|
||||
* Flash memory map:
|
||||
* fff80000 - ffffffff Pri U-Boot (512 KB)
|
||||
* fff40000 - fff7ffff Pri U-Boot Environment (256 KB)
|
||||
* fff00000 - fff3ffff Pri FDT (256KB)
|
||||
* fef00000 - ffefffff Pri OS image (16MB)
|
||||
* f8000000 - feefffff Pri OS Use/Filesystem (111MB)
|
||||
*
|
||||
* f7f80000 - f7ffffff Sec U-Boot (512 KB)
|
||||
* f7f40000 - f7f7ffff Sec U-Boot Environment (256 KB)
|
||||
* f7f00000 - f7f3ffff Sec FDT (256KB)
|
||||
* f6f00000 - f7efffff Sec OS image (16MB)
|
||||
* f0000000 - f6efffff Sec OS Use/Filesystem (111MB)
|
||||
*/
|
||||
#define CONFIG_UBOOT1_ENV_ADDR MK_STR(0xfff80000)
|
||||
#define CONFIG_UBOOT2_ENV_ADDR MK_STR(0xf7f80000)
|
||||
#define CONFIG_FDT1_ENV_ADDR MK_STR(0xfff00000)
|
||||
#define CONFIG_FDT2_ENV_ADDR MK_STR(0xf7f00000)
|
||||
#define CONFIG_OS1_ENV_ADDR MK_STR(0xfef00000)
|
||||
#define CONFIG_OS2_ENV_ADDR MK_STR(0xf6f00000)
|
||||
|
||||
#define CONFIG_PROG_UBOOT1 \
|
||||
"$download_cmd $loadaddr $ubootfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"protect off "CONFIG_UBOOT1_ENV_ADDR" +80000; " \
|
||||
"erase "CONFIG_UBOOT1_ENV_ADDR" +80000; " \
|
||||
"cp.w $loadaddr "CONFIG_UBOOT1_ENV_ADDR" 40000; " \
|
||||
"protect on "CONFIG_UBOOT1_ENV_ADDR" +80000; " \
|
||||
"cmp.b $loadaddr "CONFIG_UBOOT1_ENV_ADDR" 80000; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_PROG_UBOOT2 \
|
||||
"$download_cmd $loadaddr $ubootfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"protect off "CONFIG_UBOOT2_ENV_ADDR" +80000; " \
|
||||
"erase "CONFIG_UBOOT2_ENV_ADDR" +80000; " \
|
||||
"cp.w $loadaddr "CONFIG_UBOOT2_ENV_ADDR" 40000; " \
|
||||
"protect on "CONFIG_UBOOT2_ENV_ADDR" +80000; " \
|
||||
"cmp.b $loadaddr "CONFIG_UBOOT2_ENV_ADDR" 80000; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_BOOT_OS_NET \
|
||||
"$download_cmd $osaddr $osfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"if test -n $fdtaddr; then " \
|
||||
"$download_cmd $fdtaddr $fdtfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"bootm $osaddr - $fdtaddr; " \
|
||||
"else; " \
|
||||
"echo FDT DOWNLOAD FAILED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"bootm $osaddr; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo OS DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_PROG_OS1 \
|
||||
"$download_cmd $osaddr $osfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"erase "CONFIG_OS1_ENV_ADDR" +$filesize; " \
|
||||
"cp.b $osaddr "CONFIG_OS1_ENV_ADDR" $filesize; " \
|
||||
"cmp.b $osaddr "CONFIG_OS1_ENV_ADDR" $filesize; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo OS PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo OS PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo OS DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_PROG_OS2 \
|
||||
"$download_cmd $osaddr $osfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"erase "CONFIG_OS2_ENV_ADDR" +$filesize; " \
|
||||
"cp.b $osaddr "CONFIG_OS2_ENV_ADDR" $filesize; " \
|
||||
"cmp.b $osaddr "CONFIG_OS2_ENV_ADDR" $filesize; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo OS PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo OS PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo OS DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_PROG_FDT1 \
|
||||
"$download_cmd $fdtaddr $fdtfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"erase "CONFIG_FDT1_ENV_ADDR" +$filesize;" \
|
||||
"cp.b $fdtaddr "CONFIG_FDT1_ENV_ADDR" $filesize; " \
|
||||
"cmp.b $fdtaddr "CONFIG_FDT1_ENV_ADDR" $filesize; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo FDT PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo FDT PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo FDT DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_PROG_FDT2 \
|
||||
"$download_cmd $fdtaddr $fdtfile; " \
|
||||
"if test $? -eq 0; then " \
|
||||
"erase "CONFIG_FDT2_ENV_ADDR" +$filesize;" \
|
||||
"cp.b $fdtaddr "CONFIG_FDT2_ENV_ADDR" $filesize; " \
|
||||
"cmp.b $fdtaddr "CONFIG_FDT2_ENV_ADDR" $filesize; " \
|
||||
"if test $? -ne 0; then " \
|
||||
"echo FDT PROGRAM FAILED; " \
|
||||
"else; " \
|
||||
"echo FDT PROGRAM SUCCEEDED; " \
|
||||
"fi; " \
|
||||
"else; " \
|
||||
"echo FDT DOWNLOAD FAILED; " \
|
||||
"fi;"
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"autoload=yes\0" \
|
||||
"download_cmd=tftp\0" \
|
||||
"console_args=console=ttyS0,115200\0" \
|
||||
"root_args=root=/dev/nfs rw\0" \
|
||||
"misc_args=ip=on\0" \
|
||||
"set_bootargs=setenv bootargs ${console_args} ${root_args} ${misc_args}\0" \
|
||||
"bootfile=/home/user/file\0" \
|
||||
"osfile=/home/user/uImage-XPedite5370\0" \
|
||||
"fdtfile=/home/user/xpedite5370.dtb\0" \
|
||||
"ubootfile=/home/user/u-boot.bin\0" \
|
||||
"fdtaddr=c00000\0" \
|
||||
"osaddr=0x1000000\0" \
|
||||
"loadaddr=0x1000000\0" \
|
||||
"prog_uboot1="CONFIG_PROG_UBOOT1"\0" \
|
||||
"prog_uboot2="CONFIG_PROG_UBOOT2"\0" \
|
||||
"prog_os1="CONFIG_PROG_OS1"\0" \
|
||||
"prog_os2="CONFIG_PROG_OS2"\0" \
|
||||
"prog_fdt1="CONFIG_PROG_FDT1"\0" \
|
||||
"prog_fdt2="CONFIG_PROG_FDT2"\0" \
|
||||
"bootcmd_net=run set_bootargs; "CONFIG_BOOT_OS_NET"\0" \
|
||||
"bootcmd_flash1=run set_bootargs; " \
|
||||
"bootm "CONFIG_OS1_ENV_ADDR" - "CONFIG_FDT1_ENV_ADDR"\0"\
|
||||
"bootcmd_flash2=run set_bootargs; " \
|
||||
"bootm "CONFIG_OS2_ENV_ADDR" - "CONFIG_FDT2_ENV_ADDR"\0"\
|
||||
"bootcmd=run bootcmd_flash1\0"
|
||||
#endif /* __CONFIG_H */
|
||||
@@ -29,6 +29,7 @@
|
||||
/* ARM asynchronous clock */
|
||||
#define AT91_MAIN_CLOCK 18429952 /* from 18.432 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 89999598 /* peripheral = main / 2 */
|
||||
#define CONFIG_SYS_AT91_PLLB 0x107c3e18 /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
|
||||
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
||||
@@ -149,7 +150,7 @@
|
||||
#define CONFIG_SYS_CBSIZE 256
|
||||
#define CONFIG_SYS_MAXARGS 16
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
#define CFG_LONGHELP 1
|
||||
#define CONFIG_SYS_LONGHELP 1
|
||||
#define CONFIG_CMDLINE_EDITING 1
|
||||
|
||||
#define ROUND(A, B) (((A) + (B)) & ~((B) - 1))
|
||||
@@ -166,4 +167,3 @@
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -235,18 +235,15 @@
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_DIAG
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_FPGA
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_NAND
|
||||
#define CONFIG_CMD_NET
|
||||
#define CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_REGINFO
|
||||
|
||||
#undef CONFIG_CMD_NFS
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
|
||||
@@ -53,6 +53,9 @@
|
||||
#define CONFIG_SYS_USE_NOR 1
|
||||
#endif
|
||||
|
||||
/* uncommnet if you want to use UBI */
|
||||
#define CONFIG_SYS_USE_UBI
|
||||
|
||||
#include <asm/arch/omap2420.h> /* get chip and board defs */
|
||||
|
||||
#define V_SCLK 12000000
|
||||
@@ -73,8 +76,9 @@
|
||||
* Size of malloc() pool
|
||||
*/
|
||||
#define CONFIG_ENV_SIZE SZ_128K /* Total Size of Environment Sector */
|
||||
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + SZ_128K)
|
||||
#define CONFIG_SYS_GBL_DATA_SIZE 128 /* bytes reserved for initial data */
|
||||
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + SZ_1M)
|
||||
/* bytes reserved for initial data */
|
||||
#define CONFIG_SYS_GBL_DATA_SIZE 128
|
||||
|
||||
/*
|
||||
* Hardware drivers
|
||||
@@ -116,6 +120,13 @@
|
||||
#define CONFIG_CMD_DIAG
|
||||
#define CONFIG_CMD_ONENAND
|
||||
|
||||
#ifdef CONFIG_SYS_USE_UBI
|
||||
#define CONFIG_CMD_JFFS2
|
||||
#define CONFIG_CMD_UBI
|
||||
#define CONFIG_RBTREE
|
||||
#define CONFIG_MTD_PARTITIONS
|
||||
#endif
|
||||
|
||||
#undef CONFIG_CMD_AUTOSCRIPT
|
||||
|
||||
#ifndef CONFIG_SYS_USE_NOR
|
||||
@@ -133,24 +144,39 @@
|
||||
#define CONFIG_BOOTFILE "uImage"
|
||||
#define CONFIG_ETHADDR 00:0E:99:00:24:20
|
||||
|
||||
#ifdef CONFIG_APOLLON_PLUS
|
||||
# define CONFIG_BOOTARGS "root=/dev/nfs rw mem=64M console=ttyS0,115200n8 ip=192.168.116.25:192.168.116.1:192.168.116.1:255.255.255.0:apollon:eth0:off nfsroot=/tftpboot/nfsroot profile=2"
|
||||
#ifdef CONFIG_APOLLON_PLUS
|
||||
#define CONFIG_SYS_MEM "mem=64M"
|
||||
#else
|
||||
# define CONFIG_BOOTARGS "root=/dev/nfs rw mem=128M console=ttyS0,115200n8 ip=192.168.116.25:192.168.116.1:192.168.116.1:255.255.255.0:apollon:eth0:off nfsroot=/tftpboot/nfsroot profile=2"
|
||||
#define CONFIG_SYS_MEM "mem=128"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_USE_UBI
|
||||
#define CONFIG_SYS_UBI "ubi.mtd=4"
|
||||
#else
|
||||
#define CONFIG_SYS_UBI ""
|
||||
#endif
|
||||
|
||||
#define CONFIG_BOOTARGS "root=/dev/nfs rw " CONFIG_SYS_MEM \
|
||||
" console=ttyS0,115200n8" \
|
||||
" ip=192.168.116.25:192.168.116.1:192.168.116.1:255.255.255.0:" \
|
||||
"apollon:eth0:off nfsroot=/tftpboot/nfsroot profile=2 " \
|
||||
CONFIG_SYS_UBI
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"Image=tftp 0x80008000 Image; go 0x80008000\0" \
|
||||
"zImage=tftp 0x80180000 zImage; go 0x80180000\0" \
|
||||
"uImage=tftp 0x80180000 uImage; bootm 0x80180000\0" \
|
||||
"uboot=tftp 0x80008000 u-boot.bin; go 0x80008000\0" \
|
||||
"xloader=tftp 0x80180000 x-load.bin; cp.w 0x80180000 0x00000400 0x1000; go 0x00000400\0" \
|
||||
"xloader=tftp 0x80180000 x-load.bin; " \
|
||||
" cp.w 0x80180000 0x00000400 0x1000; go 0x00000400\0" \
|
||||
"syncmode50=mw.w 0x1e442 0xc0c4; mw 0x6800a060 0xe30d1201\0" \
|
||||
"syncmode=mw.w 0x1e442 0xe0f4; mw 0x6800a060 0xe30d1201\0" \
|
||||
"norboot=cp32 0x18040000 0x80008000 0x200000; go 0x80008000\0" \
|
||||
"oneboot=onenand read 0x80008000 0x40000 0x200000; go 0x80008000\0"\
|
||||
"oneboot=onenand read 0x80008000 0x40000 0x200000; go 0x80008000\0" \
|
||||
"onesyncboot=run syncmode oneboot\0" \
|
||||
"updateb=tftp 0x80180000 u-boot-onenand.bin; onenand erase 0x0 0x20000; onenand write 0x80180000 0x0 0x20000\0" \
|
||||
"updateb=tftp 0x80180000 u-boot-onenand.bin; " \
|
||||
" onenand erase 0x0 0x20000; onenand write 0x80180000 0x0 0x20000\0" \
|
||||
"ubi=setenv bootargs ${bootargs} ubi.mtd=4 ${mtdparts}; run uImage\0" \
|
||||
"bootcmd=run uboot\0"
|
||||
|
||||
/*
|
||||
@@ -164,14 +190,15 @@
|
||||
/* Print Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START (OMAP2420_SDRC_CS0) /* memtest works on */
|
||||
/* Boot Argument Buffer Size */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
|
||||
/* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_START (OMAP2420_SDRC_CS0)
|
||||
#define CONFIG_SYS_MEMTEST_END (OMAP2420_SDRC_CS0+SZ_31M)
|
||||
|
||||
#undef CONFIG_SYS_CLKS_IN_HZ /* everything, incl board info, in Hz */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR (OMAP2420_SDRC_CS0) /* default load address */
|
||||
/* default load address */
|
||||
#define CONFIG_SYS_LOAD_ADDR (OMAP2420_SDRC_CS0)
|
||||
|
||||
/* The 2420 has 12 GP timers, they can be driven by the SysClk (12/13/19.2)
|
||||
* or by 32KHz clk, or from external sig. This rate is divided by a local
|
||||
@@ -211,13 +238,15 @@
|
||||
# define CONFIG_SYS_MAX_FLASH_BANKS 1
|
||||
# define CONFIG_SYS_MAX_FLASH_SECT 1024
|
||||
/*-----------------------------------------------------------------------
|
||||
|
||||
* CFI FLASH driver setup
|
||||
*/
|
||||
# define CONFIG_SYS_FLASH_CFI 1 /* Flash memory is CFI compliant */
|
||||
/* Flash memory is CFI compliant */
|
||||
# define CONFIG_SYS_FLASH_CFI 1
|
||||
# define CONFIG_FLASH_CFI_DRIVER 1 /* Use drivers/cfi_flash.c */
|
||||
/* #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 */ /* Use buffered writes (~10x faster) */
|
||||
# define CONFIG_SYS_FLASH_PROTECTION 1 /* Use h/w sector protection*/
|
||||
/* Use buffered writes (~10x faster) */
|
||||
/* #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 */
|
||||
/* Use h/w sector protection*/
|
||||
# define CONFIG_SYS_FLASH_PROTECTION 1
|
||||
|
||||
#else /* !CONFIG_SYS_USE_NOR */
|
||||
# define CONFIG_SYS_NO_FLASH 1
|
||||
@@ -228,4 +257,15 @@
|
||||
#define CONFIG_ENV_IS_IN_ONENAND 1
|
||||
#define CONFIG_ENV_ADDR 0x00020000
|
||||
|
||||
#ifdef CONFIG_SYS_USE_UBI
|
||||
#define CONFIG_JFFS2_CMDLINE
|
||||
#define MTDIDS_DEFAULT "onenand0=onenand"
|
||||
#define MTDPARTS_DEFAULT "mtdparts=onenand:128k(bootloader)," \
|
||||
"128k(params)," \
|
||||
"2m(kernel)," \
|
||||
"16m(rootfs)," \
|
||||
"32m(fs)," \
|
||||
"-(ubifs)"
|
||||
#endif
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
||||
@@ -29,9 +29,11 @@
|
||||
|
||||
/* ARM asynchronous clock */
|
||||
#define AT91_CPU_NAME "AT91CAP9"
|
||||
#define AT91_MAIN_CLOCK 200000000 /* from 12 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 100000000 /* peripheral = main / 2 */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
#define AT91_MAIN_CLOCK 12000000 /* 12 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 100000000 /* peripheral */
|
||||
#define AT91_CPU_CLOCK 200000000 /* cpu */
|
||||
#define CONFIG_SYS_AT91_PLLB 0x10073e01 /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
|
||||
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
||||
|
||||
@@ -136,6 +138,8 @@
|
||||
#define CONFIG_SYS_USB_OHCI_REGS_BASE 0x00700000 /* AT91_BASE_UHP */
|
||||
#define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91cap9"
|
||||
#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
||||
#define CONFIG_USB_STORAGE 1
|
||||
#define CONFIG_CMD_FAT 1
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x72000000 /* load address */
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Rick Bronson <rick@efn.org>
|
||||
*
|
||||
* Configuation settings for the AT91RM9200DK board.
|
||||
* Configuration settings for the AT91RM9200DK board.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
@@ -45,33 +45,35 @@
|
||||
#ifndef CONFIG_SKIP_LOWLEVEL_INIT
|
||||
#define CONFIG_SYS_USE_MAIN_OSCILLATOR 1
|
||||
/* flash */
|
||||
#define MC_PUIA_VAL 0x00000000
|
||||
#define MC_PUP_VAL 0x00000000
|
||||
#define MC_PUER_VAL 0x00000000
|
||||
#define MC_ASR_VAL 0x00000000
|
||||
#define MC_AASR_VAL 0x00000000
|
||||
#define EBI_CFGR_VAL 0x00000000
|
||||
#define SMC_CSR0_VAL 0x00003284 /* 16bit, 2 TDF, 4 WS */
|
||||
#define CONFIG_SYS_MC_PUIA_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_PUP_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_PUER_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_ASR_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_AASR_VAL 0x00000000
|
||||
#define CONFIG_SYS_EBI_CFGR_VAL 0x00000000
|
||||
#define CONFIG_SYS_SMC_CSR0_VAL 0x00003284 /* 16bit, 2 TDF, 4 WS */
|
||||
|
||||
/* clocks */
|
||||
#define PLLAR_VAL 0x20263E04 /* 179.712000 MHz for PCK */
|
||||
#define PLLBR_VAL 0x10483E0E /* 48.054857 MHz (divider by 2 for USB) */
|
||||
#define MCKR_VAL 0x00000202 /* PCK/3 = MCK Master Clock = 59.904000MHz from PLLA */
|
||||
#define CONFIG_SYS_PLLAR_VAL 0x20263E04 /* 179.712000 MHz for PCK */
|
||||
#define CONFIG_SYS_PLLBR_VAL 0x10483E0E /* 48.054857 MHz (divider by 2 for USB) */
|
||||
#define CONFIG_SYS_MCKR_VAL 0x00000202 /* PCK/3 = MCK Master Clock = 59.904000MHz from PLLA */
|
||||
|
||||
/* sdram */
|
||||
#define PIOC_ASR_VAL 0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
|
||||
#define PIOC_BSR_VAL 0x00000000
|
||||
#define PIOC_PDR_VAL 0xFFFF0000
|
||||
#define EBI_CSA_VAL 0x00000002 /* CS1=SDRAM */
|
||||
#define SDRC_CR_VAL 0x2188c155 /* set up the SDRAM */
|
||||
#define SDRAM 0x20000000 /* address of the SDRAM */
|
||||
#define SDRAM1 0x20000080 /* address of the SDRAM */
|
||||
#define SDRAM_VAL 0x00000000 /* value written to SDRAM */
|
||||
#define SDRC_MR_VAL 0x00000002 /* Precharge All */
|
||||
#define SDRC_MR_VAL1 0x00000004 /* refresh */
|
||||
#define SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
|
||||
#define SDRC_MR_VAL3 0x00000000 /* Normal Mode */
|
||||
#define SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
|
||||
#define CONFIG_SYS_PIOC_ASR_VAL 0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
|
||||
#define CONFIG_SYS_PIOC_BSR_VAL 0x00000000
|
||||
#define CONFIG_SYS_PIOC_PDR_VAL 0xFFFF0000
|
||||
#define CONFIG_SYS_EBI_CSA_VAL 0x00000002 /* CS1=CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRC_CR_VAL 0x2188c155 /* set up the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM 0x20000000 /* address of the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM1 0x20000080 /* address of the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM_VAL 0x00000000 /* value written to CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL 0x00000002 /* Precharge All */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL1 0x00000004 /* refresh */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL3 0x00000000 /* Normal Mode */
|
||||
#define CONFIG_SYS_SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
|
||||
#else
|
||||
#define CONFIG_SKIP_RELOCATE_UBOOT
|
||||
#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
|
||||
/*
|
||||
* Size of malloc() pool
|
||||
|
||||
@@ -28,9 +28,12 @@
|
||||
#define __CONFIG_H
|
||||
|
||||
/* ARM asynchronous clock */
|
||||
#define AT91_MAIN_CLOCK 198656000 /* from 18.432 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 99328000 /* peripheral = main / 2 */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
#define AT91_CPU_NAME "AT91SAM9260"
|
||||
#define AT91_MAIN_CLOCK 18432000 /* 18.432 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 100000000 /* peripheral */
|
||||
#define AT91_CPU_CLOCK 200000000 /* cpu */
|
||||
#define CONFIG_SYS_AT91_PLLB 0x107c3e18 /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
|
||||
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
||||
|
||||
@@ -121,16 +124,13 @@
|
||||
#define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91sam9260"
|
||||
#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
||||
#define CONFIG_USB_STORAGE 1
|
||||
#define CONFIG_CMD_FAT 1
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
|
||||
#define CONFIG_SYS_MEMTEST_END 0x23e00000
|
||||
|
||||
#undef CONFIG_SYS_USE_DATAFLASH_CS0
|
||||
#define CONFIG_SYS_USE_DATAFLASH_CS1 1
|
||||
#undef CONFIG_SYS_USE_NANDFLASH
|
||||
|
||||
#ifdef CONFIG_SYS_USE_DATAFLASH_CS0
|
||||
|
||||
/* bootstrap + u-boot + env + linux in dataflash on CS0 */
|
||||
|
||||
@@ -29,9 +29,10 @@
|
||||
|
||||
/* ARM asynchronous clock */
|
||||
#define AT91_CPU_NAME "AT91SAM9261"
|
||||
#define AT91_MAIN_CLOCK 198656000 /* from 18.432 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 99328000 /* peripheral = main / 2 */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
#define AT91_MAIN_CLOCK 18432000 /* 18.432 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 100000000 /* peripheral */
|
||||
#define AT91_CPU_CLOCK 200000000 /* cpu */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
|
||||
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
||||
|
||||
@@ -136,21 +137,19 @@
|
||||
#define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91sam9261"
|
||||
#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
||||
#define CONFIG_USB_STORAGE 1
|
||||
#define CONFIG_CMD_FAT 1
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
|
||||
#define CONFIG_SYS_MEMTEST_END 0x23e00000
|
||||
|
||||
#define CONFIG_SYS_USE_DATAFLASH_CS0 1
|
||||
#undef CONFIG_SYS_USE_NANDFLASH
|
||||
|
||||
#ifdef CONFIG_SYS_USE_DATAFLASH_CS0
|
||||
|
||||
/* bootstrap + u-boot + env + linux in dataflash on CS0 */
|
||||
#define CONFIG_ENV_IS_IN_DATAFLASH 1
|
||||
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
|
||||
#define CONFIG_ENV_OFFSET 0x4200
|
||||
#define CONFIG_ENV_OFFSET 0x4200
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
|
||||
#define CONFIG_ENV_SIZE 0x4200
|
||||
#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm"
|
||||
@@ -159,6 +158,20 @@
|
||||
"mtdparts=at91_nand:-(root) " \
|
||||
"rw rootfstype=jffs2"
|
||||
|
||||
#elif CONFIG_SYS_USE_DATAFLASH_CS3
|
||||
|
||||
/* bootstrap + u-boot + env + linux in dataflash on CS3 */
|
||||
#define CONFIG_ENV_IS_IN_DATAFLASH 1
|
||||
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3 + 0x8400)
|
||||
#define CONFIG_ENV_OFFSET 0x4200
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3 + CONFIG_ENV_OFFSET)
|
||||
#define CONFIG_ENV_SIZE 0x4200
|
||||
#define CONFIG_BOOTCOMMAND "cp.b 0xD0042000 0x22000000 0x210000; bootm"
|
||||
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
|
||||
"root=/dev/mtdblock0 " \
|
||||
"mtdparts=at91_nand:-(root) " \
|
||||
"rw rootfstype=jffs2"
|
||||
|
||||
#else /* CONFIG_SYS_USE_NANDFLASH */
|
||||
|
||||
/* bootstrap + u-boot + env + linux in nandflash */
|
||||
|
||||
@@ -29,9 +29,11 @@
|
||||
|
||||
/* ARM asynchronous clock */
|
||||
#define AT91_CPU_NAME "AT91SAM9263"
|
||||
#define AT91_MAIN_CLOCK 199919000 /* from 16.367 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 99959500 /* peripheral = main / 2 */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
#define AT91_MAIN_CLOCK 16367660 /* 16.367 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 100000000 /* peripheral */
|
||||
#define AT91_CPU_CLOCK 200000000 /* cpu */
|
||||
#define CONFIG_SYS_AT91_PLLB 0x133a3e8d /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
|
||||
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
||||
|
||||
@@ -142,15 +144,13 @@
|
||||
#define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91sam9263"
|
||||
#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
||||
#define CONFIG_USB_STORAGE 1
|
||||
#define CONFIG_CMD_FAT 1
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
|
||||
#define CONFIG_SYS_MEMTEST_END 0x23e00000
|
||||
|
||||
#define CONFIG_SYS_USE_DATAFLASH 1
|
||||
#undef CONFIG_SYS_USE_NANDFLASH
|
||||
|
||||
#ifdef CONFIG_SYS_USE_DATAFLASH
|
||||
|
||||
/* bootstrap + u-boot + env + linux in dataflash on CS0 */
|
||||
|
||||
@@ -29,9 +29,10 @@
|
||||
|
||||
/* ARM asynchronous clock */
|
||||
#define AT91_CPU_NAME "AT91SAM9RL"
|
||||
#define AT91_MAIN_CLOCK 200000000 /* from 12.000 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 100000000 /* peripheral = main / 2 */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
#define AT91_MAIN_CLOCK 12000000 /* 12 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 100000000 /* peripheral */
|
||||
#define AT91_CPU_CLOCK 200000000 /* cpu */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
|
||||
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
||||
|
||||
@@ -117,9 +118,6 @@
|
||||
#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
|
||||
#define CONFIG_SYS_MEMTEST_END 0x23e00000
|
||||
|
||||
#define CONFIG_SYS_USE_DATAFLASH 1
|
||||
#undef CONFIG_SYS_USE_NANDFLASH
|
||||
|
||||
#ifdef CONFIG_SYS_USE_DATAFLASH
|
||||
|
||||
/* bootstrap + u-boot + env + linux in dataflash on CS0 */
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
#define CONFIG_SYS_FLASH_BASE_PHYS (((u64)CONFIG_SYS_FLASH_BASE_PHYS_H << 32) | \
|
||||
(u64)CONFIG_SYS_FLASH_BASE_PHYS_L)
|
||||
|
||||
#define CONFIG_SYS_OCM_BASE 0xE3000000 /* OCM: 16k */
|
||||
#define CONFIG_SYS_OCM_BASE 0xE3000000 /* OCM: 64k */
|
||||
#define CONFIG_SYS_SRAM_BASE 0xE8000000 /* SRAM: 256k */
|
||||
#define CONFIG_SYS_LOCAL_CONF_REGS 0xEF000000
|
||||
|
||||
|
||||
@@ -44,33 +44,35 @@
|
||||
#ifndef CONFIG_SKIP_LOWLEVEL_INIT
|
||||
#define CONFIG_SYS_USE_MAIN_OSCILLATOR 1
|
||||
/* flash */
|
||||
#define MC_PUIA_VAL 0x00000000
|
||||
#define MC_PUP_VAL 0x00000000
|
||||
#define MC_PUER_VAL 0x00000000
|
||||
#define MC_ASR_VAL 0x00000000
|
||||
#define MC_AASR_VAL 0x00000000
|
||||
#define EBI_CFGR_VAL 0x00000000
|
||||
#define SMC_CSR0_VAL 0x100032ad /* 16bit, 2 TDF, 4 WS */
|
||||
#define CONFIG_SYS_MC_PUIA_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_PUP_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_PUER_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_ASR_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_AASR_VAL 0x00000000
|
||||
#define CONFIG_SYS_EBI_CFGR_VAL 0x00000000
|
||||
#define CONFIG_SYS_SMC_CSR0_VAL 0x100032ad /* 16bit, 2 TDF, 4 WS */
|
||||
|
||||
/* clocks */
|
||||
#define PLLAR_VAL 0x2026BE04 /* 179,712 MHz for PCK */
|
||||
#define PLLBR_VAL 0x10483E0E /* 48.054857 MHz (divider by 2 for USB) */
|
||||
#define MCKR_VAL 0x00000202 /* PCK/3 = MCK Master Clock = 69.120MHz from PLLA */
|
||||
#define CONFIG_SYS_PLLAR_VAL 0x2026BE04 /* 179,712 MHz for PCK */
|
||||
#define CONFIG_SYS_PLLBR_VAL 0x10483E0E /* 48.054857 MHz (divider by 2 for USB) */
|
||||
#define CONFIG_SYS_MCKR_VAL 0x00000202 /* PCK/3 = MCK Master Clock = 69.120MHz from PLLA */
|
||||
|
||||
/* sdram */
|
||||
#define PIOC_ASR_VAL 0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
|
||||
#define PIOC_BSR_VAL 0x00000000
|
||||
#define PIOC_PDR_VAL 0xFFFF0000
|
||||
#define EBI_CSA_VAL 0x00000002 /* CS1=SDRAM */
|
||||
#define SDRC_CR_VAL 0x3399c1d4 /* set up the SDRAM */
|
||||
#define SDRAM 0x20000000 /* address of the SDRAM */
|
||||
#define SDRAM1 0x20000080 /* address of the SDRAM */
|
||||
#define SDRAM_VAL 0x00000000 /* value written to SDRAM */
|
||||
#define SDRC_MR_VAL 0x00000002 /* Precharge All */
|
||||
#define SDRC_MR_VAL1 0x00000004 /* refresh */
|
||||
#define SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
|
||||
#define SDRC_MR_VAL3 0x00000000 /* Normal Mode */
|
||||
#define SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
|
||||
#define CONFIG_SYS_PIOC_ASR_VAL 0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
|
||||
#define CONFIG_SYS_PIOC_BSR_VAL 0x00000000
|
||||
#define CONFIG_SYS_PIOC_PDR_VAL 0xFFFF0000
|
||||
#define CONFIG_SYS_EBI_CSA_VAL 0x00000002 /* CS1=CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRC_CR_VAL 0x3399c1d4 /* set up the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM 0x20000000 /* address of the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM1 0x20000080 /* address of the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM_VAL 0x00000000 /* value written to CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL 0x00000002 /* Precharge All */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL1 0x00000004 /* refresh */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL3 0x00000000 /* Normal Mode */
|
||||
#define CONFIG_SYS_SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
|
||||
#else
|
||||
#define CONFIG_SKIP_RELOCATE_UBOOT
|
||||
#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
|
||||
|
||||
/*
|
||||
|
||||
@@ -45,33 +45,35 @@
|
||||
#ifndef CONFIG_SKIP_LOWLEVEL_INIT
|
||||
#define CONFIG_SYS_USE_MAIN_OSCILLATOR 1
|
||||
/* flash */
|
||||
#define MC_PUIA_VAL 0x00000000
|
||||
#define MC_PUP_VAL 0x00000000
|
||||
#define MC_PUER_VAL 0x00000000
|
||||
#define MC_ASR_VAL 0x00000000
|
||||
#define MC_AASR_VAL 0x00000000
|
||||
#define EBI_CFGR_VAL 0x00000000
|
||||
#define SMC_CSR0_VAL 0x00003284 /* 16bit, 2 TDF, 4 WS */
|
||||
#define CONFIG_SYS_MC_PUIA_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_PUP_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_PUER_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_ASR_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_AASR_VAL 0x00000000
|
||||
#define CONFIG_SYS_EBI_CFGR_VAL 0x00000000
|
||||
#define CONFIG_SYS_SMC_CSR0_VAL 0x00003284 /* 16bit, 2 TDF, 4 WS */
|
||||
|
||||
/* clocks */
|
||||
#define PLLAR_VAL 0x2031BE01 /* 184.320000 MHz for PCK */
|
||||
#define PLLBR_VAL 0x128A3E19 /* 47.996928 MHz (divider by 2 for USB) */
|
||||
#define MCKR_VAL 0x00000302 /* PCK/4 = MCK Master Clock = 46.080000 MHz from PLLA */
|
||||
#define CONFIG_SYS_PLLAR_VAL 0x2031BE01 /* 184.320000 MHz for PCK */
|
||||
#define CONFIG_SYS_PLLBR_VAL 0x128A3E19 /* 47.996928 MHz (divider by 2 for USB) */
|
||||
#define CONFIG_SYS_MCKR_VAL 0x00000302 /* PCK/4 = MCK Master Clock = 46.080000 MHz from PLLA */
|
||||
|
||||
/* sdram */
|
||||
#define PIOC_ASR_VAL 0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
|
||||
#define PIOC_BSR_VAL 0x00000000
|
||||
#define PIOC_PDR_VAL 0xFFFF0000
|
||||
#define EBI_CSA_VAL 0x00000002 /* CS1=SDRAM */
|
||||
#define SDRC_CR_VAL 0x21914159 /* set up the SDRAM */
|
||||
#define SDRAM 0x20000000 /* address of the SDRAM */
|
||||
#define SDRAM1 0x20000080 /* address of the SDRAM */
|
||||
#define SDRAM_VAL 0x00000000 /* value written to SDRAM */
|
||||
#define SDRC_MR_VAL 0x00000002 /* Precharge All */
|
||||
#define SDRC_MR_VAL1 0x00000004 /* refresh */
|
||||
#define SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
|
||||
#define SDRC_MR_VAL3 0x00000000 /* Normal Mode */
|
||||
#define SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
|
||||
#define CONFIG_SYS_PIOC_ASR_VAL 0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
|
||||
#define CONFIG_SYS_PIOC_BSR_VAL 0x00000000
|
||||
#define CONFIG_SYS_PIOC_PDR_VAL 0xFFFF0000
|
||||
#define CONFIG_SYS_EBI_CSA_VAL 0x00000002 /* CS1=CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRC_CR_VAL 0x21914159 /* set up the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM 0x20000000 /* address of the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM1 0x20000080 /* address of the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM_VAL 0x00000000 /* value written to CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL 0x00000002 /* Precharge All */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL1 0x00000004 /* refresh */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL3 0x00000000 /* Normal Mode */
|
||||
#define CONFIG_SYS_SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
|
||||
#else
|
||||
#define CONFIG_SKIP_RELOCATE_UBOOT
|
||||
#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
|
||||
/*
|
||||
* Size of malloc() pool
|
||||
|
||||
@@ -53,6 +53,13 @@
|
||||
#define CONFIG_HOSTNAME katmai
|
||||
#include "amcc-common.h"
|
||||
|
||||
/*
|
||||
* For booting 256K-paged Linux we should have 16MB of memory
|
||||
* for Linux initial memory map
|
||||
*/
|
||||
#undef CONFIG_SYS_BOOTMAPSZ
|
||||
#define CONFIG_SYS_BOOTMAPSZ (16 << 20)
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
|
||||
#undef CONFIG_SHOW_BOOT_PROGRESS
|
||||
|
||||
@@ -189,6 +196,7 @@
|
||||
/*
|
||||
* Commands additional to the ones defined in amcc-common.h
|
||||
*/
|
||||
#define CONFIG_CMD_EXT2
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_SDRAM
|
||||
|
||||
@@ -51,6 +51,8 @@
|
||||
#define CONFIG_INITRD_TAG 1
|
||||
|
||||
#define CONFIG_SKIP_LOWLEVEL_INIT
|
||||
#define CONFIG_SKIP_RELOCATE_UBOOT /* undef this for direct boot from */
|
||||
/* NOR flash without preloader */
|
||||
|
||||
#define CONFIG_SYS_LONGHELP
|
||||
|
||||
|
||||
@@ -41,6 +41,39 @@
|
||||
#define CONFIG_INITRD_TAG 1
|
||||
|
||||
#define CONFIG_MENUPROMPT "."
|
||||
/*
|
||||
* LowLevel Init
|
||||
*/
|
||||
#define CONFIG_SYS_USE_MAIN_OSCILLATOR 1
|
||||
/* flash */
|
||||
#define CONFIG_SYS_MC_PUIA_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_PUP_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_PUER_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_ASR_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_AASR_VAL 0x00000000
|
||||
#define CONFIG_SYS_EBI_CFGR_VAL 0x00000000
|
||||
#define CONFIG_SYS_SMC_CSR0_VAL 0x00003284 /* 16bit, 2 TDF, 4 WS */
|
||||
|
||||
/* clocks */
|
||||
#define CONFIG_SYS_PLLAR_VAL 0x20263E04 /* 179.712000 MHz for PCK */
|
||||
#define CONFIG_SYS_PLLBR_VAL 0x10483E0E /* 48.054857 MHz (divider by 2 for USB) */
|
||||
/* PCK/3 = MCK Master Clock = 59.904000MHz from PLLA */
|
||||
#define CONFIG_SYS_MCKR_VAL 0x00000202
|
||||
|
||||
/* sdram */
|
||||
#define CONFIG_SYS_PIOC_ASR_VAL 0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
|
||||
#define CONFIG_SYS_PIOC_BSR_VAL 0x00000000
|
||||
#define CONFIG_SYS_PIOC_PDR_VAL 0xFFFF0000
|
||||
#define CONFIG_SYS_EBI_CSA_VAL 0x00000002 /* CS1=CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRC_CR_VAL 0x2188c155 /* set up the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM 0x20000000 /* address of the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM1 0x20000080 /* address of the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM_VAL 0x00000000 /* value written to CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL 0x00000002 /* Precharge All */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL1 0x00000004 /* refresh */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL3 0x00000000 /* Normal Mode */
|
||||
#define CONFIG_SYS_SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
|
||||
|
||||
/*
|
||||
* Size of malloc() pool
|
||||
|
||||
@@ -37,17 +37,20 @@
|
||||
#define CONFIG_SERIAL_BASE XILINX_UARTLITE_BASEADDR
|
||||
#define CONFIG_BAUDRATE XILINX_UARTLITE_BAUDRATE
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { CONFIG_BAUDRATE }
|
||||
#else
|
||||
#ifdef XILINX_UART16550_BASEADDR
|
||||
#define CONFIG_SYS_NS16550
|
||||
#elif XILINX_UART16550_BASEADDR
|
||||
#define CONFIG_SYS_NS16550 1
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 4
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE -4
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#define CONFIG_SYS_NS16550_COM1 XILINX_UART16550_BASEADDR
|
||||
#define CONFIG_SYS_NS16550_COM1 (XILINX_UART16550_BASEADDR + 0x1000 + 0x3)
|
||||
#define CONFIG_SYS_NS16550_CLK XILINX_UART16550_CLOCK_HZ
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 115200 }
|
||||
#endif
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
|
||||
#else
|
||||
#error Undefined uart
|
||||
#endif
|
||||
|
||||
/* setting reset address */
|
||||
@@ -274,6 +277,5 @@
|
||||
"1m(romfs),1m(cramfs),-(jffs2)\0"
|
||||
|
||||
#define CONFIG_CMDLINE_EDITING
|
||||
#define CONFIG_OF_LIBFDT 1
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
||||
@@ -49,33 +49,35 @@
|
||||
#ifndef CONFIG_SKIP_LOWLEVEL_INIT
|
||||
#define CONFIG_SYS_USE_MAIN_OSCILLATOR 1
|
||||
/* flash */
|
||||
#define MC_PUIA_VAL 0x00000000
|
||||
#define MC_PUP_VAL 0x00000000
|
||||
#define MC_PUER_VAL 0x00000000
|
||||
#define MC_ASR_VAL 0x00000000
|
||||
#define MC_AASR_VAL 0x00000000
|
||||
#define EBI_CFGR_VAL 0x00000000
|
||||
#define SMC_CSR0_VAL 0x00003084 /* 16bit, 2 TDF, 4 WS */
|
||||
#define CONFIG_SYS_MC_PUIA_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_PUP_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_PUER_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_ASR_VAL 0x00000000
|
||||
#define CONFIG_SYS_MC_AASR_VAL 0x00000000
|
||||
#define CONFIG_SYS_EBI_CFGR_VAL 0x00000000
|
||||
#define CONFIG_SYS_SMC_CSR0_VAL 0x00003084 /* 16bit, 2 TDF, 4 WS */
|
||||
|
||||
/* clocks */
|
||||
#define PLLAR_VAL 0x20263E04 /* 180 MHz for PCK */
|
||||
#define PLLBR_VAL 0x1048bE0E /* 48 MHz (divider by 2 for USB) */
|
||||
#define MCKR_VAL 0x00000202 /* PCK/3 = MCK Master Clock = 60MHz from PLLA */
|
||||
#define CONFIG_SYS_PLLAR_VAL 0x20263E04 /* 180 MHz for PCK */
|
||||
#define CONFIG_SYS_PLLBR_VAL 0x1048bE0E /* 48 MHz (divider by 2 for USB) */
|
||||
#define CONFIG_SYS_MCKR_VAL 0x00000202 /* PCK/3 = MCK Master Clock = 60MHz from PLLA */
|
||||
|
||||
/* sdram */
|
||||
#define PIOC_ASR_VAL 0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
|
||||
#define PIOC_BSR_VAL 0x00000000
|
||||
#define PIOC_PDR_VAL 0xFFFF0000
|
||||
#define EBI_CSA_VAL 0x00000002 /* CS1=SDRAM */
|
||||
#define SDRC_CR_VAL 0x3211295A /* set up the SDRAM */
|
||||
#define SDRAM 0x20000000 /* address of the SDRAM */
|
||||
#define SDRAM1 0x20000020 /* address of the SDRAM */
|
||||
#define SDRAM_VAL 0x00000000 /* value written to SDRAM */
|
||||
#define SDRC_MR_VAL 0x00000002 /* Precharge All */
|
||||
#define SDRC_MR_VAL1 0x00000004 /* refresh */
|
||||
#define SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
|
||||
#define SDRC_MR_VAL3 0x00000000 /* Normal Mode */
|
||||
#define SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
|
||||
#define CONFIG_SYS_PIOC_ASR_VAL 0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
|
||||
#define CONFIG_SYS_PIOC_BSR_VAL 0x00000000
|
||||
#define CONFIG_SYS_PIOC_PDR_VAL 0xFFFF0000
|
||||
#define CONFIG_SYS_EBI_CSA_VAL 0x00000002 /* CS1=CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRC_CR_VAL 0x3211295A /* set up the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM 0x20000000 /* address of the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM1 0x20000020 /* address of the CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRAM_VAL 0x00000000 /* value written to CONFIG_SYS_SDRAM */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL 0x00000002 /* Precharge All */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL1 0x00000004 /* refresh */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
|
||||
#define CONFIG_SYS_SDRC_MR_VAL3 0x00000000 /* Normal Mode */
|
||||
#define CONFIG_SYS_SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
|
||||
#else
|
||||
#define CONFIG_SKIP_RELOCATE_UBOOT
|
||||
#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
|
||||
|
||||
/*
|
||||
|
||||
@@ -31,10 +31,13 @@
|
||||
#define CONFIG_MS7722SE 1
|
||||
|
||||
#define CONFIG_CMD_FLASH
|
||||
#define CONFIG_CMD_JFFS2
|
||||
#define CONFIG_CMD_NET
|
||||
#define CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_DFL
|
||||
#define CONFIG_CMD_SDRAM
|
||||
#define CONFIG_CMD_MEMORY
|
||||
#define CONFIG_CMD_ENV
|
||||
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
|
||||
@@ -202,8 +202,9 @@
|
||||
#define CONFIG_ETHADDR 00:60:13:00:00:00 /* Netstal Machines AG MAC */
|
||||
#define CONFIG_OVERWRITE_ETHADDR_ONCE
|
||||
|
||||
#define CONFIG_SYS_TFTP_LOADADDR 0x01000000
|
||||
|
||||
#define CONFIG_SYS_TFTP_LOADADDR 0x01000000
|
||||
#define CONFIG_SYS_VXWORKS_ADD_PARAMS "u=dpu pw=netstal8752"
|
||||
#define CONFIG_SYS_VXWORKS_SERVERNAME "c"
|
||||
/*
|
||||
* General common environment variables shared by all boards produced by Netstal Maschinen
|
||||
*/
|
||||
@@ -223,19 +224,17 @@
|
||||
"fdt_addr_r=800000\0" \
|
||||
"hostname=" xstr(CONFIG_HOSTNAME) "\0" \
|
||||
"bootfile=" xstr(CONFIG_HOSTNAME) "/uImage\0" \
|
||||
"load=tftp 200000 " xstr(CONFIG_HOSTNAME) "/u-boot.bin\0" \
|
||||
"update=protect off " xstr(CONFIG_SYS_MONITOR_BASE) " FFFFFFFF;" \
|
||||
"era " xstr(CONFIG_SYS_MONITOR_BASE) " FFFFFFFF;" \
|
||||
"cp.b ${fileaddr} " xstr(CONFIG_SYS_MONITOR_BASE) " ${filesize};" \
|
||||
"setenv filesize\0" \
|
||||
"upd=run load update\0" \
|
||||
"vx_rom=" xstr(CONFIG_HOSTNAME) "/" \
|
||||
xstr(CONFIG_HOSTNAME) "_vx_rom\0" \
|
||||
"vx=tftp " xstr(CONFIG_SYS_TFTP_LOADADDR) " ${vx_rom};run vxargs;" \
|
||||
"bootvx\0" \
|
||||
"vxargs=setenv bootargs emac(0,0)c:${vx_rom} e=${ipaddr}" \
|
||||
" h=${serverip} u=dpu pw=netstal8752 " \
|
||||
"tn=" xstr(CONFIG_HOSTNAME) " f=0x3008\0" \
|
||||
"uload=tftp " xstr(CONFIG_SYS_TFTP_LOADADDR) " " \
|
||||
xstr(CONFIG_HOSTNAME) "/u-boot.bin\0" \
|
||||
"vx_rom=" xstr(CONFIG_HOSTNAME) "/" \
|
||||
xstr(CONFIG_HOSTNAME) "_vx_rom\0" \
|
||||
"update=protect off " xstr(CONFIG_SYS_MONITOR_BASE) " FFFFFFFF;"\
|
||||
"era " xstr(CONFIG_SYS_MONITOR_BASE) " FFFFFFFF;" \
|
||||
"cp.b ${fileaddr} "xstr(CONFIG_SYS_MONITOR_BASE) \
|
||||
" ${filesize}; setenv filesize\0" \
|
||||
"upd=run uload update\0" \
|
||||
"vx=setenv bootfile ${vx_rom}; tftp " \
|
||||
xstr(CONFIG_SYS_TFTP_LOADADDR) "; bootvx\0" \
|
||||
CONFIG_NETSTAL_DEF_ENV_ROOTPATH
|
||||
|
||||
/*
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x40000)
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN)
|
||||
|
||||
/* Address and size of Primary Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x8000
|
||||
|
||||
@@ -162,7 +162,6 @@
|
||||
#undef CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xFD000000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x1000 /* End of used area in RAM*/
|
||||
|
||||
@@ -59,7 +59,6 @@
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
#define CONFIG_CLEAR_LAW0 /* Clear LAW0 in cpu_init_r */
|
||||
|
||||
/*
|
||||
@@ -280,7 +279,6 @@
|
||||
| CONFIG_SYS_LBC_LSDMR_RFEN \
|
||||
)
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
@@ -401,25 +399,16 @@
|
||||
#define CONFIG_TSEC1_NAME "eTSEC0"
|
||||
#define CONFIG_TSEC2 1
|
||||
#define CONFIG_TSEC2_NAME "eTSEC1"
|
||||
#define CONFIG_TSEC3 1
|
||||
#define CONFIG_TSEC3_NAME "eTSEC2"
|
||||
#define CONFIG_TSEC4
|
||||
#define CONFIG_TSEC4_NAME "eTSEC3"
|
||||
#undef CONFIG_MPC85XX_FEC
|
||||
|
||||
#define TSEC1_PHY_ADDR 0
|
||||
#define TSEC2_PHY_ADDR 1
|
||||
#define TSEC3_PHY_ADDR 2
|
||||
#define TSEC4_PHY_ADDR 3
|
||||
#define TSEC1_PHY_ADDR 0x19
|
||||
#define TSEC2_PHY_ADDR 0x1a
|
||||
|
||||
#define TSEC1_PHYIDX 0
|
||||
#define TSEC2_PHYIDX 0
|
||||
#define TSEC3_PHYIDX 0
|
||||
#define TSEC4_PHYIDX 0
|
||||
|
||||
#define TSEC1_FLAGS TSEC_GIGABIT
|
||||
#define TSEC2_FLAGS TSEC_GIGABIT
|
||||
#define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
#define TSEC4_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
|
||||
/* Options are: eTSEC[0-3] */
|
||||
#define CONFIG_ETHPRIME "eTSEC0"
|
||||
@@ -466,6 +455,7 @@
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_CMDLINE_EDITING /* undef to save memory */
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
@@ -509,10 +499,6 @@
|
||||
#define CONFIG_ETHADDR 02:E0:0C:00:00:FD
|
||||
#define CONFIG_HAS_ETH1
|
||||
#define CONFIG_ETH1ADDR 02:E0:0C:00:01:FD
|
||||
#define CONFIG_HAS_ETH2
|
||||
#define CONFIG_ETH2ADDR 02:E0:0C:00:02:FD
|
||||
#define CONFIG_HAS_ETH3
|
||||
#define CONFIG_ETH3ADDR 02:E0:0C:00:03:FD
|
||||
#endif
|
||||
|
||||
#define CONFIG_IPADDR 192.168.0.55
|
||||
|
||||
@@ -69,7 +69,6 @@
|
||||
/* below can be toggled for performance analysis. otherwise use default */
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#undef CONFIG_BTB /* toggle branch predition */
|
||||
#undef CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
|
||||
|
||||
@@ -180,7 +179,6 @@
|
||||
#define CONFIG_SYS_BCSR ((CONFIG_SYS_BR5_PRELIM & 0xff000000)|0x00400000)
|
||||
/* the size of CS5 needs to be >= 16M for TLB and LAW setups */
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x70000000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -104,6 +104,9 @@
|
||||
#define CONFIG_SYS_CCSRBAR 0xf8000000 /* relocated CCSRBAR */
|
||||
#define CONFIG_SYS_IMMR CONFIG_SYS_CCSRBAR /* PQII uses CONFIG_SYS_IMMR */
|
||||
|
||||
#define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR
|
||||
#define CONFIG_SYS_CCSRBAR_PHYS_HIGH 0x0
|
||||
|
||||
#define CONFIG_SYS_PCI1_ADDR (CONFIG_SYS_CCSRBAR+0x8000)
|
||||
#define CONFIG_SYS_PCI2_ADDR (CONFIG_SYS_CCSRBAR+0x9000)
|
||||
|
||||
@@ -241,7 +244,6 @@
|
||||
|
||||
#undef CONFIG_CLOCKS_IN_MHZ
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#ifndef CONFIG_SYS_INIT_RAM_LOCK
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x0fd00000 /* Initial RAM address */
|
||||
@@ -309,18 +311,22 @@
|
||||
* General PCI
|
||||
* Addresses are mapped 1-1.
|
||||
*/
|
||||
#define CONFIG_SYS_PCI1_MEM_BASE 0x80000000
|
||||
#define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE
|
||||
#define CONFIG_SYS_PCI1_MEM_BUS 0x80000000
|
||||
#define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BUS
|
||||
#define CONFIG_SYS_PCI1_MEM_VIRT CONFIG_SYS_PCI1_MEM_BUS
|
||||
#define CONFIG_SYS_PCI1_MEM_SIZE 0x20000000 /* 512M */
|
||||
#define CONFIG_SYS_PCI1_IO_BASE 0xe2000000
|
||||
#define CONFIG_SYS_PCI1_IO_PHYS CONFIG_SYS_PCI1_IO_BASE
|
||||
#define CONFIG_SYS_PCI1_IO_BUS 0xe2000000
|
||||
#define CONFIG_SYS_PCI1_IO_PHYS CONFIG_SYS_PCI1_IO_BUS
|
||||
#define CONFIG_SYS_PCI1_IO_VIRT CONFIG_SYS_PCI1_IO_BUS
|
||||
#define CONFIG_SYS_PCI1_IO_SIZE 0x1000000 /* 16M */
|
||||
|
||||
#define CONFIG_SYS_PCI2_MEM_BASE 0xa0000000
|
||||
#define CONFIG_SYS_PCI2_MEM_PHYS CONFIG_SYS_PCI2_MEM_BASE
|
||||
#define CONFIG_SYS_PCI2_MEM_BUS 0xa0000000
|
||||
#define CONFIG_SYS_PCI2_MEM_PHYS CONFIG_SYS_PCI2_MEM_BUS
|
||||
#define CONFIG_SYS_PCI2_MEM_VIRT CONFIG_SYS_PCI2_MEM_BUS
|
||||
#define CONFIG_SYS_PCI2_MEM_SIZE 0x10000000 /* 256M */
|
||||
#define CONFIG_SYS_PCI2_IO_BASE 0xe3000000
|
||||
#define CONFIG_SYS_PCI2_IO_PHYS CONFIG_SYS_PCI2_IO_BASE
|
||||
#define CONFIG_SYS_PCI2_IO_BUS 0xe3000000
|
||||
#define CONFIG_SYS_PCI2_IO_PHYS CONFIG_SYS_PCI2_IO_BUS
|
||||
#define CONFIG_SYS_PCI2_IO_VIRT CONFIG_SYS_PCI2_IO_BUS
|
||||
#define CONFIG_SYS_PCI2_IO_SIZE 0x1000000 /* 16M */
|
||||
|
||||
#if defined(CONFIG_PCI)
|
||||
@@ -407,10 +413,10 @@
|
||||
* 0xa000_0000 512M PCI-Express 2 Memory
|
||||
* Changed it for operating from 0xd0000000
|
||||
*/
|
||||
#define CONFIG_SYS_DBAT1L ( CONFIG_SYS_PCI1_MEM_BASE | BATL_PP_RW \
|
||||
#define CONFIG_SYS_DBAT1L ( CONFIG_SYS_PCI1_MEM_PHYS | BATL_PP_RW \
|
||||
| BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT1U (CONFIG_SYS_PCI1_MEM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_PCI1_MEM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_DBAT1U (CONFIG_SYS_PCI1_MEM_VIRT | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_PCI1_MEM_PHYS | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT1U CONFIG_SYS_DBAT1U
|
||||
|
||||
/*
|
||||
@@ -433,16 +439,27 @@
|
||||
#define CONFIG_SYS_IBAT3L (CONFIG_SYS_CCSRBAR | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT3U CONFIG_SYS_DBAT3U
|
||||
|
||||
#if (CONFIG_SYS_CCSRBAR_DEFAULT != CONFIG_SYS_CCSRBAR)
|
||||
#define CONFIG_SYS_CCSR_DEFAULT_DBATL (CONFIG_SYS_CCSRBAR_DEFAULT \
|
||||
| BATL_PP_RW | BATL_CACHEINHIBIT \
|
||||
| BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_CCSR_DEFAULT_DBATU (CONFIG_SYS_CCSRBAR_DEFAULT \
|
||||
| BATU_BL_1M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_CCSR_DEFAULT_IBATL (CONFIG_SYS_CCSRBAR_DEFAULT \
|
||||
| BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_CCSR_DEFAULT_IBATU CONFIG_SYS_CCSR_DEFAULT_DBATU
|
||||
#endif
|
||||
|
||||
/*
|
||||
* BAT4 32M Cache-inhibited, guarded
|
||||
* 0xe200_0000 16M PCI-Express 1 I/O
|
||||
* 0xe300_0000 16M PCI-Express 2 I/0
|
||||
* Note that this is at 0xe0000000
|
||||
*/
|
||||
#define CONFIG_SYS_DBAT4L ( CONFIG_SYS_PCI1_IO_BASE | BATL_PP_RW \
|
||||
#define CONFIG_SYS_DBAT4L ( CONFIG_SYS_PCI1_IO_PHYS | BATL_PP_RW \
|
||||
| BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT4U (CONFIG_SYS_PCI1_IO_BASE | BATU_BL_32M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_IBAT4L (CONFIG_SYS_PCI1_IO_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_DBAT4U (CONFIG_SYS_PCI1_IO_VIRT | BATU_BL_32M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_IBAT4L (CONFIG_SYS_PCI1_IO_PHYS | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT4U CONFIG_SYS_DBAT4U
|
||||
|
||||
/*
|
||||
|
||||
@@ -82,7 +82,6 @@
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_INIT_DBCR DBCR_IDM /* Enable Debug Exceptions */
|
||||
|
||||
@@ -167,7 +166,6 @@
|
||||
#define CONFIG_SYS_LBC_LSRT 0x20000000 /* LB sdram refresh timer */
|
||||
#define CONFIG_SYS_LBC_MRTPR 0x20000000 /* LB refresh timer presc.*/
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End used area in RAM */
|
||||
|
||||
@@ -64,7 +64,6 @@
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
|
||||
|
||||
@@ -151,7 +150,6 @@
|
||||
#define CONFIG_SYS_LBC_LSDMR_4 0x1861b723
|
||||
#define CONFIG_SYS_LBC_LSDMR_5 0x4061b723
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x60000000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -64,7 +64,6 @@
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
|
||||
|
||||
@@ -164,7 +163,6 @@
|
||||
#define CONFIG_SYS_LBC_LSDMR_4 0x1861b723
|
||||
#define CONFIG_SYS_LBC_LSDMR_5 0x4061b723
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK 1
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x60000000 /* Initial RAM address */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x4000 /* End of used area in RAM */
|
||||
|
||||
@@ -1,227 +0,0 @@
|
||||
/*
|
||||
* (C) Copyright 2007-2008 Michal Simek
|
||||
*
|
||||
* Michal SIMEK <monstr@monstr.eu>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#include "../board/xilinx/xupv2p/xparameters.h"
|
||||
|
||||
#define CONFIG_MICROBLAZE 1 /* MicroBlaze CPU */
|
||||
#define CONFIG_XUPV2P 1
|
||||
|
||||
/* uart */
|
||||
#ifdef XILINX_UARTLITE_BASEADDR
|
||||
#define CONFIG_XILINX_UARTLITE
|
||||
#define CONFIG_SERIAL_BASE XILINX_UARTLITE_BASEADDR
|
||||
#define CONFIG_BAUDRATE XILINX_UARTLITE_BAUDRATE
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { CONFIG_BAUDRATE }
|
||||
#else
|
||||
#ifdef XILINX_UART16550_BASEADDR
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 4
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#define CONFIG_SYS_NS16550_COM1 XILINX_UART16550_BASEADDR
|
||||
#define CONFIG_SYS_NS16550_CLK XILINX_UART16550_CLOCK_HZ
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 115200 }
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* setting reset address
|
||||
*
|
||||
* TEXT_BASE is set to place, where the U-BOOT run in RAM, but
|
||||
* if you want to store U-BOOT in flash, set CONFIG_SYS_RESET_ADDRESS
|
||||
* to FLASH memory and after loading bitstream jump to FLASH.
|
||||
* U-BOOT auto-relocate to TEXT_BASE. After RESET command Microblaze
|
||||
* jump to CONFIG_SYS_RESET_ADDRESS where is the original U-BOOT code.
|
||||
*/
|
||||
/* #define CONFIG_SYS_RESET_ADDRESS 0x36000000 */
|
||||
|
||||
/* ethernet */
|
||||
#ifdef XILINX_EMAC_BASEADDR
|
||||
#define CONFIG_XILINX_EMAC 1
|
||||
#define CONFIG_SYS_ENET
|
||||
#else
|
||||
#ifdef XILINX_EMACLITE_BASEADDR
|
||||
#define CONFIG_XILINX_EMACLITE 1
|
||||
#define CONFIG_SYS_ENET
|
||||
#endif
|
||||
#endif
|
||||
#undef ET_DEBUG
|
||||
|
||||
/* gpio */
|
||||
#ifdef XILINX_GPIO_BASEADDR
|
||||
#define CONFIG_SYS_GPIO_0 1
|
||||
#define CONFIG_SYS_GPIO_0_ADDR XILINX_GPIO_BASEADDR
|
||||
#endif
|
||||
|
||||
/* interrupt controller */
|
||||
#ifdef XILINX_INTC_BASEADDR
|
||||
#define CONFIG_SYS_INTC_0 1
|
||||
#define CONFIG_SYS_INTC_0_ADDR XILINX_INTC_BASEADDR
|
||||
#define CONFIG_SYS_INTC_0_NUM XILINX_INTC_NUM_INTR_INPUTS
|
||||
#endif
|
||||
|
||||
/* timer */
|
||||
#ifdef XILINX_TIMER_BASEADDR
|
||||
#if (XILINX_TIMER_IRQ != -1)
|
||||
#define CONFIG_SYS_TIMER_0 1
|
||||
#define CONFIG_SYS_TIMER_0_ADDR XILINX_TIMER_BASEADDR
|
||||
#define CONFIG_SYS_TIMER_0_IRQ XILINX_TIMER_IRQ
|
||||
#define FREQUENCE XILINX_CLOCK_FREQ
|
||||
#define CONFIG_SYS_TIMER_0_PRELOAD ( FREQUENCE/1000 )
|
||||
#endif
|
||||
#else
|
||||
#ifdef XILINX_CLOCK_FREQ
|
||||
#define CONFIG_XILINX_CLOCK_FREQ XILINX_CLOCK_FREQ
|
||||
#else
|
||||
#error BAD CLOCK FREQ
|
||||
#endif
|
||||
#endif
|
||||
/*
|
||||
* memory layout - Example
|
||||
* TEXT_BASE = 0x3600_0000;
|
||||
* CONFIG_SYS_SRAM_BASE = 0x3000_0000;
|
||||
* CONFIG_SYS_SRAM_SIZE = 0x1000_0000;
|
||||
*
|
||||
* CONFIG_SYS_GBL_DATA_OFFSET = 0x3000_0000 + 0x1000_0000 - 0x1000 = 0x3FFF_F000
|
||||
* CONFIG_SYS_MONITOR_BASE = 0x3FFF_F000 - 0x40000 = 0x3FFB_F000
|
||||
* CONFIG_SYS_MALLOC_BASE = 0x3FFB_F000 - 0x40000 = 0x3FF7_F000
|
||||
*
|
||||
* 0x3000_0000 CONFIG_SYS_SDRAM_BASE
|
||||
* FREE
|
||||
* 0x3600_0000 TEXT_BASE
|
||||
* U-BOOT code
|
||||
* 0x3602_0000
|
||||
* FREE
|
||||
*
|
||||
* STACK
|
||||
* 0x3FF7_F000 CONFIG_SYS_MALLOC_BASE
|
||||
* MALLOC_AREA 256kB Alloc
|
||||
* 0x3FFB_F000 CONFIG_SYS_MONITOR_BASE
|
||||
* MONITOR_CODE 256kB Env
|
||||
* 0x3FFF_F000 CONFIG_SYS_GBL_DATA_OFFSET
|
||||
* GLOBAL_DATA 4kB bd, gd
|
||||
* 0x4000_0000 CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE
|
||||
*/
|
||||
|
||||
/* ddr sdram - main memory */
|
||||
#define CONFIG_SYS_SDRAM_BASE XILINX_RAM_START
|
||||
#define CONFIG_SYS_SDRAM_SIZE XILINX_RAM_SIZE
|
||||
#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE
|
||||
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_BASE + 0x1000)
|
||||
|
||||
/* global pointer */
|
||||
#define CONFIG_SYS_GBL_DATA_SIZE 0x1000 /* size of global data */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE - CONFIG_SYS_GBL_DATA_SIZE) /* start of global data */
|
||||
|
||||
/* monitor code */
|
||||
#define SIZE 0x40000
|
||||
#define CONFIG_SYS_MONITOR_LEN SIZE
|
||||
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_GBL_DATA_OFFSET - CONFIG_SYS_MONITOR_LEN)
|
||||
#define CONFIG_SYS_MONITOR_END (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
|
||||
#define CONFIG_SYS_MALLOC_LEN SIZE
|
||||
#define CONFIG_SYS_MALLOC_BASE (CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN)
|
||||
|
||||
/* stack */
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_MALLOC_BASE
|
||||
|
||||
#define CONFIG_SYS_NO_FLASH 1
|
||||
#define CONFIG_ENV_IS_NOWHERE 1
|
||||
#define CONFIG_ENV_SIZE 0x1000
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#undef CONFIG_CMD_FLASH
|
||||
#undef CONFIG_CMD_JFFS2
|
||||
#undef CONFIG_CMD_IMLS
|
||||
|
||||
#define CONFIG_CMD_ASKENV
|
||||
#define CONFIG_CMD_CACHE
|
||||
#define CONFIG_CMD_IRQ
|
||||
|
||||
#ifndef CONFIG_SYS_ENET
|
||||
#undef CONFIG_CMD_NET
|
||||
#else
|
||||
#define CONFIG_CMD_PING
|
||||
#endif
|
||||
|
||||
#ifdef XILINX_SYSACE_BASEADDR
|
||||
#define CONFIG_CMD_EXT2
|
||||
#define CONFIG_CMD_FAT
|
||||
#endif
|
||||
|
||||
/* Miscellaneous configurable options */
|
||||
#define CONFIG_SYS_PROMPT "U-Boot-mONStR> "
|
||||
#define CONFIG_SYS_CBSIZE 512 /* size of console buffer */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) /* print buffer size */
|
||||
#define CONFIG_SYS_MAXARGS 15 /* max number of command args */
|
||||
#define CONFIG_SYS_LONGHELP
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x12000000 /* default load address */
|
||||
|
||||
#define CONFIG_BOOTDELAY 30
|
||||
#define CONFIG_BOOTARGS "root=romfs"
|
||||
#define CONFIG_HOSTNAME "xupv2p"
|
||||
#define CONFIG_BOOTCOMMAND "base 0;tftp 11000000 image.img;bootm"
|
||||
#define CONFIG_IPADDR 192.168.0.3
|
||||
#define CONFIG_SERVERIP 192.168.0.5
|
||||
#define CONFIG_GATEWAYIP 192.168.0.1
|
||||
#define CONFIG_ETHADDR 00:E0:0C:00:00:FD
|
||||
|
||||
/* architecture dependent code */
|
||||
#define CONFIG_SYS_USR_EXCEP /* user exception */
|
||||
#define CONFIG_SYS_HZ 1000
|
||||
|
||||
#define CONFIG_PREBOOT "echo U-BOOT by mONStR;" \
|
||||
"base 0;" \
|
||||
"echo"
|
||||
|
||||
/* system ace */
|
||||
#ifdef XILINX_SYSACE_BASEADDR
|
||||
#define CONFIG_SYSTEMACE
|
||||
/* #define DEBUG_SYSTEMACE */
|
||||
#define SYSTEMACE_CONFIG_FPGA
|
||||
#define CONFIG_SYS_SYSTEMACE_BASE XILINX_SYSACE_BASEADDR
|
||||
#define CONFIG_SYS_SYSTEMACE_WIDTH XILINX_SYSACE_MEM_WIDTH
|
||||
#define CONFIG_DOS_PARTITION
|
||||
#endif
|
||||
|
||||
#define CONFIG_CMDLINE_EDITING
|
||||
#define CONFIG_OF_LIBFDT 1 /* flat device tree */
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
@@ -91,7 +91,9 @@ extern char *stdio_names[MAX_FILES];
|
||||
*/
|
||||
int device_register (device_t * dev);
|
||||
int devices_init (void);
|
||||
#ifdef CONFIG_SYS_DEVICE_DEREGISTER
|
||||
int device_deregister(char *devname);
|
||||
#endif
|
||||
struct list_head* device_get_list(void);
|
||||
device_t* device_get_by_name(char* name);
|
||||
device_t* device_clone(device_t *dev);
|
||||
|
||||
@@ -13,6 +13,7 @@ typedef struct
|
||||
unsigned long freqProcessor;
|
||||
unsigned long freqSystemBus;
|
||||
unsigned long freqDDRBus;
|
||||
unsigned long freqLocalBus;
|
||||
} MPC85xx_SYS_INFO;
|
||||
|
||||
#endif /* _ASMLANGUAGE */
|
||||
|
||||
@@ -25,6 +25,7 @@ char *getenv (char *name);
|
||||
int setenv (char *varname, char *varvalue);
|
||||
long simple_strtol(const char *cp,char **endp,unsigned int base);
|
||||
int strcmp(const char * cs,const char * ct);
|
||||
int ustrtoul(const char *cp, char **endp, unsigned int base);
|
||||
#ifdef CONFIG_HAS_UID
|
||||
void forceenv (char *varname, char *varvalue);
|
||||
#endif
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
#define ATTR_VFAT (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME)
|
||||
|
||||
#define DELETED_FLAG ((char)0xe5) /* Marks deleted files when in name[0] */
|
||||
#define aRING 0x05 /* Used to represent 'å' in name[0] */
|
||||
#define aRING 0x05 /* Used as special character in name[0] */
|
||||
|
||||
/* Indicates that the entry is the last long entry in a set of long
|
||||
* dir entries
|
||||
|
||||
@@ -58,6 +58,8 @@ typedef struct {
|
||||
#endif
|
||||
} flash_info_t;
|
||||
|
||||
typedef unsigned long flash_sect_t;
|
||||
|
||||
/*
|
||||
* Values for the width of the port
|
||||
*/
|
||||
@@ -84,6 +86,9 @@ typedef struct {
|
||||
|
||||
/* convert between bit value and numeric value */
|
||||
#define CFI_FLASH_SHIFT_WIDTH 3
|
||||
|
||||
/* cfi-mtd device name */
|
||||
#define CFI_MTD_DEV_NAME "cfi-mtd"
|
||||
/* Prototypes */
|
||||
|
||||
extern unsigned long flash_init (void);
|
||||
@@ -92,6 +97,8 @@ extern int flash_erase (flash_info_t *, int, int);
|
||||
extern int flash_sect_erase (ulong addr_first, ulong addr_last);
|
||||
extern int flash_sect_protect (int flag, ulong addr_first, ulong addr_last);
|
||||
extern int flash_sect_roundb (ulong *addr);
|
||||
extern unsigned long flash_sector_size(flash_info_t *info, flash_sect_t sect);
|
||||
extern void flash_set_verbose(uint);
|
||||
|
||||
/* common/flash.c */
|
||||
extern void flash_protect (int flag, ulong from, ulong to, flash_info_t *info);
|
||||
@@ -99,6 +106,11 @@ extern int flash_write (char *, ulong, ulong);
|
||||
extern flash_info_t *addr2info (ulong);
|
||||
extern int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt);
|
||||
|
||||
/* drivers/mtd/cfi_mtd.c */
|
||||
#ifdef CONFIG_FLASH_CFI_MTD
|
||||
extern int cfi_mtd_init(void);
|
||||
#endif
|
||||
|
||||
/* board/?/flash.c */
|
||||
#if defined(CONFIG_SYS_FLASH_PROTECTION)
|
||||
extern int flash_real_protect(flash_info_t *info, long sector, int prot);
|
||||
|
||||
@@ -76,6 +76,20 @@
|
||||
# define I2C_SOFT_DECLARATIONS
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_8xx
|
||||
/* Set default values for the I2C bus speed and slave address on 8xx. In the
|
||||
* future, we'll define these in all 8xx board config files.
|
||||
*/
|
||||
#ifndef CONFIG_SYS_I2C_SPEED
|
||||
#define CONFIG_SYS_I2C_SPEED 50000
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SYS_I2C_SLAVE
|
||||
#define CONFIG_SYS_I2C_SLAVE 0xFE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Initialization, must be called once on start up, may be called
|
||||
* repeatedly to change the speed and slave addresses.
|
||||
@@ -132,8 +146,52 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len);
|
||||
/*
|
||||
* Utility routines to read/write registers.
|
||||
*/
|
||||
uchar i2c_reg_read (uchar chip, uchar reg);
|
||||
void i2c_reg_write(uchar chip, uchar reg, uchar val);
|
||||
static inline u8 i2c_reg_read(u8 addr, u8 reg)
|
||||
{
|
||||
u8 buf;
|
||||
|
||||
#ifdef CONFIG_8xx
|
||||
/* MPC8xx needs this. Maybe one day we can get rid of it. */
|
||||
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
printf("%s: addr=0x%02x, reg=0x%02x\n", __func__, addr, reg);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BLACKFIN
|
||||
/* This ifdef will become unneccessary in a future version of the
|
||||
* blackfin I2C driver.
|
||||
*/
|
||||
i2c_read(addr, reg, 0, &buf, 1);
|
||||
#else
|
||||
i2c_read(addr, reg, 1, &buf, 1);
|
||||
#endif
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
static inline void i2c_reg_write(u8 addr, u8 reg, u8 val)
|
||||
{
|
||||
#ifdef CONFIG_8xx
|
||||
/* MPC8xx needs this. Maybe one day we can get rid of it. */
|
||||
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
printf("%s: addr=0x%02x, reg=0x%02x, val=0x%02x\n",
|
||||
__func__, addr, reg, val);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BLACKFIN
|
||||
/* This ifdef will become unneccessary in a future version of the
|
||||
* blackfin I2C driver.
|
||||
*/
|
||||
i2c_write(addr, reg, 0, &val, 1);
|
||||
#else
|
||||
i2c_write(addr, reg, 1, &val, 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Functions for setting the current I2C bus and its speed
|
||||
|
||||
@@ -50,10 +50,6 @@
|
||||
|
||||
#endif /* USE_HOSTCC */
|
||||
|
||||
#if defined(CONFIG_FIT) && !defined(CONFIG_OF_LIBFDT)
|
||||
#error "CONFIG_OF_LIBFDT not enabled, required by CONFIG_FIT!"
|
||||
#endif
|
||||
|
||||
#include <command.h>
|
||||
|
||||
#if defined(CONFIG_FIT)
|
||||
|
||||
48
include/iomux.h
Normal file
48
include/iomux.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* (C) Copyright 2008
|
||||
* Gary Jennejohn, DENX Software Engineering GmbH, garyj@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef _IO_MUX_H
|
||||
#define _IO_MUX_H
|
||||
|
||||
#include <devices.h>
|
||||
|
||||
/*
|
||||
* Stuff required to support console multiplexing.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Pointers to devices used for each file type. Defined in console.c
|
||||
* but storage is allocated in iomux.c.
|
||||
*/
|
||||
extern device_t **console_devices[MAX_FILES];
|
||||
/*
|
||||
* The count of devices assigned to each FILE. Defined in console.c
|
||||
* and populated in iomux.c.
|
||||
*/
|
||||
extern int cd_count[MAX_FILES];
|
||||
|
||||
int iomux_doenv(const int, const char *);
|
||||
void iomux_printdevs(const int);
|
||||
device_t *search_device(int, char *);
|
||||
|
||||
#endif /* _IO_MUX_H */
|
||||
@@ -50,6 +50,9 @@
|
||||
#define JFFS2_EMPTY_BITMASK 0xffff
|
||||
#define JFFS2_DIRTY_BITMASK 0x0000
|
||||
|
||||
/* Summary node MAGIC marker */
|
||||
#define JFFS2_SUM_MAGIC 0x02851885
|
||||
|
||||
/* We only allow a single char for length, and 0xFF is empty flash so
|
||||
we don't want it confused with a real length. Hence max 254.
|
||||
*/
|
||||
@@ -89,6 +92,7 @@
|
||||
#define JFFS2_NODETYPE_INODE (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 2)
|
||||
#define JFFS2_NODETYPE_CLEANMARKER (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 3)
|
||||
#define JFFS2_NODETYPE_PADDING (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 4)
|
||||
#define JFFS2_NODETYPE_SUMMARY (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 6)
|
||||
|
||||
/* Maybe later... */
|
||||
/*#define JFFS2_NODETYPE_CHECKPOINT (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 3) */
|
||||
@@ -166,9 +170,24 @@ struct jffs2_raw_inode
|
||||
/* __u8 data[dsize]; */
|
||||
} __attribute__((packed));
|
||||
|
||||
struct jffs2_raw_summary
|
||||
{
|
||||
__u16 magic;
|
||||
__u16 nodetype; /* = JFFS2_NODETYPE_SUMMARY */
|
||||
__u32 totlen;
|
||||
__u32 hdr_crc;
|
||||
__u32 sum_num; /* number of sum entries*/
|
||||
__u32 cln_mkr; /* clean marker size, 0 = no cleanmarker */
|
||||
__u32 padded; /* sum of the size of padding nodes */
|
||||
__u32 sum_crc; /* summary information crc */
|
||||
__u32 node_crc; /* node crc */
|
||||
__u32 sum[0]; /* inode summary info */
|
||||
};
|
||||
|
||||
union jffs2_node_union {
|
||||
struct jffs2_raw_inode i;
|
||||
struct jffs2_raw_dirent d;
|
||||
struct jffs2_raw_summary s;
|
||||
struct jffs2_unknown_node u;
|
||||
} __attribute__((packed));
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ struct part_info {
|
||||
u32 offset; /* offset within device */
|
||||
void *jffs2_priv; /* used internaly by jffs2 */
|
||||
u32 mask_flags; /* kernel MTD mask flags */
|
||||
u32 sector_size; /* size of sector */
|
||||
struct mtd_device *dev; /* parent device */
|
||||
};
|
||||
|
||||
@@ -73,4 +74,9 @@ struct mtdids {
|
||||
#define putLabeledWord(x, y) printf("%s %08x\n", x, (unsigned int)y)
|
||||
#define led_blink(x, y, z, a)
|
||||
|
||||
/* common/cmd_jffs2.c */
|
||||
extern int mtdparts_init(void);
|
||||
extern int find_dev_and_part(const char *id, struct mtd_device **dev,
|
||||
u8 *part_num, struct part_info **part);
|
||||
|
||||
#endif /* load_kernel_h */
|
||||
|
||||
@@ -47,6 +47,7 @@ extern struct fdt_header *working_fdt; /* Pointer to the working fdt */
|
||||
#define cpu_to_fdt64(x) (x)
|
||||
#endif
|
||||
|
||||
#ifndef USE_HOSTCC
|
||||
/*
|
||||
* Types for `void *' pointers.
|
||||
*
|
||||
@@ -58,5 +59,6 @@ typedef unsigned long int uintptr_t;
|
||||
#else
|
||||
typedef unsigned int uintptr_t;
|
||||
#endif
|
||||
#endif /* not USE_HOSTCC */
|
||||
|
||||
#endif /* _LIBFDT_ENV_H */
|
||||
|
||||
27
include/linux/crc32.h
Normal file
27
include/linux/crc32.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* crc32.h
|
||||
* See linux/lib/crc32.c for license and changes
|
||||
*/
|
||||
#ifndef _LINUX_CRC32_H
|
||||
#define _LINUX_CRC32_H
|
||||
|
||||
#include <linux/types.h>
|
||||
/* #include <linux/bitrev.h> */
|
||||
|
||||
extern u32 crc32_le(u32 crc, unsigned char const *p, size_t len);
|
||||
/* extern u32 crc32_be(u32 crc, unsigned char const *p, size_t len); */
|
||||
|
||||
#define crc32(seed, data, length) crc32_le(seed, (unsigned char const *)data, length)
|
||||
|
||||
/*
|
||||
* Helpers for hash table generation of ethernet nics:
|
||||
*
|
||||
* Ethernet sends the least significant bit of a byte first, thus crc32_le
|
||||
* is used. The output of crc32_le is bit reversed [most significant bit
|
||||
* is in bit nr 0], thus it must be reversed before use. Except for
|
||||
* nics that bit swap the result internally...
|
||||
*/
|
||||
/* #define ether_crc(length, data) bitrev32(crc32_le(~0, data, length)) */
|
||||
/* #define ether_crc_le(length, data) crc32_le(~0, data, length) */
|
||||
|
||||
#endif /* _LINUX_CRC32_H */
|
||||
84
include/linux/mtd/partitions.h
Normal file
84
include/linux/mtd/partitions.h
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* MTD partitioning layer definitions
|
||||
*
|
||||
* (C) 2000 Nicolas Pitre <nico@cam.org>
|
||||
*
|
||||
* This code is GPL
|
||||
*
|
||||
* $Id: partitions.h,v 1.17 2005/11/07 11:14:55 gleixner Exp $
|
||||
*/
|
||||
|
||||
#ifndef MTD_PARTITIONS_H
|
||||
#define MTD_PARTITIONS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
|
||||
/*
|
||||
* Partition definition structure:
|
||||
*
|
||||
* An array of struct partition is passed along with a MTD object to
|
||||
* add_mtd_partitions() to create them.
|
||||
*
|
||||
* For each partition, these fields are available:
|
||||
* name: string that will be used to label the partition's MTD device.
|
||||
* size: the partition size; if defined as MTDPART_SIZ_FULL, the partition
|
||||
* will extend to the end of the master MTD device.
|
||||
* offset: absolute starting position within the master MTD device; if
|
||||
* defined as MTDPART_OFS_APPEND, the partition will start where the
|
||||
* previous one ended; if MTDPART_OFS_NXTBLK, at the next erase block.
|
||||
* mask_flags: contains flags that have to be masked (removed) from the
|
||||
* master MTD flag set for the corresponding MTD partition.
|
||||
* For example, to force a read-only partition, simply adding
|
||||
* MTD_WRITEABLE to the mask_flags will do the trick.
|
||||
*
|
||||
* Note: writeable partitions require their size and offset be
|
||||
* erasesize aligned (e.g. use MTDPART_OFS_NEXTBLK).
|
||||
*/
|
||||
|
||||
struct mtd_partition {
|
||||
char *name; /* identifier string */
|
||||
u_int32_t size; /* partition size */
|
||||
u_int32_t offset; /* offset within the master MTD space */
|
||||
u_int32_t mask_flags; /* master MTD flags to mask out for this partition */
|
||||
struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/
|
||||
struct mtd_info **mtdp; /* pointer to store the MTD object */
|
||||
};
|
||||
|
||||
#define MTDPART_OFS_NXTBLK (-2)
|
||||
#define MTDPART_OFS_APPEND (-1)
|
||||
#define MTDPART_SIZ_FULL (0)
|
||||
|
||||
|
||||
int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
|
||||
int del_mtd_partitions(struct mtd_info *);
|
||||
|
||||
#if 0
|
||||
/*
|
||||
* Functions dealing with the various ways of partitioning the space
|
||||
*/
|
||||
|
||||
struct mtd_part_parser {
|
||||
struct list_head list;
|
||||
struct module *owner;
|
||||
const char *name;
|
||||
int (*parse_fn)(struct mtd_info *, struct mtd_partition **, unsigned long);
|
||||
};
|
||||
|
||||
extern int register_mtd_parser(struct mtd_part_parser *parser);
|
||||
extern int deregister_mtd_parser(struct mtd_part_parser *parser);
|
||||
extern int parse_mtd_partitions(struct mtd_info *master, const char **types,
|
||||
struct mtd_partition **pparts, unsigned long origin);
|
||||
|
||||
#define put_partition_parser(p) do { module_put((p)->owner); } while(0)
|
||||
|
||||
struct device;
|
||||
struct device_node;
|
||||
|
||||
int __devinit of_mtd_parse_partitions(struct device *dev,
|
||||
struct mtd_info *mtd,
|
||||
struct device_node *node,
|
||||
struct mtd_partition **pparts);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,360 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) International Business Machines Corp., 2006
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* Authors: Artem Bityutskiy (Битюцкий Артём)
|
||||
* Thomas Gleixner
|
||||
* Frank Haverkamp
|
||||
* Oliver Lohmann
|
||||
* Andreas Arnez
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file defines the layout of UBI headers and all the other UBI on-flash
|
||||
* data structures. May be included by user-space.
|
||||
*/
|
||||
|
||||
#ifndef __UBI_HEADER_H__
|
||||
#define __UBI_HEADER_H__
|
||||
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
/* The version of UBI images supported by this implementation */
|
||||
#define UBI_VERSION 1
|
||||
|
||||
/* The highest erase counter value supported by this implementation */
|
||||
#define UBI_MAX_ERASECOUNTER 0x7FFFFFFF
|
||||
|
||||
/* The initial CRC32 value used when calculating CRC checksums */
|
||||
#define UBI_CRC32_INIT 0xFFFFFFFFU
|
||||
|
||||
/* Erase counter header magic number (ASCII "UBI#") */
|
||||
#define UBI_EC_HDR_MAGIC 0x55424923
|
||||
/* Volume identifier header magic number (ASCII "UBI!") */
|
||||
#define UBI_VID_HDR_MAGIC 0x55424921
|
||||
|
||||
/*
|
||||
* Volume type constants used in the volume identifier header.
|
||||
*
|
||||
* @UBI_VID_DYNAMIC: dynamic volume
|
||||
* @UBI_VID_STATIC: static volume
|
||||
*/
|
||||
enum {
|
||||
UBI_VID_DYNAMIC = 1,
|
||||
UBI_VID_STATIC = 2
|
||||
};
|
||||
|
||||
/*
|
||||
* Compatibility constants used by internal volumes.
|
||||
*
|
||||
* @UBI_COMPAT_DELETE: delete this internal volume before anything is written
|
||||
* to the flash
|
||||
* @UBI_COMPAT_RO: attach this device in read-only mode
|
||||
* @UBI_COMPAT_PRESERVE: preserve this internal volume - do not touch its
|
||||
* physical eraseblocks, don't allow the wear-leveling unit to move them
|
||||
* @UBI_COMPAT_REJECT: reject this UBI image
|
||||
*/
|
||||
enum {
|
||||
UBI_COMPAT_DELETE = 1,
|
||||
UBI_COMPAT_RO = 2,
|
||||
UBI_COMPAT_PRESERVE = 4,
|
||||
UBI_COMPAT_REJECT = 5
|
||||
};
|
||||
|
||||
/*
|
||||
* ubi16_t/ubi32_t/ubi64_t - 16, 32, and 64-bit integers used in UBI on-flash
|
||||
* data structures.
|
||||
*/
|
||||
typedef struct {
|
||||
uint16_t int16;
|
||||
} __attribute__ ((packed)) ubi16_t;
|
||||
|
||||
typedef struct {
|
||||
uint32_t int32;
|
||||
} __attribute__ ((packed)) ubi32_t;
|
||||
|
||||
typedef struct {
|
||||
uint64_t int64;
|
||||
} __attribute__ ((packed)) ubi64_t;
|
||||
|
||||
/*
|
||||
* In this implementation of UBI uses the big-endian format for on-flash
|
||||
* integers. The below are the corresponding conversion macros.
|
||||
*/
|
||||
#define cpu_to_ubi16(x) ((ubi16_t){__cpu_to_be16(x)})
|
||||
#define ubi16_to_cpu(x) ((uint16_t)__be16_to_cpu((x).int16))
|
||||
|
||||
#define cpu_to_ubi32(x) ((ubi32_t){__cpu_to_be32(x)})
|
||||
#define ubi32_to_cpu(x) ((uint32_t)__be32_to_cpu((x).int32))
|
||||
|
||||
#define cpu_to_ubi64(x) ((ubi64_t){__cpu_to_be64(x)})
|
||||
#define ubi64_to_cpu(x) ((uint64_t)__be64_to_cpu((x).int64))
|
||||
|
||||
/* Sizes of UBI headers */
|
||||
#define UBI_EC_HDR_SIZE sizeof(struct ubi_ec_hdr)
|
||||
#define UBI_VID_HDR_SIZE sizeof(struct ubi_vid_hdr)
|
||||
|
||||
/* Sizes of UBI headers without the ending CRC */
|
||||
#define UBI_EC_HDR_SIZE_CRC (UBI_EC_HDR_SIZE - sizeof(ubi32_t))
|
||||
#define UBI_VID_HDR_SIZE_CRC (UBI_VID_HDR_SIZE - sizeof(ubi32_t))
|
||||
|
||||
/**
|
||||
* struct ubi_ec_hdr - UBI erase counter header.
|
||||
* @magic: erase counter header magic number (%UBI_EC_HDR_MAGIC)
|
||||
* @version: version of UBI implementation which is supposed to accept this
|
||||
* UBI image
|
||||
* @padding1: reserved for future, zeroes
|
||||
* @ec: the erase counter
|
||||
* @vid_hdr_offset: where the VID header starts
|
||||
* @data_offset: where the user data start
|
||||
* @padding2: reserved for future, zeroes
|
||||
* @hdr_crc: erase counter header CRC checksum
|
||||
*
|
||||
* The erase counter header takes 64 bytes and has a plenty of unused space for
|
||||
* future usage. The unused fields are zeroed. The @version field is used to
|
||||
* indicate the version of UBI implementation which is supposed to be able to
|
||||
* work with this UBI image. If @version is greater then the current UBI
|
||||
* version, the image is rejected. This may be useful in future if something
|
||||
* is changed radically. This field is duplicated in the volume identifier
|
||||
* header.
|
||||
*
|
||||
* The @vid_hdr_offset and @data_offset fields contain the offset of the the
|
||||
* volume identifier header and user data, relative to the beginning of the
|
||||
* physical eraseblock. These values have to be the same for all physical
|
||||
* eraseblocks.
|
||||
*/
|
||||
struct ubi_ec_hdr {
|
||||
ubi32_t magic;
|
||||
uint8_t version;
|
||||
uint8_t padding1[3];
|
||||
ubi64_t ec; /* Warning: the current limit is 31-bit anyway! */
|
||||
ubi32_t vid_hdr_offset;
|
||||
ubi32_t data_offset;
|
||||
uint8_t padding2[36];
|
||||
ubi32_t hdr_crc;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/**
|
||||
* struct ubi_vid_hdr - on-flash UBI volume identifier header.
|
||||
* @magic: volume identifier header magic number (%UBI_VID_HDR_MAGIC)
|
||||
* @version: UBI implementation version which is supposed to accept this UBI
|
||||
* image (%UBI_VERSION)
|
||||
* @vol_type: volume type (%UBI_VID_DYNAMIC or %UBI_VID_STATIC)
|
||||
* @copy_flag: if this logical eraseblock was copied from another physical
|
||||
* eraseblock (for wear-leveling reasons)
|
||||
* @compat: compatibility of this volume (%0, %UBI_COMPAT_DELETE,
|
||||
* %UBI_COMPAT_IGNORE, %UBI_COMPAT_PRESERVE, or %UBI_COMPAT_REJECT)
|
||||
* @vol_id: ID of this volume
|
||||
* @lnum: logical eraseblock number
|
||||
* @leb_ver: version of this logical eraseblock (IMPORTANT: obsolete, to be
|
||||
* removed, kept only for not breaking older UBI users)
|
||||
* @data_size: how many bytes of data this logical eraseblock contains
|
||||
* @used_ebs: total number of used logical eraseblocks in this volume
|
||||
* @data_pad: how many bytes at the end of this physical eraseblock are not
|
||||
* used
|
||||
* @data_crc: CRC checksum of the data stored in this logical eraseblock
|
||||
* @padding1: reserved for future, zeroes
|
||||
* @sqnum: sequence number
|
||||
* @padding2: reserved for future, zeroes
|
||||
* @hdr_crc: volume identifier header CRC checksum
|
||||
*
|
||||
* The @sqnum is the value of the global sequence counter at the time when this
|
||||
* VID header was created. The global sequence counter is incremented each time
|
||||
* UBI writes a new VID header to the flash, i.e. when it maps a logical
|
||||
* eraseblock to a new physical eraseblock. The global sequence counter is an
|
||||
* unsigned 64-bit integer and we assume it never overflows. The @sqnum
|
||||
* (sequence number) is used to distinguish between older and newer versions of
|
||||
* logical eraseblocks.
|
||||
*
|
||||
* There are 2 situations when there may be more then one physical eraseblock
|
||||
* corresponding to the same logical eraseblock, i.e., having the same @vol_id
|
||||
* and @lnum values in the volume identifier header. Suppose we have a logical
|
||||
* eraseblock L and it is mapped to the physical eraseblock P.
|
||||
*
|
||||
* 1. Because UBI may erase physical eraseblocks asynchronously, the following
|
||||
* situation is possible: L is asynchronously erased, so P is scheduled for
|
||||
* erasure, then L is written to,i.e. mapped to another physical eraseblock P1,
|
||||
* so P1 is written to, then an unclean reboot happens. Result - there are 2
|
||||
* physical eraseblocks P and P1 corresponding to the same logical eraseblock
|
||||
* L. But P1 has greater sequence number, so UBI picks P1 when it attaches the
|
||||
* flash.
|
||||
*
|
||||
* 2. From time to time UBI moves logical eraseblocks to other physical
|
||||
* eraseblocks for wear-leveling reasons. If, for example, UBI moves L from P
|
||||
* to P1, and an unclean reboot happens before P is physically erased, there
|
||||
* are two physical eraseblocks P and P1 corresponding to L and UBI has to
|
||||
* select one of them when the flash is attached. The @sqnum field says which
|
||||
* PEB is the original (obviously P will have lower @sqnum) and the copy. But
|
||||
* it is not enough to select the physical eraseblock with the higher sequence
|
||||
* number, because the unclean reboot could have happen in the middle of the
|
||||
* copying process, so the data in P is corrupted. It is also not enough to
|
||||
* just select the physical eraseblock with lower sequence number, because the
|
||||
* data there may be old (consider a case if more data was added to P1 after
|
||||
* the copying). Moreover, the unclean reboot may happen when the erasure of P
|
||||
* was just started, so it result in unstable P, which is "mostly" OK, but
|
||||
* still has unstable bits.
|
||||
*
|
||||
* UBI uses the @copy_flag field to indicate that this logical eraseblock is a
|
||||
* copy. UBI also calculates data CRC when the data is moved and stores it at
|
||||
* the @data_crc field of the copy (P1). So when UBI needs to pick one physical
|
||||
* eraseblock of two (P or P1), the @copy_flag of the newer one (P1) is
|
||||
* examined. If it is cleared, the situation* is simple and the newer one is
|
||||
* picked. If it is set, the data CRC of the copy (P1) is examined. If the CRC
|
||||
* checksum is correct, this physical eraseblock is selected (P1). Otherwise
|
||||
* the older one (P) is selected.
|
||||
*
|
||||
* Note, there is an obsolete @leb_ver field which was used instead of @sqnum
|
||||
* in the past. But it is not used anymore and we keep it in order to be able
|
||||
* to deal with old UBI images. It will be removed at some point.
|
||||
*
|
||||
* There are 2 sorts of volumes in UBI: user volumes and internal volumes.
|
||||
* Internal volumes are not seen from outside and are used for various internal
|
||||
* UBI purposes. In this implementation there is only one internal volume - the
|
||||
* layout volume. Internal volumes are the main mechanism of UBI extensions.
|
||||
* For example, in future one may introduce a journal internal volume. Internal
|
||||
* volumes have their own reserved range of IDs.
|
||||
*
|
||||
* The @compat field is only used for internal volumes and contains the "degree
|
||||
* of their compatibility". It is always zero for user volumes. This field
|
||||
* provides a mechanism to introduce UBI extensions and to be still compatible
|
||||
* with older UBI binaries. For example, if someone introduced a journal in
|
||||
* future, he would probably use %UBI_COMPAT_DELETE compatibility for the
|
||||
* journal volume. And in this case, older UBI binaries, which know nothing
|
||||
* about the journal volume, would just delete this volume and work perfectly
|
||||
* fine. This is similar to what Ext2fs does when it is fed by an Ext3fs image
|
||||
* - it just ignores the Ext3fs journal.
|
||||
*
|
||||
* The @data_crc field contains the CRC checksum of the contents of the logical
|
||||
* eraseblock if this is a static volume. In case of dynamic volumes, it does
|
||||
* not contain the CRC checksum as a rule. The only exception is when the
|
||||
* data of the physical eraseblock was moved by the wear-leveling unit, then
|
||||
* the wear-leveling unit calculates the data CRC and stores it in the
|
||||
* @data_crc field. And of course, the @copy_flag is %in this case.
|
||||
*
|
||||
* The @data_size field is used only for static volumes because UBI has to know
|
||||
* how many bytes of data are stored in this eraseblock. For dynamic volumes,
|
||||
* this field usually contains zero. The only exception is when the data of the
|
||||
* physical eraseblock was moved to another physical eraseblock for
|
||||
* wear-leveling reasons. In this case, UBI calculates CRC checksum of the
|
||||
* contents and uses both @data_crc and @data_size fields. In this case, the
|
||||
* @data_size field contains data size.
|
||||
*
|
||||
* The @used_ebs field is used only for static volumes and indicates how many
|
||||
* eraseblocks the data of the volume takes. For dynamic volumes this field is
|
||||
* not used and always contains zero.
|
||||
*
|
||||
* The @data_pad is calculated when volumes are created using the alignment
|
||||
* parameter. So, effectively, the @data_pad field reduces the size of logical
|
||||
* eraseblocks of this volume. This is very handy when one uses block-oriented
|
||||
* software (say, cramfs) on top of the UBI volume.
|
||||
*/
|
||||
struct ubi_vid_hdr {
|
||||
ubi32_t magic;
|
||||
uint8_t version;
|
||||
uint8_t vol_type;
|
||||
uint8_t copy_flag;
|
||||
uint8_t compat;
|
||||
ubi32_t vol_id;
|
||||
ubi32_t lnum;
|
||||
ubi32_t leb_ver; /* obsolete, to be removed, don't use */
|
||||
ubi32_t data_size;
|
||||
ubi32_t used_ebs;
|
||||
ubi32_t data_pad;
|
||||
ubi32_t data_crc;
|
||||
uint8_t padding1[4];
|
||||
ubi64_t sqnum;
|
||||
uint8_t padding2[12];
|
||||
ubi32_t hdr_crc;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/* Internal UBI volumes count */
|
||||
#define UBI_INT_VOL_COUNT 1
|
||||
|
||||
/*
|
||||
* Starting ID of internal volumes. There is reserved room for 4096 internal
|
||||
* volumes.
|
||||
*/
|
||||
#define UBI_INTERNAL_VOL_START (0x7FFFFFFF - 4096)
|
||||
|
||||
/* The layout volume contains the volume table */
|
||||
|
||||
#define UBI_LAYOUT_VOL_ID UBI_INTERNAL_VOL_START
|
||||
#define UBI_LAYOUT_VOLUME_EBS 2
|
||||
#define UBI_LAYOUT_VOLUME_NAME "layout volume"
|
||||
#define UBI_LAYOUT_VOLUME_COMPAT UBI_COMPAT_REJECT
|
||||
|
||||
/* The maximum number of volumes per one UBI device */
|
||||
#define UBI_MAX_VOLUMES 128
|
||||
|
||||
/* The maximum volume name length */
|
||||
#define UBI_VOL_NAME_MAX 127
|
||||
|
||||
/* Size of the volume table record */
|
||||
#define UBI_VTBL_RECORD_SIZE sizeof(struct ubi_vtbl_record)
|
||||
|
||||
/* Size of the volume table record without the ending CRC */
|
||||
#define UBI_VTBL_RECORD_SIZE_CRC (UBI_VTBL_RECORD_SIZE - sizeof(ubi32_t))
|
||||
|
||||
/**
|
||||
* struct ubi_vtbl_record - a record in the volume table.
|
||||
* @reserved_pebs: how many physical eraseblocks are reserved for this volume
|
||||
* @alignment: volume alignment
|
||||
* @data_pad: how many bytes are unused at the end of the each physical
|
||||
* eraseblock to satisfy the requested alignment
|
||||
* @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
|
||||
* @upd_marker: if volume update was started but not finished
|
||||
* @name_len: volume name length
|
||||
* @name: the volume name
|
||||
* @padding2: reserved, zeroes
|
||||
* @crc: a CRC32 checksum of the record
|
||||
*
|
||||
* The volume table records are stored in the volume table, which is stored in
|
||||
* the layout volume. The layout volume consists of 2 logical eraseblock, each
|
||||
* of which contains a copy of the volume table (i.e., the volume table is
|
||||
* duplicated). The volume table is an array of &struct ubi_vtbl_record
|
||||
* objects indexed by the volume ID.
|
||||
*
|
||||
* If the size of the logical eraseblock is large enough to fit
|
||||
* %UBI_MAX_VOLUMES records, the volume table contains %UBI_MAX_VOLUMES
|
||||
* records. Otherwise, it contains as many records as it can fit (i.e., size of
|
||||
* logical eraseblock divided by sizeof(struct ubi_vtbl_record)).
|
||||
*
|
||||
* The @upd_marker flag is used to implement volume update. It is set to %1
|
||||
* before update and set to %0 after the update. So if the update operation was
|
||||
* interrupted, UBI knows that the volume is corrupted.
|
||||
*
|
||||
* The @alignment field is specified when the volume is created and cannot be
|
||||
* later changed. It may be useful, for example, when a block-oriented file
|
||||
* system works on top of UBI. The @data_pad field is calculated using the
|
||||
* logical eraseblock size and @alignment. The alignment must be multiple to the
|
||||
* minimal flash I/O unit. If @alignment is 1, all the available space of
|
||||
* the physical eraseblocks is used.
|
||||
*
|
||||
* Empty records contain all zeroes and the CRC checksum of those zeroes.
|
||||
*/
|
||||
struct ubi_vtbl_record {
|
||||
ubi32_t reserved_pebs;
|
||||
ubi32_t alignment;
|
||||
ubi32_t data_pad;
|
||||
uint8_t vol_type;
|
||||
uint8_t upd_marker;
|
||||
ubi16_t name_len;
|
||||
uint8_t name[UBI_VOL_NAME_MAX+1];
|
||||
uint8_t padding2[24];
|
||||
ubi32_t crc;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
#endif /* !__UBI_HEADER_H__ */
|
||||
186
include/linux/mtd/ubi.h
Normal file
186
include/linux/mtd/ubi.h
Normal file
@@ -0,0 +1,186 @@
|
||||
/*
|
||||
* Copyright (c) International Business Machines Corp., 2006
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* Author: Artem Bityutskiy (Битюцкий Артём)
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_UBI_H__
|
||||
#define __LINUX_UBI_H__
|
||||
|
||||
/* #include <asm/ioctl.h> */
|
||||
#include <linux/types.h>
|
||||
#include <mtd/ubi-user.h>
|
||||
|
||||
/*
|
||||
* enum ubi_open_mode - UBI volume open mode constants.
|
||||
*
|
||||
* UBI_READONLY: read-only mode
|
||||
* UBI_READWRITE: read-write mode
|
||||
* UBI_EXCLUSIVE: exclusive mode
|
||||
*/
|
||||
enum {
|
||||
UBI_READONLY = 1,
|
||||
UBI_READWRITE,
|
||||
UBI_EXCLUSIVE
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ubi_volume_info - UBI volume description data structure.
|
||||
* @vol_id: volume ID
|
||||
* @ubi_num: UBI device number this volume belongs to
|
||||
* @size: how many physical eraseblocks are reserved for this volume
|
||||
* @used_bytes: how many bytes of data this volume contains
|
||||
* @used_ebs: how many physical eraseblocks of this volume actually contain any
|
||||
* data
|
||||
* @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
|
||||
* @corrupted: non-zero if the volume is corrupted (static volumes only)
|
||||
* @upd_marker: non-zero if the volume has update marker set
|
||||
* @alignment: volume alignment
|
||||
* @usable_leb_size: how many bytes are available in logical eraseblocks of
|
||||
* this volume
|
||||
* @name_len: volume name length
|
||||
* @name: volume name
|
||||
* @cdev: UBI volume character device major and minor numbers
|
||||
*
|
||||
* The @corrupted flag is only relevant to static volumes and is always zero
|
||||
* for dynamic ones. This is because UBI does not care about dynamic volume
|
||||
* data protection and only cares about protecting static volume data.
|
||||
*
|
||||
* The @upd_marker flag is set if the volume update operation was interrupted.
|
||||
* Before touching the volume data during the update operation, UBI first sets
|
||||
* the update marker flag for this volume. If the volume update operation was
|
||||
* further interrupted, the update marker indicates this. If the update marker
|
||||
* is set, the contents of the volume is certainly damaged and a new volume
|
||||
* update operation has to be started.
|
||||
*
|
||||
* To put it differently, @corrupted and @upd_marker fields have different
|
||||
* semantics:
|
||||
* o the @corrupted flag means that this static volume is corrupted for some
|
||||
* reasons, but not because an interrupted volume update
|
||||
* o the @upd_marker field means that the volume is damaged because of an
|
||||
* interrupted update operation.
|
||||
*
|
||||
* I.e., the @corrupted flag is never set if the @upd_marker flag is set.
|
||||
*
|
||||
* The @used_bytes and @used_ebs fields are only really needed for static
|
||||
* volumes and contain the number of bytes stored in this static volume and how
|
||||
* many eraseblock this data occupies. In case of dynamic volumes, the
|
||||
* @used_bytes field is equivalent to @size*@usable_leb_size, and the @used_ebs
|
||||
* field is equivalent to @size.
|
||||
*
|
||||
* In general, logical eraseblock size is a property of the UBI device, not
|
||||
* of the UBI volume. Indeed, the logical eraseblock size depends on the
|
||||
* physical eraseblock size and on how much bytes UBI headers consume. But
|
||||
* because of the volume alignment (@alignment), the usable size of logical
|
||||
* eraseblocks if a volume may be less. The following equation is true:
|
||||
* @usable_leb_size = LEB size - (LEB size mod @alignment),
|
||||
* where LEB size is the logical eraseblock size defined by the UBI device.
|
||||
*
|
||||
* The alignment is multiple to the minimal flash input/output unit size or %1
|
||||
* if all the available space is used.
|
||||
*
|
||||
* To put this differently, alignment may be considered is a way to change
|
||||
* volume logical eraseblock sizes.
|
||||
*/
|
||||
struct ubi_volume_info {
|
||||
int ubi_num;
|
||||
int vol_id;
|
||||
int size;
|
||||
long long used_bytes;
|
||||
int used_ebs;
|
||||
int vol_type;
|
||||
int corrupted;
|
||||
int upd_marker;
|
||||
int alignment;
|
||||
int usable_leb_size;
|
||||
int name_len;
|
||||
const char *name;
|
||||
dev_t cdev;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ubi_device_info - UBI device description data structure.
|
||||
* @ubi_num: ubi device number
|
||||
* @leb_size: logical eraseblock size on this UBI device
|
||||
* @min_io_size: minimal I/O unit size
|
||||
* @ro_mode: if this device is in read-only mode
|
||||
* @cdev: UBI character device major and minor numbers
|
||||
*
|
||||
* Note, @leb_size is the logical eraseblock size offered by the UBI device.
|
||||
* Volumes of this UBI device may have smaller logical eraseblock size if their
|
||||
* alignment is not equivalent to %1.
|
||||
*/
|
||||
struct ubi_device_info {
|
||||
int ubi_num;
|
||||
int leb_size;
|
||||
int min_io_size;
|
||||
int ro_mode;
|
||||
dev_t cdev;
|
||||
};
|
||||
|
||||
/* UBI descriptor given to users when they open UBI volumes */
|
||||
struct ubi_volume_desc;
|
||||
|
||||
int ubi_get_device_info(int ubi_num, struct ubi_device_info *di);
|
||||
void ubi_get_volume_info(struct ubi_volume_desc *desc,
|
||||
struct ubi_volume_info *vi);
|
||||
struct ubi_volume_desc *ubi_open_volume(int ubi_num, int vol_id, int mode);
|
||||
struct ubi_volume_desc *ubi_open_volume_nm(int ubi_num, const char *name,
|
||||
int mode);
|
||||
void ubi_close_volume(struct ubi_volume_desc *desc);
|
||||
int ubi_leb_read(struct ubi_volume_desc *desc, int lnum, char *buf, int offset,
|
||||
int len, int check);
|
||||
int ubi_leb_write(struct ubi_volume_desc *desc, int lnum, const void *buf,
|
||||
int offset, int len, int dtype);
|
||||
int ubi_leb_change(struct ubi_volume_desc *desc, int lnum, const void *buf,
|
||||
int len, int dtype);
|
||||
int ubi_leb_erase(struct ubi_volume_desc *desc, int lnum);
|
||||
int ubi_leb_unmap(struct ubi_volume_desc *desc, int lnum);
|
||||
int ubi_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype);
|
||||
int ubi_is_mapped(struct ubi_volume_desc *desc, int lnum);
|
||||
|
||||
/*
|
||||
* This function is the same as the 'ubi_leb_read()' function, but it does not
|
||||
* provide the checking capability.
|
||||
*/
|
||||
static inline int ubi_read(struct ubi_volume_desc *desc, int lnum, char *buf,
|
||||
int offset, int len)
|
||||
{
|
||||
return ubi_leb_read(desc, lnum, buf, offset, len, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* This function is the same as the 'ubi_leb_write()' functions, but it does
|
||||
* not have the data type argument.
|
||||
*/
|
||||
static inline int ubi_write(struct ubi_volume_desc *desc, int lnum,
|
||||
const void *buf, int offset, int len)
|
||||
{
|
||||
return ubi_leb_write(desc, lnum, buf, offset, len, UBI_UNKNOWN);
|
||||
}
|
||||
|
||||
/*
|
||||
* This function is the same as the 'ubi_leb_change()' functions, but it does
|
||||
* not have the data type argument.
|
||||
*/
|
||||
static inline int ubi_change(struct ubi_volume_desc *desc, int lnum,
|
||||
const void *buf, int len)
|
||||
{
|
||||
return ubi_leb_change(desc, lnum, buf, len, UBI_UNKNOWN);
|
||||
}
|
||||
|
||||
#endif /* !__LINUX_UBI_H__ */
|
||||
@@ -119,6 +119,30 @@ typedef __s64 int64_t;
|
||||
* Below are truly Linux-specific types that should never collide with
|
||||
* any application/library that wants linux/types.h.
|
||||
*/
|
||||
#ifdef __CHECKER__
|
||||
#define __bitwise__ __attribute__((bitwise))
|
||||
#else
|
||||
#define __bitwise__
|
||||
#endif
|
||||
#ifdef __CHECK_ENDIAN__
|
||||
#define __bitwise __bitwise__
|
||||
#else
|
||||
#define __bitwise
|
||||
#endif
|
||||
|
||||
typedef __u16 __bitwise __le16;
|
||||
typedef __u16 __bitwise __be16;
|
||||
typedef __u32 __bitwise __le32;
|
||||
typedef __u32 __bitwise __be32;
|
||||
#if defined(__GNUC__)
|
||||
typedef __u64 __bitwise __le64;
|
||||
typedef __u64 __bitwise __be64;
|
||||
#endif
|
||||
typedef __u16 __bitwise __sum16;
|
||||
typedef __u32 __bitwise __wsum;
|
||||
|
||||
|
||||
typedef unsigned __bitwise__ gfp_t;
|
||||
|
||||
struct ustat {
|
||||
__kernel_daddr_t f_tfree;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user