bsp/imx: Add imx_get_reg_of_node()

Update #3090.
This commit is contained in:
Sebastian Huber
2017-09-28 10:03:44 +02:00
parent 7e195e66c7
commit ce28d601c9
3 changed files with 16 additions and 9 deletions

View File

@@ -71,18 +71,10 @@ static void imx_uart_init_context(
)
{
int node;
int len;
const uint32_t *val;
rtems_termios_device_context_initialize(&ctx->base, "UART");
node = fdt_path_offset(fdt, serial);
val = fdt_getprop(fdt, node, "reg", &len);
if (val != NULL && len >= 4) {
ctx->regs = (imx_uart *) fdt32_to_cpu(val[0]);
}
ctx->regs = imx_get_reg_of_node(fdt, node);
#ifdef CONSOLE_USE_INTERRUPTS
ctx->irq = imx_get_irq_of_node(fdt, node, 0);
#endif

View File

@@ -41,6 +41,8 @@ extern "C" {
void arm_generic_timer_get_config(uint32_t *frequency, uint32_t *irq);
void *imx_get_reg_of_node(const void *fdt, int node);
rtems_vector_number imx_get_irq_of_node(
const void *fdt,
int node,

View File

@@ -23,6 +23,19 @@
#define MAGIC_IRQ_OFFSET 32
void *imx_get_reg_of_node(const void *fdt, int node)
{
int len;
const uint32_t *val;
val = fdt_getprop(fdt, node, "reg", &len);
if (val == NULL || len < 4) {
return NULL;
}
return (void *) fdt32_to_cpu(val[0]);
}
rtems_vector_number imx_get_irq_of_node(
const void *fdt,
int node,