summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/phytec-som-am335x
diff options
context:
space:
mode:
authorWadim Egorov <w.egorov@phytec.de>2015-02-17 10:37:39 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-03-02 07:54:13 +0100
commit3297df00d6d674a05428e6bf0abf363f70efc1f0 (patch)
tree7e32902082ced616dc25374046323816c4d63ddb /arch/arm/boards/phytec-som-am335x
parenteb657a510b68084c749f455f8edfe32f77c931c0 (diff)
downloadbarebox-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.c6
-rw-r--r--arch/arm/boards/phytec-som-am335x/lowlevel.c4
-rw-r--r--arch/arm/boards/phytec-som-am335x/ram-timings.h23
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