mx6qsabreauto is a board based on mx6q SoC with the following features: - 2GB of DDR3 - 2 USB ports - 1 HDMI output port - SPI NOR - 2 LVDS LCD ports - Gigabit Ethernet - Camera - eMMC and SD card slot - Multichannel Audio - CAN - SATA - NAND - PCIE - Video Input Add very basic support for it. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>master
parent
bcfc71186e
commit
7dd6545da7
@ -0,0 +1,41 @@ |
||||
#
|
||||
# Copyright (C) 2007, Guennadi Liakhovetski <lg@denx.de>
|
||||
#
|
||||
# (C) Copyright 2011 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 as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
# MA 02111-1307 USA
|
||||
#
|
||||
|
||||
include $(TOPDIR)/config.mk |
||||
|
||||
LIB = $(obj)lib$(BOARD).o
|
||||
|
||||
COBJS := mx6qsabreauto.o
|
||||
|
||||
SRCS := $(COBJS:.o=.c)
|
||||
OBJS := $(addprefix $(obj),$(COBJS))
|
||||
|
||||
$(LIB): $(obj).depend $(OBJS) |
||||
$(call cmd_link_o_target, $(OBJS))
|
||||
|
||||
#########################################################################
|
||||
|
||||
# defines $(obj).depend target
|
||||
include $(SRCTREE)/rules.mk |
||||
|
||||
sinclude $(obj).depend |
||||
|
||||
#########################################################################
|
@ -0,0 +1,159 @@ |
||||
# Copyright (C) 2012 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. 51 Franklin Street Fifth Floor Boston, |
||||
# MA 02110-1301 USA |
||||
# |
||||
# Refer docs/README.imxmage for more details about how-to configure |
||||
# and create imximage boot image |
||||
# |
||||
# The syntax is taken as close as possible with the kwbimage |
||||
|
||||
# image version |
||||
|
||||
IMAGE_VERSION 2 |
||||
|
||||
# Boot Device : one of |
||||
# spi, sd (the board has no nand neither onenand) |
||||
|
||||
BOOT_FROM sd |
||||
|
||||
# Device Configuration Data (DCD) |
||||
# |
||||
# Each entry must have the format: |
||||
# Addr-type Address Value |
||||
# |
||||
# where: |
||||
# Addr-type register length (1,2 or 4 bytes) |
||||
# Address absolute address of the register |
||||
# value value to be stored in the register |
||||
DATA 4 0x020e05a8 0x00000028 |
||||
DATA 4 0x020e05b0 0x00000028 |
||||
DATA 4 0x020e0524 0x00000028 |
||||
DATA 4 0x020e051c 0x00000028 |
||||
|
||||
DATA 4 0x020e0518 0x00000028 |
||||
DATA 4 0x020e050c 0x00000028 |
||||
DATA 4 0x020e05b8 0x00000028 |
||||
DATA 4 0x020e05c0 0x00000028 |
||||
|
||||
DATA 4 0x020e05ac 0x00000028 |
||||
DATA 4 0x020e05b4 0x00000028 |
||||
DATA 4 0x020e0528 0x00000028 |
||||
DATA 4 0x020e0520 0x00000028 |
||||
|
||||
DATA 4 0x020e0514 0x00000028 |
||||
DATA 4 0x020e0510 0x00000028 |
||||
DATA 4 0x020e05bc 0x00000028 |
||||
DATA 4 0x020e05c4 0x00000028 |
||||
|
||||
DATA 4 0x020e056c 0x00000030 |
||||
DATA 4 0x020e0578 0x00000030 |
||||
DATA 4 0x020e0588 0x00000030 |
||||
DATA 4 0x020e0594 0x00000030 |
||||
|
||||
DATA 4 0x020e057c 0x00000030 |
||||
DATA 4 0x020e0590 0x00000030 |
||||
DATA 4 0x020e0598 0x00000030 |
||||
DATA 4 0x020e058c 0x00000000 |
||||
|
||||
DATA 4 0x020e059c 0x00003030 |
||||
DATA 4 0x020e05a0 0x00003030 |
||||
DATA 4 0x020e0784 0x00000028 |
||||
DATA 4 0x020e0788 0x00000028 |
||||
|
||||
DATA 4 0x020e0794 0x00000028 |
||||
DATA 4 0x020e079c 0x00000028 |
||||
DATA 4 0x020e07a0 0x00000028 |
||||
DATA 4 0x020e07a4 0x00000028 |
||||
|
||||
DATA 4 0x020e07a8 0x00000028 |
||||
DATA 4 0x020e0748 0x00000028 |
||||
DATA 4 0x020e074c 0x00000030 |
||||
DATA 4 0x020e0750 0x00020000 |
||||
|
||||
DATA 4 0x020e0758 0x00000000 |
||||
DATA 4 0x020e0774 0x00020000 |
||||
DATA 4 0x020e078c 0x00000030 |
||||
DATA 4 0x020e0798 0x000C0000 |
||||
|
||||
DATA 4 0x021b081c 0x33333333 |
||||
DATA 4 0x021b0820 0x33333333 |
||||
DATA 4 0x021b0824 0x33333333 |
||||
DATA 4 0x021b0828 0x33333333 |
||||
|
||||
DATA 4 0x021b481c 0x33333333 |
||||
DATA 4 0x021b4820 0x33333333 |
||||
DATA 4 0x021b4824 0x33333333 |
||||
DATA 4 0x021b4828 0x33333333 |
||||
|
||||
DATA 4 0x021b0018 0x00001740 |
||||
|
||||
DATA 4 0x021b001c 0x00008000 |
||||
DATA 4 0x021b000c 0x8A8F7975 |
||||
DATA 4 0x021b0010 0xFF538E64 |
||||
DATA 4 0x021b0014 0x01FF00DB |
||||
DATA 4 0x021b002c 0x000026D2 |
||||
|
||||
DATA 4 0x021b0030 0x008F0E21 |
||||
DATA 4 0x021b0008 0x09444040 |
||||
DATA 4 0x021b0004 0x00020036 |
||||
DATA 4 0x021b0040 0x00000047 |
||||
DATA 4 0x021b0000 0x841A0000 |
||||
|
||||
DATA 4 0x021b001c 0x04088032 |
||||
DATA 4 0x021b001c 0x00008033 |
||||
DATA 4 0x021b001c 0x00428031 |
||||
DATA 4 0x021b001c 0x09408030 |
||||
|
||||
DATA 4 0x021b001c 0x04008040 |
||||
DATA 4 0x021b0800 0xA1380003 |
||||
DATA 4 0x021b0020 0x00005800 |
||||
DATA 4 0x021b0818 0x00000007 |
||||
DATA 4 0x021b4818 0x00000007 |
||||
|
||||
# Calibration values based on ARD and 528MHz |
||||
DATA 4 0x021b083c 0x434B0358 |
||||
DATA 4 0x021b0840 0x033D033C |
||||
DATA 4 0x021b483c 0x03520362 |
||||
DATA 4 0x021b4840 0x03480318 |
||||
DATA 4 0x021b0848 0x41383A3C |
||||
DATA 4 0x021b4848 0x3F3C374A |
||||
DATA 4 0x021b0850 0x42434444 |
||||
DATA 4 0x021b4850 0x4932473A |
||||
|
||||
DATA 4 0x021b080c 0x001F001F |
||||
DATA 4 0x021b0810 0x001F001F |
||||
|
||||
DATA 4 0x021b480c 0x001F001F |
||||
DATA 4 0x021b4810 0x001F001F |
||||
|
||||
DATA 4 0x021b08b8 0x00000800 |
||||
DATA 4 0x021b48b8 0x00000800 |
||||
|
||||
DATA 4 0x021b0404 0x00011006 |
||||
DATA 4 0x021b0004 0x00025576 |
||||
|
||||
DATA 4 0x021b001c 0x00000000 |
||||
|
||||
DATA 4 0x020c4068 0x00C03F3F |
||||
DATA 4 0x020c406c 0x0030FC00 |
||||
DATA 4 0x020c4070 0x0FFFC000 |
||||
DATA 4 0x020c4074 0x3FF00000 |
||||
DATA 4 0x020c4078 0x00FFF300 |
||||
DATA 4 0x020c407c 0x0F0000C3 |
||||
DATA 4 0x020c4080 0x000003FF |
@ -0,0 +1,117 @@ |
||||
/*
|
||||
* Copyright (C) 2012 Freescale Semiconductor, Inc. |
||||
* |
||||
* Author: Fabio Estevam <fabio.estevam@freescale.com> |
||||
* |
||||
* 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. |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <asm/io.h> |
||||
#include <asm/arch/clock.h> |
||||
#include <asm/arch/imx-regs.h> |
||||
#include <asm/arch/iomux.h> |
||||
#include <asm/arch/mx6x_pins.h> |
||||
#include <asm/errno.h> |
||||
#include <asm/gpio.h> |
||||
#include <asm/imx-common/iomux-v3.h> |
||||
#include <mmc.h> |
||||
#include <fsl_esdhc.h> |
||||
DECLARE_GLOBAL_DATA_PTR; |
||||
|
||||
#define UART_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \ |
||||
PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
|
||||
PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS) |
||||
|
||||
#define USDHC_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \ |
||||
PAD_CTL_PUS_47K_UP | PAD_CTL_SPEED_LOW | \
|
||||
PAD_CTL_DSE_80ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS) |
||||
|
||||
int dram_init(void) |
||||
{ |
||||
gd->ram_size = get_ram_size((void *)PHYS_SDRAM, PHYS_SDRAM_SIZE); |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
iomux_v3_cfg_t uart4_pads[] = { |
||||
MX6Q_PAD_KEY_COL0__UART4_TXD | MUX_PAD_CTRL(UART_PAD_CTRL), |
||||
MX6Q_PAD_KEY_ROW0__UART4_RXD | MUX_PAD_CTRL(UART_PAD_CTRL), |
||||
}; |
||||
|
||||
iomux_v3_cfg_t usdhc3_pads[] = { |
||||
MX6Q_PAD_SD3_CLK__USDHC3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_SD3_CMD__USDHC3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_SD3_DAT0__USDHC3_DAT0 | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_SD3_DAT1__USDHC3_DAT1 | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_SD3_DAT2__USDHC3_DAT2 | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_SD3_DAT3__USDHC3_DAT3 | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_SD3_DAT4__USDHC3_DAT4 | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_SD3_DAT5__USDHC3_DAT5 | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_SD3_DAT6__USDHC3_DAT6 | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_SD3_DAT7__USDHC3_DAT7 | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_GPIO_18__USDHC3_VSELECT | MUX_PAD_CTRL(USDHC_PAD_CTRL), |
||||
MX6Q_PAD_NANDF_CS2__GPIO_6_15 | MUX_PAD_CTRL(NO_PAD_CTRL), |
||||
}; |
||||
|
||||
static void setup_iomux_uart(void) |
||||
{ |
||||
imx_iomux_v3_setup_multiple_pads(uart4_pads, ARRAY_SIZE(uart4_pads)); |
||||
} |
||||
|
||||
#ifdef CONFIG_FSL_ESDHC |
||||
struct fsl_esdhc_cfg usdhc_cfg[1] = { |
||||
{USDHC3_BASE_ADDR}, |
||||
}; |
||||
|
||||
int board_mmc_getcd(struct mmc *mmc) |
||||
{ |
||||
gpio_direction_input(IMX_GPIO_NR(6, 15)); |
||||
return !gpio_get_value(IMX_GPIO_NR(6, 15)); |
||||
} |
||||
|
||||
int board_mmc_init(bd_t *bis) |
||||
{ |
||||
imx_iomux_v3_setup_multiple_pads(usdhc3_pads, ARRAY_SIZE(usdhc3_pads)); |
||||
|
||||
return fsl_esdhc_initialize(bis, &usdhc_cfg[0]); |
||||
} |
||||
#endif |
||||
|
||||
u32 get_board_rev(void) |
||||
{ |
||||
return 0x63000; |
||||
} |
||||
|
||||
int board_early_init_f(void) |
||||
{ |
||||
setup_iomux_uart(); |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
int board_init(void) |
||||
{ |
||||
/* address of boot parameters */ |
||||
gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
int checkboard(void) |
||||
{ |
||||
puts("Board: MX6Q-Sabreauto\n"); |
||||
|
||||
return 0; |
||||
} |
@ -0,0 +1,20 @@ |
||||
/*
|
||||
* Copyright (C) 2012 Freescale Semiconductor, Inc. |
||||
* |
||||
* Configuration settings for the Freescale i.MX6Q SabreSD board. |
||||
* |
||||
* 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. |
||||
*/ |
||||
|
||||
#ifndef __MX6QSABREAUTO_CONFIG_H |
||||
#define __MX6QSABREAUTO_CONFIG_H |
||||
#include "mx6qsabre_common.h" |
||||
|
||||
#define CONFIG_MACH_TYPE 3529 |
||||
#define CONFIG_MXC_UART_BASE UART4_BASE |
||||
#define PHYS_SDRAM_SIZE (2u * 1024 * 1024 * 1024) |
||||
|
||||
#endif /* __MX6QSABREAUTO_CONFIG_H */ |
Loading…
Reference in new issue