
On 28/06/2012 22:36, Philippe Reynes wrote:
Signed-off-by: Philippe Reynes tremyfr@yahoo.fr Signed-off-by: Eric Jarrige eric.jarrige@armadeus.org
Hi Philippe,
- */
+#include <common.h>
+#if defined(CONFIG_FPGA)
Maybe you can drop this and compiling this file only if CONFIG_FPGA is set, changing your Makefile
+#define GPIO_PORT(x) ((x & GPIO_PORT_MASK) >> GPIO_PORT_SHIFT) +#define GPIO_SET(x) writel(readl(&gpregs->port[GPIO_PORT(x)].dr) | \
(1 << (x & GPIO_PIN_MASK)), &gpregs->port[GPIO_PORT(x)].dr)
+/* (DR(GPIO_PORT(x)) |= (1<<(x & GPIO_PIN_MASK))) */ +#define GPIO_CLEAR(x) writel(readl(&gpregs->port[GPIO_PORT(x)].dr) & \
~(1 << (x & GPIO_PIN_MASK)), &gpregs->port[GPIO_PORT(x)].dr)
+/* (DR(GPIO_PORT(x)) &= ~(1<<(x & GPIO_PIN_MASK))) */ +#define GPIO_WRITE(x, y) (y ? GPIO_SET(x) : GPIO_CLEAR(x)) +#define GPIO_READ(x) ((readl(&gpregs->port[GPIO_PORT(x)].ssr) & \
(1 << (x & GPIO_PIN_MASK))) >> (x & GPIO_PIN_MASK))
No, we have in u-boot a GPIO API to access the GPIOs. Check ./include/asm-generic/gpio.h, and the implementation for other i.MX SOCs.
+#ifdef FPGA_DEBUG +#define PRINTF(fmt, args...) printf(fmt, ##args) +#else +#define PRINTF(fmt, args...) +#endif
Do not set your special version - use DEBUG instead
+/* Note that these are pointers to code that is in Flash. They will be
- relocated at runtime.
- Spartan2 code is used to download our Spartan 3 :) code is compatible.
- Just take care about the file size
+*/
Wrong multiline comment - it should be like this:
/* * Part of your multiline * comment */
Please check this issue everywhere in your code
+Xilinx_Spartan3_Slave_Parallel_fns fpga_fns = {
- fpga_pre_fn,
- fpga_pgm_fn,
- fpga_init_fn,
- NULL,
- fpga_done_fn,
- fpga_clk_fn,
- fpga_cs_fn,
- fpga_wr_fn,
- fpga_rdata_fn,
- fpga_wdata_fn,
- fpga_busy_fn,
- fpga_abort_fn,
- fpga_post_fn,
+};
+Xilinx_desc fpga[CONFIG_FPGA_COUNT] = {
- {Xilinx_Spartan3,
slave_parallel,
1196128l/8,
(void *) &fpga_fns,
0}
+};
+/*
- nitialize GPIO port B before download
initialize
Best regards, Stefano Babic