diff options
author | Wadim Egorov <w.egorov@phytec.de> | 2015-02-17 10:37:39 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-03-02 07:54:13 +0100 |
commit | 3297df00d6d674a05428e6bf0abf363f70efc1f0 (patch) | |
tree | 7e32902082ced616dc25374046323816c4d63ddb /arch/arm/boards/phytec-som-am335x | |
parent | eb657a510b68084c749f455f8edfe32f77c931c0 (diff) | |
download | barebox-3297df00d6d674a05428e6bf0abf363f70efc1f0.tar.gz barebox-3297df00d6d674a05428e6bf0abf363f70efc1f0.tar.xz |
boards: phytec-som-am335x: Add phycard-som support
Add support for the phyCARD SOM.
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/phytec-som-am335x')
-rw-r--r-- | arch/arm/boards/phytec-som-am335x/board.c | 6 | ||||
-rw-r--r-- | arch/arm/boards/phytec-som-am335x/lowlevel.c | 4 | ||||
-rw-r--r-- | arch/arm/boards/phytec-som-am335x/ram-timings.h | 23 |
3 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/boards/phytec-som-am335x/board.c b/arch/arm/boards/phytec-som-am335x/board.c index d08489890c..74e39d70fc 100644 --- a/arch/arm/boards/phytec-som-am335x/board.c +++ b/arch/arm/boards/phytec-som-am335x/board.c @@ -4,6 +4,7 @@ * Device initialization for the following modules and board variants: * - phyCORE: PCM-953, phyBOARD-MAIA, phyBOARD-WEGA * - phyFLEX: PBA-B-01 + * - phyCARD: PCA-A-XS1 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -89,6 +90,11 @@ static int physom_devices_init(void) barebox_set_hostname("pfla03"); } + if (of_machine_is_compatible("phytec,phycard-am335x-som")) { + armlinux_set_architecture(MACH_TYPE_PCAAXS1); + barebox_set_hostname("pcaaxs1"); + } + /* Register update handler */ am33xx_bbu_spi_nor_mlo_register_handler("MLO.spi", "/dev/m25p0.xload"); am33xx_bbu_spi_nor_register_handler("spi", "/dev/m25p0.barebox"); diff --git a/arch/arm/boards/phytec-som-am335x/lowlevel.c b/arch/arm/boards/phytec-som-am335x/lowlevel.c index 87ad1f32bc..948bfa5147 100644 --- a/arch/arm/boards/phytec-som-am335x/lowlevel.c +++ b/arch/arm/boards/phytec-som-am335x/lowlevel.c @@ -131,3 +131,7 @@ PHYTEC_ENTRY(start_am33xx_phytec_phycore_no_spi_sdram, am335x_phytec_phycore_som PHYTEC_ENTRY_MLO(start_am33xx_phytec_phyflex_sram_256mb, am335x_phytec_phyflex_som_mlo, PHYFLEX_MT41K128M16JT_256MB); PHYTEC_ENTRY_MLO(start_am33xx_phytec_phyflex_sram_512mb, am335x_phytec_phyflex_som_mlo, PHYFLEX_MT41K256M16HA_512MB); PHYTEC_ENTRY(start_am33xx_phytec_phyflex_sdram, am335x_phytec_phyflex_som); + +/* phycard-som */ +PHYTEC_ENTRY_MLO(start_am33xx_phytec_phycard_sram_256mb, am335x_phytec_phycard_som_mlo, PHYCARD_NT5CB128M16BP_256MB); +PHYTEC_ENTRY(start_am33xx_phytec_phycard_sdram, am335x_phytec_phycard_som); diff --git a/arch/arm/boards/phytec-som-am335x/ram-timings.h b/arch/arm/boards/phytec-som-am335x/ram-timings.h index 6d1993ed55..3dcee207ee 100644 --- a/arch/arm/boards/phytec-som-am335x/ram-timings.h +++ b/arch/arm/boards/phytec-som-am335x/ram-timings.h @@ -29,6 +29,8 @@ enum { PHYCORE_MT41J64M1615IT_128MB, PHYCORE_MT41J256M16HA15EIT_512MB, PHYCORE_MT41J512M8125IT_2x512MB, + + PHYCARD_NT5CB128M16BP_256MB, }; struct am335x_sdram_timings physom_timings[] = { @@ -149,6 +151,27 @@ struct am335x_sdram_timings physom_timings[] = { .wr_slave_ratio0 = 0x80, }, }, + + /* 256MB */ + [PHYCARD_NT5CB128M16BP_256MB] = { + .regs = { + .emif_read_latency = 0x7, + .emif_tim1 = 0x0AAAD4DB, + .emif_tim2 = 0x26437FDA, + .emif_tim3 = 0x501F83FF, + .sdram_config = 0x61C052B2, + .zq_config = 0x50074BE4, + .sdram_ref_ctrl = 0x00000C30, + }, + .data = { + .rd_slave_ratio0 = 0x35, + .wr_dqs_slave_ratio0 = 0x3A, + .fifo_we_slave_ratio0 = 0x9b, + .wr_slave_ratio0 = 0x73, + .use_rank0_delay = 0x01, + .dll_lock_diff0 = 0x0, + }, + }, }; #endif |