diff options
author | Jun Nie <jun.nie@linaro.org> | 2018-08-07 15:32:52 +0800 |
---|---|---|
committer | Jun Nie <jun.nie@linaro.org> | 2018-08-07 15:42:04 +0800 |
commit | fe9b4bfd45c0585589ddd339630d81b463d424a4 (patch) | |
tree | 61825ad20fd80ac294f795af914a4d3e0ac99aac | |
parent | 406c5c7c046774b8e16699df365c7c77f454b54a (diff) |
warp7: Add basic platform setup
Add basic platform setup code, include console and GIC
initilization.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
-rw-r--r-- | include/plat/nxp/common/plat_nxp.h | 53 | ||||
-rw-r--r-- | plat/nxp/board/warp7/plat_setup.c | 28 | ||||
-rw-r--r-- | plat/nxp/common/nxp_setup.c | 68 |
3 files changed, 149 insertions, 0 deletions
diff --git a/include/plat/nxp/common/plat_nxp.h b/include/plat/nxp/common/plat_nxp.h new file mode 100644 index 0000000..e00b3a3 --- /dev/null +++ b/include/plat/nxp/common/plat_nxp.h @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of ARM nor the names of its contributors may be used + * to endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __PLAT_NXP_H__ +#define __PLAT_NXP_H__ + +/* + * Initialises the IO + * Returns: IO_SUCCESS + * IO_FAIL + * IO_NOT_SUPPORTED + * IO_RESOURCES_EXHAUSTED + */ +int nxp_io_setup(void); + +/* Initialises the IO and the GIC. */ +void nxp_platform_setup(void); + +/******************************************************************************* + * NXP platforms porting interfaces are located below. + ******************************************************************************/ + +/* Initialises the Generic Interrupt Controller (GIC). */ +void plat_nxp_gic_init(void); + +#endif /* __PLAT_NXP_H__ */ diff --git a/plat/nxp/board/warp7/plat_setup.c b/plat/nxp/board/warp7/plat_setup.c new file mode 100644 index 0000000..f68a653 --- /dev/null +++ b/plat/nxp/board/warp7/plat_setup.c @@ -0,0 +1,28 @@ +/** @file +* +* Copyright (c) 2018, ARM Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the BSD License +* which accompanies this distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +#include <arm_gic.h> +#include <mmio.h> +#include <plat_nxp.h> +#include <platform.h> + +void tftf_platform_setup(void) +{ + nxp_platform_setup(); +} + +void plat_nxp_gic_init(void) +{ + arm_gic_init(GICC_BASE, GICD_BASE, GICR_BASE); +} diff --git a/plat/nxp/common/nxp_setup.c b/plat/nxp/common/nxp_setup.c new file mode 100644 index 0000000..055720d --- /dev/null +++ b/plat/nxp/common/nxp_setup.c @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of ARM nor the names of its contributors may be used + * to endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include <arm_gic.h> +#include <console.h> +#include <debug.h> +#include <io_storage.h> +#include <plat_nxp.h> +#include <platform_def.h> +#include <platform.h> + +#pragma weak tftf_platform_setup + +void nxp_platform_setup(void) +{ + plat_nxp_gic_init(); + + arm_gic_setup_global(); + arm_gic_setup_local(); +} + +void tftf_platform_setup(void) +{ + nxp_platform_setup(); +} + +void tftf_plat_arch_setup(void) +{ +} + +void tftf_early_platform_setup(void) +{ + console_init(PLAT_WARP7_BOOT_UART_BASE, PLAT_WARP7_BOOT_UART_CLK_IN_HZ, + PLAT_WARP7_BOOT_UART_BAUDRATE); + printf("TFTP nxp console init finished\n"); +} + +void tftf_plat_reset(void) +{ + //nxp_wdog_start(1); +} |