summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2014-04-23 13:42:22 -0700
committerMarc Jones <marc.jones@se-eng.com>2014-12-30 20:17:39 +0100
commit4f062ae381db3c7e5b1b64ce22db374f63f048d7 (patch)
treec19003460ee720272ea702a1c047376dd1366604
parent6a3f92f55c7288e1b8cde00088188bcd9171139e (diff)
downloadcoreboot-4f062ae381db3c7e5b1b64ce22db374f63f048d7.tar.xz
ipq8064: prepare include files before adding UART driver
These patch modifies .h files to match the coreboot API. A few more significant changes are: - UART specific fields removed from common board structure in cdp.h. These fields are set at compile time in u-boot (where this structure comes from), they will be set in a different structure in the UART driver in an upcoming patch. - an inline wrapper is added in gpio.h to provide GPIO API the UART driver expects. - the ipq_configure_gpio() is passed the descriptor placed in ro data. BUG=chrome-os-partner:27784 TEST=none Original-Change-Id: Id49507fb0c72ef993a89b538cd417b6c86ae3786 Original-Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/196661 Original-Reviewed-by: Stefan Reinauer <reinauer@chromium.org> (cherry picked from commit ea400f1b720eb671fa411c5fd1df7efd14fdacd6) Signed-off-by: Marc Jones <marc.jones@se-eng.com> Change-Id: I2c7be09675b225de99be3c94b22e9ee2ebb2cb9a Reviewed-on: http://review.coreboot.org/7873 Tested-by: build bot (Jenkins) Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
-rw-r--r--src/soc/qualcomm/ipq806x/include/cdp.h10
-rw-r--r--src/soc/qualcomm/ipq806x/include/gpio.h8
-rw-r--r--src/soc/qualcomm/ipq806x/include/gsbi.h2
-rw-r--r--src/soc/qualcomm/ipq806x/include/ipq_uart.h5
4 files changed, 11 insertions, 14 deletions
diff --git a/src/soc/qualcomm/ipq806x/include/cdp.h b/src/soc/qualcomm/ipq806x/include/cdp.h
index 22ba192bc4..15f91cb169 100644
--- a/src/soc/qualcomm/ipq806x/include/cdp.h
+++ b/src/soc/qualcomm/ipq806x/include/cdp.h
@@ -106,20 +106,12 @@ typedef struct {
/* Board specific parameters */
typedef struct {
- unsigned int machid;
- unsigned int ddr_size;
- unsigned int uart_gsbi;
- unsigned int uart_gsbi_base;
- unsigned int uart_dm_base;
- unsigned int clk_dummy;
#if 0
- uart_clk_mnd_t mnd_value;
unsigned int gmac_gpio_count;
gpio_func_data_t *gmac_gpio;
ipq_gmac_board_cfg_t gmac_cfg[IPQ_GMAC_NMACS];
flash_desc flashdesc;
spinorflash_params_t flash_param;
- gpio_func_data_t dbg_uart_gpio[NO_OF_DBG_UART_GPIOS];
#endif
} __attribute__ ((__packed__)) board_ipq806x_params_t;
@@ -141,5 +133,5 @@ static inline int gmac_cfg_is_valid(ipq_gmac_board_cfg_t *cfg)
#endif
unsigned int get_board_index(unsigned machid);
-void ipq_configure_gpio(gpio_func_data_t *gpio, unsigned count);
+void ipq_configure_gpio(const gpio_func_data_t *gpio, unsigned count);
#endif
diff --git a/src/soc/qualcomm/ipq806x/include/gpio.h b/src/soc/qualcomm/ipq806x/include/gpio.h
index 678da0dcae..efaf30e996 100644
--- a/src/soc/qualcomm/ipq806x/include/gpio.h
+++ b/src/soc/qualcomm/ipq806x/include/gpio.h
@@ -92,4 +92,12 @@ void gpio_tlmm_config_get(gpio_t gpio, unsigned int *func,
void gpio_io_config_set(gpio_t gpio, unsigned int out);
void gpio_io_config_get(gpio_t gpio, unsigned int *in, unsigned int *out);
+
+/* Keep this to maintain backwards compatibility with the vendor API. */
+static inline void gpio_tlmm_config(unsigned int gpio, unsigned int func,
+ unsigned int dir, unsigned int pull,
+ unsigned int drvstr, unsigned int enable)
+{
+ gpio_tlmm_config_set(gpio, func, pull, drvstr, enable);
+}
#endif // __SOC_QUALCOMM_IPQ806X_GPIO_H_
diff --git a/src/soc/qualcomm/ipq806x/include/gsbi.h b/src/soc/qualcomm/ipq806x/include/gsbi.h
index d2ba2b310a..c12d6fd7b4 100644
--- a/src/soc/qualcomm/ipq806x/include/gsbi.h
+++ b/src/soc/qualcomm/ipq806x/include/gsbi.h
@@ -19,8 +19,6 @@
#ifndef __GSBI_H_
#define __GSBI_H_
-#include <asm/io.h>
-
/* GSBI Registers */
#define GSBI_CTRL_REG(base) ((base) + 0x0)
diff --git a/src/soc/qualcomm/ipq806x/include/ipq_uart.h b/src/soc/qualcomm/ipq806x/include/ipq_uart.h
index 6fff0468f8..da943b909a 100644
--- a/src/soc/qualcomm/ipq806x/include/ipq_uart.h
+++ b/src/soc/qualcomm/ipq806x/include/ipq_uart.h
@@ -32,14 +32,13 @@
#ifndef __UART_DM_H__
#define __UART_DM_H__
-#include <asm/io.h>
-#include "common.h"
+#define PERIPH_BLK_BLSP 0
+
#define MSM_BOOT_UART_DM_EXTR_BITS(value, start_pos, end_pos) \
((value << (32 - end_pos))\
>> (32 - (end_pos - start_pos)))
-extern void dsb(void);
#define PACK_CHARS_INTO_WORDS(a, cnt, word) { \
word = 0; \
int j; \