aboutsummaryrefslogtreecommitdiff
path: root/board/keymile/kmp204x/kmp204x.c
diff options
context:
space:
mode:
authorValentin Longchamp <valentin.longchamp@keymile.com>2014-01-27 11:49:12 +0100
committerYork Sun <yorksun@freescale.com>2014-02-03 08:38:51 -0800
commit27c78e06f2b42bd6285ed104ece23f6c69e42e6f (patch)
tree8b607d64fde89ccf5ee28bcb80f01b675e4a7bae /board/keymile/kmp204x/kmp204x.c
parent47c1180c022bf67615349257dc3de98388bac398 (diff)
downloadu-boot-27c78e06f2b42bd6285ed104ece23f6c69e42e6f.zip
u-boot-27c78e06f2b42bd6285ed104ece23f6c69e42e6f.tar.gz
u-boot-27c78e06f2b42bd6285ed104ece23f6c69e42e6f.tar.bz2
kmp204x: initial support for PCIe FPGA configuration
The PEXHC PCIe configuration mechanism ensures that the FPGA get configured at power-up. Since all the PCIe devices should be configured when the kernel start, u-boot has to take care that the FPGA gets configured also in other reset scenarios, mostly because of possible configuration change. The used mechanism is taken from the km_kirkwood design and adapted to the kmp204x case (slightly different HW and PCIe configuration). Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Reviewed-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'board/keymile/kmp204x/kmp204x.c')
-rw-r--r--board/keymile/kmp204x/kmp204x.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/board/keymile/kmp204x/kmp204x.c b/board/keymile/kmp204x/kmp204x.c
index a6c23a2..95a19cd 100644
--- a/board/keymile/kmp204x/kmp204x.c
+++ b/board/keymile/kmp204x/kmp204x.c
@@ -101,6 +101,7 @@ int board_early_init_f(void)
int board_early_init_r(void)
{
+ int ret = 0;
/* Flush d-cache and invalidate i-cache of any FLASH data */
flush_dcache();
invalidate_icache();
@@ -108,7 +109,11 @@ int board_early_init_r(void)
set_liodns();
setup_portals();
- return 0;
+ ret = trigger_fpga_config();
+ if (ret)
+ printf("error triggering PCIe FPGA config\n");
+
+ return ret;
}
unsigned long get_board_sys_clk(unsigned long dummy)