summaryrefslogtreecommitdiff
path: root/include/asm-arm
diff options
context:
space:
mode:
authorTerry Lv <r65388@freescale.com>2010-03-08 17:12:51 +0800
committerTerry Lv <r65388@freescale.com>2010-03-12 11:07:40 +0800
commitaca6f560d03a0780d4713e1f458e132bec28f37b (patch)
tree7556ea9a2ec59871d8947e273437c5066bcd13ea /include/asm-arm
parentf4c2bfd8fbed1fcf8d33abf54f614594779f57e8 (diff)
downloadu-boot-imx-aca6f560d03a0780d4713e1f458e132bec28f37b.zip
u-boot-imx-aca6f560d03a0780d4713e1f458e132bec28f37b.tar.gz
u-boot-imx-aca6f560d03a0780d4713e1f458e132bec28f37b.tar.bz2
ENGR00121379: MX28 U-BOOT enhancements
MX28 U-BOOT enhancements. Signed-off-by: Terry Lv <r65388@freescale.com>
Diffstat (limited to 'include/asm-arm')
-rw-r--r--include/asm-arm/arch-mx28/clkctrl.h64
-rw-r--r--include/asm-arm/arch-mx28/dbguart.h30
-rw-r--r--include/asm-arm/arch-mx28/mx28.h11
-rw-r--r--include/asm-arm/arch-mx28/ocotp.h69
-rw-r--r--include/asm-arm/arch-mx28/pinmux.h42
-rw-r--r--include/asm-arm/arch-mx28/spi.h69
-rw-r--r--include/asm-arm/arch-mx28/ssp.h100
-rw-r--r--include/asm-arm/arch-mx28/timrot.h63
-rw-r--r--include/asm-arm/fec.h6
9 files changed, 17 insertions, 437 deletions
diff --git a/include/asm-arm/arch-mx28/clkctrl.h b/include/asm-arm/arch-mx28/clkctrl.h
deleted file mode 100644
index 76db80c..0000000
--- a/include/asm-arm/arch-mx28/clkctrl.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2008 Embedded Alley Solutions Inc.
- *
- * (C) Copyright 2009 Freescale Semiconductor, Inc.
- *
- * Clock control register descriptions
- *
- * 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 CLKCTRL_H
-#define CLKCTRL_H
-
-#include <asm/arch/mx28.h>
-
-#define CLKCTRL_BASE (MX28_REGS_BASE + 0x40000)
-
-#define CLKCTRL_PLLCTRL0 0x000
-#define CLKCTRL_PLLCTRL1 0x010
-#define CLKCTRL_CPU 0x020
-#define CLKCTRL_HBUS 0x030
-#define CLKCTRL_XBUS 0x040
-#define CLKCTRL_XTAL 0x050
-#define CLKCTRL_PIX 0x060
-#define CLKCTRL_SSP 0x070
-#define CLKCTRL_GPMI 0x080
-#define CLKCTRL_SPDIF 0x090
-#define CLKCTRL_EMI 0x0a0
-#define CLKCTRL_IR 0x0b0
-#define CLKCTRL_SAIF 0x0c0
-#define CLKCTRL_TV 0x0d0
-#define CLKCTRL_ETM 0x0e0
-#define CLKCTRL_FRAC 0x0f0
-#define CLKCTRL_FRAC1 0x100
-#define CLKCTRL_CLKSEQ 0x110
-#define CLKCTRL_RESET 0x120
-#define CLKCTRL_STATUS 0x130
-#define CLKCTRL_VERSION 0x140
-
-/* CLKCTRL_SSP register bits, bit fields and values */
-#define SSP_CLKGATE (1 << 31)
-#define SSP_BUSY (1 << 29)
-#define SSP_DIV_FRAC_EN (1 << 9)
-#define SSP_DIV 0
-
-/* CLKCTRL_FRAC register bits, bit fields and values */
-#define FRAC_CLKGATEIO (1 << 31)
-#define FRAC_IOFRAC 24
-
-/* CLKCTRL_FRAC register bits, bit fields and values */
-#define CLKSEQ_BYPASS_SSP (1 << 5)
-
-#endif /* CLKCTRL_H */
diff --git a/include/asm-arm/arch-mx28/dbguart.h b/include/asm-arm/arch-mx28/dbguart.h
deleted file mode 100644
index b9a4bae..0000000
--- a/include/asm-arm/arch-mx28/dbguart.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2008 Embedded Alley Solutions Inc.
- *
- * (C) Copyright 2009 Freescale Semiconductor, Inc.
- *
- * Debug UART register definitions
- *
- * 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 DBGUART_H
-#define DBGUART_H
-
-#include <asm/arch/mx28.h>
-
-#define DBGUART_BASE (MX28_REGS_BASE + 0x00070000)
-
-#endif /* DBGUART_H */
diff --git a/include/asm-arm/arch-mx28/mx28.h b/include/asm-arm/arch-mx28/mx28.h
index c050fdf..fc671ae 100644
--- a/include/asm-arm/arch-mx28/mx28.h
+++ b/include/asm-arm/arch-mx28/mx28.h
@@ -20,6 +20,17 @@
#ifndef __MX28_H
#define __MX28_H
+#ifndef __ASSEMBLER__
+enum mxc_clock {
+ MXC_ARM_CLK = 0,
+ MXC_AHB_CLK,
+ MXC_IPG_CLK,
+};
+
+unsigned int mxc_get_clock(enum mxc_clock clk);
+void enet_board_init(void);
+#endif
+
/*
* Most of i.MX28 SoC registers are associated with four addresses
* used for different operations - read/write, set, clear and toggle bits.
diff --git a/include/asm-arm/arch-mx28/ocotp.h b/include/asm-arm/arch-mx28/ocotp.h
deleted file mode 100644
index 9396820..0000000
--- a/include/asm-arm/arch-mx28/ocotp.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2009 Freescale Semiconductor, Inc.
- *
- * On-Chip OTP register descriptions
- *
- * 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 OCOTP_H
-#define OCOTP_H
-
-#include <asm/arch/mx28.h>
-
-#define OCOTP_BASE (MX28_REGS_BASE + 0x2c000)
-
-#define OCOTP_CTRL 0x000
-#define OCOTP_CTRL_SET 0x004
-#define OCOTP_CTRL_CLR 0x008
-#define OCOTP_CTRL_TOG 0x00c
-#define OCOTP_DATA 0x010
-#define OCOTP_CUST0 0x020
-#define OCOTP_CUST1 0x030
-#define OCOTP_CUST2 0x040
-#define OCOTP_CUST3 0x050
-#define OCOTP_CRYPTO1 0x070
-#define OCOTP_CRYPTO2 0x080
-#define OCOTP_CRYPTO3 0x090
-#define OCOTP_HWCAP0 0x0a0
-#define OCOTP_HWCAP1 0x0b0
-#define OCOTP_HWCAP2 0x0c0
-#define OCOTP_HWCAP3 0x0d0
-#define OCOTP_HWCAP4 0x0e0
-#define OCOTP_HWCAP5 0x0f0
-#define OCOTP_SWCAP 0x100
-#define OCOTP_CUSTCAP 0x110
-#define OCOTP_LOCK 0x120
-#define OCOTP_OPS0 0x130
-#define OCOTP_OPS1 0x140
-#define OCOTP_OPS2 0x150
-#define OCOTP_OPS3 0x160
-#define OCOTP_UN0 0x170
-#define OCOTP_UN1 0x180
-#define OCOTP_UN2 0x190
-#define OCOTP_ROM0 0x1a0
-#define OCOTP_ROM1 0x1b0
-#define OCOTP_ROM2 0x1c0
-#define OCOTP_ROM3 0x1d0
-#define OCOTP_ROM4 0x1e0
-#define OCOTP_ROM5 0x1f0
-#define OCOTP_ROM6 0x200
-#define OCOTP_ROM7 0x210
-#define OCOTP_VERSION 0x220
-
-
-/* OCOTP_CTRL register bits, bit fields and values */
-#define CTRL_RD_BANK_OPEN (1 << 12)
-#define CTRL_BUSY (8 << 12)
-
-#endif /* OCOTP_H */
diff --git a/include/asm-arm/arch-mx28/pinmux.h b/include/asm-arm/arch-mx28/pinmux.h
deleted file mode 100644
index db581bc..0000000
--- a/include/asm-arm/arch-mx28/pinmux.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2008 Embedded Alley Solutions Inc.
- *
- * (C) Copyright 2009 Freescale Semiconductor, Inc.
- *
- * Clock control register descriptions
- *
- * 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 PINMUX_H
-#define PINMUX_H
-
-#include <asm/arch/mx28.h>
-
-#define PINCTRL_BASE (MX28_REGS_BASE + 0x18000)
-
-#define PINCTRL_CTRL 0x000
-#define PINCTRL_MUXSEL(n) (0x100 + 0x10*(n))
-#define PINCTRL_DRIVE(n) (0x200 + 0x10*(n))
-#define PINCTRL_PULL(n) (0x400 + 0x10*(n))
-#define PINCTRL_DOUT(n) (0x500 + 0x10*(n))
-#define PINCTRL_DIN(n) (0x600 + 0x10*(n))
-#define PINCTRL_DOE(n) (0x700 + 0x10*(n))
-#define PINCTRL_PIN2IRQ(n) (0x800 + 0x10*(n))
-#define PINCTRL_IRQEN(n) (0x900 + 0x10*(n))
-#define PINCTRL_IRQLEVEL(n) (0xa00 + 0x10*(n))
-#define PINCTRL_IRQPOL(n) (0xb00 + 0x10*(n))
-#define PINCTRL_IRQSTAT(n) (0xc00 + 0x10*(n))
-
-#endif /* PINMUX_H */
diff --git a/include/asm-arm/arch-mx28/spi.h b/include/asm-arm/arch-mx28/spi.h
deleted file mode 100644
index afd3245..0000000
--- a/include/asm-arm/arch-mx28/spi.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2008 Embedded Alley Solutions Inc.
- *
- * (C) Copyright 2009 Freescale Semiconductor, Inc.
- *
- * SSP/SPI driver
- *
- * 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 SPI_H
-#define SPI_H
-
-#include <config.h>
-#include <common.h>
-#include <asm/arch/ssp.h>
-
-/*
- * Flags to set SPI mode
- */
-#define SPI_PHASE 0x1 /* Set phase to 1 */
-#define SPI_POLARITY 0x2 /* Set polarity to 1 */
-
-/* Various flags to control SPI transfers */
-#define SPI_START 0x1 /* Lock CS signal */
-#define SPI_STOP 0x2 /* Unlock CS signal */
-
-/*
- * Init SSPx interface, must be called first
- */
-void spi_init(void);
-
-/*
- * Set phase, polarity and CS number (SS0, SS1, SS2)
- */
-void spi_set_cfg(unsigned int bus, unsigned int cs, unsigned long mode);
-
-
-/*
- * Send @rx_len bytes from @dout, then receive @rx_len bytes
- * saving them to @din
- */
-void spi_txrx(const char *dout, unsigned int tx_len, char *din,
- unsigned int rx_len, unsigned long flags);
-
-
-/* Lock/unlock SPI bus */
-static inline void spi_lock(void)
-{
- disable_interrupts();
-}
-
-static inline void spi_unlock(void)
-{
- enable_interrupts();
-}
-
-#endif /* SPI_H */
diff --git a/include/asm-arm/arch-mx28/ssp.h b/include/asm-arm/arch-mx28/ssp.h
deleted file mode 100644
index f6e8e28..0000000
--- a/include/asm-arm/arch-mx28/ssp.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2008 Embedded Alley Solutions Inc.
- *
- * (C) Copyright 2009 Freescale Semiconductor, Inc.
- *
- * SSP register definitions
- *
- * 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 SSP_H
-#define SSP_H
-
-#include <asm/arch/mx28.h>
-
-#define SSP1_BASE (MX28_REGS_BASE + 0x10000)
-#define SSP2_BASE (MX28_REGS_BASE + 0x34000)
-
-#define SSP_CTRL0 0x000
-#define SSP_CMD0 0x010
-#define SSP_CMD1 0x020
-#define SSP_COMPREF 0x030
-#define SSP_COMPMASK 0x040
-#define SSP_TIMING 0x050
-#define SSP_CTRL1 0x060
-#define SSP_DATA 0x070
-#define SSP_SDRESP0 0x080
-#define SSP_SDRESP1 0x090
-#define SSP_SDRESP2 0x0a0
-#define SSP_SDRESP3 0x0b0
-#define SSP_STATUS 0x0c0
-#define SSP_DEBUG 0x100
-#define SSP_VERSION 0x110
-
-/* CTRL0 bits, bit fields and values */
-#define CTRL0_SFTRST (0x1 << 31)
-#define CTRL0_CLKGATE (0x1 << 30)
-#define CTRL0_RUN (0x1 << 29)
-#define CTRL0_LOCK_CS (0x1 << 27)
-#define CTRL0_IGNORE_CRC (0x1 << 26)
-#define CTRL0_DATA_XFER (0x1 << 24)
-#define CTRL0_READ (0x1 << 25)
-#define CTRL0_BUS_WIDTH 22
-#define CTRL0_WAIT_FOR_IRQ (0x1 << 21)
-#define CTRL0_WAIT_FOR_CMD (0x1 << 20)
-#define CTRL0_XFER_COUNT 0
-
-#define BUS_WIDTH_SPI1 (0x0 << CTRL0_BUS_WIDTH)
-#define BUS_WIDTH_SPI4 (0x1 << CTRL0_BUS_WIDTH)
-#define BUS_WIDTH_SPI8 (0x2 << CTRL0_BUS_WIDTH)
-
-#define SPI_CS0 0x0
-#define SPI_CS1 CTRL0_WAIT_FOR_CMD
-#define SPI_CS2 CTRL0_WAIT_FOR_IRQ
-#define SPI_CS_CLR_MASK (CTRL0_WAIT_FOR_CMD | CTRL0_WAIT_FOR_IRQ)
-
-/* CMD0 bits, bit fields and values */
-#define CMD0_BLOCK_SIZE 16
-#define CMD0_BLOCK_COUNT 12
-#define CMD0_CMD 0
-
-/* TIMING bits, bit fields and values */
-#define TIMING_TIMEOUT 16
-#define TIMING_CLOCK_DIVIDE 8
-#define TIMING_CLOCK_RATE 0
-
-/* CTRL1 bits, bit fields and values */
-#define CTRL1_DMA_ENABLE (0x1 << 13)
-#define CTRL1_PHASE (0x1 << 10)
-#define CTRL1_POLARITY (0x1 << 9)
-#define CTRL1_SLAVE_MODE (0x1 << 8)
-#define CTRL1_WORD_LENGTH 4
-#define CTRL1_SSP_MODE 0
-
-#define WORD_LENGTH4 (0x3 << CTRL1_WORD_LENGTH)
-#define WORD_LENGTH8 (0x7 << CTRL1_WORD_LENGTH)
-#define WORD_LENGTH16 (0xF << CTRL1_WORD_LENGTH)
-
-#define SSP_MODE_SPI (0x0 << CTRL1_SSP_MODE)
-#define SSP_MODE_SSI (0x1 << CTRL1_SSP_MODE)
-#define SSP_MODE_SD_MMC (0x3 << CTRL1_SSP_MODE)
-#define SSP_MODE_MS (0x4 << CTRL1_SSP_MODE)
-#define SSP_MODE_ATA (0x7 << CTRL1_SSP_MODE)
-
-/* CTRL1 bits, bit fields and values */
-#define STATUS_FIFO_EMPTY (1 << 5)
-#define STATUS_FIFO_FULL (1 << 8)
-
-#endif /* SSP_H */
diff --git a/include/asm-arm/arch-mx28/timrot.h b/include/asm-arm/arch-mx28/timrot.h
deleted file mode 100644
index ec9e716..0000000
--- a/include/asm-arm/arch-mx28/timrot.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2008 Embedded Alley Solutions Inc.
- *
- * (C) Copyright 2009 Freescale Semiconductor, Inc.
- *
- * Timers and rotary encoder register definitions
- *
- * 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 TIMROT_H
-#define TIMROT_H
-
-#include <asm/arch/mx28.h>
-
-#define TIMROT_BASE (MX28_REGS_BASE + 0x00068000)
-
-/* Timer and rotary encoder register offsets */
-#define ROTCTRL 0x0
-#define ROTCOUNT 0x10
-#define TIMCTRL0 0x20
-#define TIMCOUNT0 0x30
-#define TIMCTRL1 0x40
-#define TIMCOUNT1 0x50
-#define TIMCTRL2 0x60
-#define TIMCOUNT2 0x70
-#define TIMCTRL3 0x80
-#define TIMCTRL3 0x90
-
-/* TIMCTRL bits, bit fields and values */
-#define TIMCTRL_SELECT 0
-#define TIMCTRL_PRESCALE 4
-#define TIMCTRL_RELOAD (1 << 6)
-#define TIMCTRL_UPDATE (1 << 7)
-#define TIMCTRL_POLARITY (1 << 8)
-#define TIMCTRL_IRQEN (1 << 14)
-#define TIMCTRL_IRQ (1 << 15)
-
-#define TIMCTRL_SELECT_PWM0 (0x1 << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_PWM1 (0x2 << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_PWM2 (0x3 << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_PWM3 (0x4 << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_PWM4 (0x5 << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_ROTARYA (0x6 << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_ROTARYB (0x7 << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_32KHZ (0x8 << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_8KHZ (0x9 << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_4KHZ (0xa << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_1KHZ (0xb << TIMCTRL_SELECT)
-#define TIMCTRL_SELECT_ALWAYS (0xc << TIMCTRL_SELECT)
-
-#endif /* TIMROT_H */
diff --git a/include/asm-arm/fec.h b/include/asm-arm/fec.h
index 4e81fa0..226bb26 100644
--- a/include/asm-arm/fec.h
+++ b/include/asm-arm/fec.h
@@ -261,4 +261,10 @@ typedef struct fec {
#define FEC_MAX_TIMEOUT 50000
#define FEC_TIMEOUT_TICKET 2
+
+/*
+ * Functions
+ */
+int mxc_fec_initialize(bd_t *bis);
+
#endif /* fec_h */