-
Notifications
You must be signed in to change notification settings - Fork 176
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mx6sl: Add initial support for mx6slevk board
mx6slevk board is a development board from Freescale based on the mx6 solo-lite processor. For details about mx6slevk, please refer to: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX6SLEVK&parentCode=i.MX6SL&fpsp=1 Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
- Loading branch information
Showing
6 changed files
with
439 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# (C) Copyright 2013 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. | ||
# | ||
|
||
include $(TOPDIR)/config.mk | ||
|
||
LIB = $(obj)lib$(BOARD).o | ||
|
||
COBJS := mx6slevk.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 | ||
|
||
######################################################################### |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
/* | ||
* Copyright (C) 2013 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. | ||
* | ||
* 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 0x020c4018 0x00260324 | ||
|
||
DATA 4 0x020c4068 0xffffffff | ||
DATA 4 0x020c406c 0xffffffff | ||
DATA 4 0x020c4070 0xffffffff | ||
DATA 4 0x020c4074 0xffffffff | ||
DATA 4 0x020c4078 0xffffffff | ||
DATA 4 0x020c407c 0xffffffff | ||
DATA 4 0x020c4080 0xffffffff | ||
|
||
DATA 4 0x020e0344 0x00003030 | ||
DATA 4 0x020e0348 0x00003030 | ||
DATA 4 0x020e034c 0x00003030 | ||
DATA 4 0x020e0350 0x00003030 | ||
DATA 4 0x020e030c 0x00000030 | ||
DATA 4 0x020e0310 0x00000030 | ||
DATA 4 0x020e0314 0x00000030 | ||
DATA 4 0x020e0318 0x00000030 | ||
DATA 4 0x020e0300 0x00000030 | ||
DATA 4 0x020e031c 0x00000030 | ||
DATA 4 0x020e0338 0x00000028 | ||
DATA 4 0x020e0320 0x00000030 | ||
DATA 4 0x020e032c 0x00000000 | ||
DATA 4 0x020e033c 0x00000008 | ||
DATA 4 0x020e0340 0x00000008 | ||
DATA 4 0x020e05c4 0x00000030 | ||
DATA 4 0x020e05cc 0x00000030 | ||
DATA 4 0x020e05d4 0x00000030 | ||
DATA 4 0x020e05d8 0x00000030 | ||
DATA 4 0x020e05ac 0x00000030 | ||
DATA 4 0x020e05c8 0x00000030 | ||
DATA 4 0x020e05b0 0x00020000 | ||
DATA 4 0x020e05b4 0x00000000 | ||
DATA 4 0x020e05c0 0x00020000 | ||
DATA 4 0x020e05d0 0x00080000 | ||
|
||
DATA 4 0x021b001c 0x00008000 | ||
DATA 4 0x021b085c 0x1b4700c7 | ||
DATA 4 0x021b0800 0xa1390003 | ||
DATA 4 0x021b0890 0x00300000 | ||
DATA 4 0x021b08b8 0x00000800 | ||
DATA 4 0x021b081c 0x33333333 | ||
DATA 4 0x021b0820 0x33333333 | ||
DATA 4 0x021b0824 0x33333333 | ||
DATA 4 0x021b0828 0x33333333 | ||
DATA 4 0x021b082c 0xf3333333 | ||
DATA 4 0x021b0830 0xf3333333 | ||
DATA 4 0x021b0834 0xf3333333 | ||
DATA 4 0x021b0838 0xf3333333 | ||
DATA 4 0x021b0848 0x4241444a | ||
DATA 4 0x021b0850 0x3030312b | ||
DATA 4 0x021b083c 0x20000000 | ||
DATA 4 0x021b0840 0x00000000 | ||
DATA 4 0x021b08c0 0x24911492 | ||
DATA 4 0x021b08b8 0x00000800 | ||
DATA 4 0x021b000c 0x33374133 | ||
DATA 4 0x021b0004 0x00020024 | ||
DATA 4 0x021b0010 0x00100A82 | ||
DATA 4 0x021b0014 0x00000093 | ||
DATA 4 0x021b0018 0x00001688 | ||
DATA 4 0x021b002c 0x0f9f26d2 | ||
DATA 4 0x021b0030 0x0000020e | ||
DATA 4 0x021b0038 0x00190778 | ||
DATA 4 0x021b0008 0x00000000 | ||
DATA 4 0x021b0040 0x0000004f | ||
DATA 4 0x021b0000 0xc3110000 | ||
DATA 4 0x021b001c 0x003f8030 | ||
DATA 4 0x021b001c 0xff0a8030 | ||
DATA 4 0x021b001c 0x82018030 | ||
DATA 4 0x021b001c 0x04028030 | ||
DATA 4 0x021b001c 0x02038030 | ||
DATA 4 0x021b001c 0xff0a8038 | ||
DATA 4 0x021b001c 0x82018038 | ||
DATA 4 0x021b001c 0x04028038 | ||
DATA 4 0x021b001c 0x02038038 | ||
DATA 4 0x021b0800 0xa1310003 | ||
DATA 4 0x021b0020 0x00001800 | ||
DATA 4 0x021b0818 0x00000000 | ||
DATA 4 0x021b08b8 0x00000800 | ||
DATA 4 0x021b0004 0x00025564 | ||
DATA 4 0x021b0404 0x00011006 | ||
DATA 4 0x021b001c 0x00000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
/* | ||
* Copyright (C) 2013 Freescale Semiconductor, Inc. | ||
* | ||
* Author: Fabio Estevam <fabio.estevam@freescale.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. | ||
*/ | ||
|
||
#include <asm/arch/clock.h> | ||
#include <asm/arch/iomux.h> | ||
#include <asm/arch/imx-regs.h> | ||
#include <asm/arch/mx6-pins.h> | ||
#include <asm/arch/sys_proto.h> | ||
#include <asm/gpio.h> | ||
#include <asm/imx-common/iomux-v3.h> | ||
#include <asm/io.h> | ||
#include <asm/sizes.h> | ||
#include <common.h> | ||
#include <fsl_esdhc.h> | ||
#include <mmc.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_22K_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; | ||
} | ||
|
||
static iomux_v3_cfg_t const uart1_pads[] = { | ||
MX6_PAD_UART1_TXD__UART1_TXD | MUX_PAD_CTRL(UART_PAD_CTRL), | ||
MX6_PAD_UART1_RXD__UART1_RXD | MUX_PAD_CTRL(UART_PAD_CTRL), | ||
}; | ||
|
||
static iomux_v3_cfg_t const usdhc2_pads[] = { | ||
MX6_PAD_SD2_CLK__USDHC2_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL), | ||
MX6_PAD_SD2_CMD__USDHC2_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL), | ||
MX6_PAD_SD2_DAT0__USDHC2_DAT0 | MUX_PAD_CTRL(USDHC_PAD_CTRL), | ||
MX6_PAD_SD2_DAT1__USDHC2_DAT1 | MUX_PAD_CTRL(USDHC_PAD_CTRL), | ||
MX6_PAD_SD2_DAT2__USDHC2_DAT2 | MUX_PAD_CTRL(USDHC_PAD_CTRL), | ||
MX6_PAD_SD2_DAT3__USDHC2_DAT3 | MUX_PAD_CTRL(USDHC_PAD_CTRL), | ||
}; | ||
|
||
static void setup_iomux_uart(void) | ||
{ | ||
imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads)); | ||
} | ||
|
||
static struct fsl_esdhc_cfg usdhc_cfg[1] = { | ||
{USDHC2_BASE_ADDR}, | ||
}; | ||
|
||
int board_mmc_getcd(struct mmc *mmc) | ||
{ | ||
return 1; /* Assume boot SD always present */ | ||
} | ||
|
||
int board_mmc_init(bd_t *bis) | ||
{ | ||
imx_iomux_v3_setup_multiple_pads(usdhc2_pads, ARRAY_SIZE(usdhc2_pads)); | ||
|
||
usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK); | ||
return fsl_esdhc_initialize(bis, &usdhc_cfg[0]); | ||
} | ||
|
||
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; | ||
} | ||
|
||
u32 get_board_rev(void) | ||
{ | ||
return get_cpu_rev(); | ||
} | ||
|
||
int checkboard(void) | ||
{ | ||
puts("Board: MX6SLEVK\n"); | ||
|
||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.