[PATCH 1/5] ARM: novena: Add Kosagi Novena board
Sascha Hauer
sha at pengutronix.de
Mon Jan 23 01:20:30 PST 2023
On Mon, Jan 23, 2023 at 04:51:37AM +1100, John Watts wrote:
> The Kosagi Novena is an open source laptop released in 2014.
>
> This patch adds the initial project skeleton for running the PBL
> and debugging over the UART2 port (labeled DEBUG on the board.)
>
> Signed-off-by: John Watts <contact at jookia.org>
> ---
> arch/arm/boards/Makefile | 1 +
> arch/arm/boards/novena/Makefile | 4 +
> arch/arm/boards/novena/board.c | 13 ++++
> .../boards/novena/flash-header-novena.imxcfg | 6 ++
> arch/arm/boards/novena/lowlevel.c | 73 +++++++++++++++++++
> arch/arm/configs/imx_v7_defconfig | 1 +
> arch/arm/dts/Makefile | 1 +
> arch/arm/dts/imx6q-novena.dts | 4 +
> arch/arm/mach-imx/Kconfig | 6 ++
> images/Makefile.imx | 2 +
> 10 files changed, 111 insertions(+)
> create mode 100644 arch/arm/boards/novena/Makefile
> create mode 100644 arch/arm/boards/novena/board.c
> create mode 100644 arch/arm/boards/novena/flash-header-novena.imxcfg
> create mode 100644 arch/arm/boards/novena/lowlevel.c
> create mode 100644 arch/arm/dts/imx6q-novena.dts
>
> diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile
> index 0f4339ebed..177c1da2c5 100644
> --- a/arch/arm/boards/Makefile
> +++ b/arch/arm/boards/Makefile
> @@ -19,6 +19,7 @@ obj-$(CONFIG_MACH_BEAGLEBONE) += beaglebone/
> obj-$(CONFIG_MACH_CANON_A1100) += canon-a1100/
> obj-$(CONFIG_MACH_CM_FX6) += cm-fx6/
> obj-$(CONFIG_MACH_NITROGEN6) += boundarydevices-nitrogen6/
> +obj-$(CONFIG_MACH_NOVENA) += novena/
> obj-$(CONFIG_MACH_CCMX51) += ccxmx51/
> obj-$(CONFIG_MACH_CCMX53) += ccxmx53/
> obj-$(CONFIG_MACH_CFA10036) += crystalfontz-cfa10036/
> diff --git a/arch/arm/boards/novena/Makefile b/arch/arm/boards/novena/Makefile
> new file mode 100644
> index 0000000000..da63d2625f
> --- /dev/null
> +++ b/arch/arm/boards/novena/Makefile
> @@ -0,0 +1,4 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +
> +obj-y += board.o
> +lwl-y += lowlevel.o
> diff --git a/arch/arm/boards/novena/board.c b/arch/arm/boards/novena/board.c
> new file mode 100644
> index 0000000000..186f91093f
> --- /dev/null
> +++ b/arch/arm/boards/novena/board.c
> @@ -0,0 +1,13 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +// SPDX-FileCopyrightText: 2023 John Watts
> +
> +#include <common.h>
> +
> +static int novena_device_init(void)
> +{
> + if (!of_machine_is_compatible("kosagi,imx6q-novena"))
> + return 0;
> +
> + return 0;
> +}
> +device_initcall(novena_device_init);
The new way to register board code is to register a driver that matches
to OF root node, see arch/arm/boards/nxp-imx8mm-evk/board.c:74 for an
example.
Also we have a mechanism in place that probes devices on demand when
they are needed and no longer in a fixed order. As this requires some
support by the board it must be enabled per board using:
BAREBOX_DEEP_PROBE_ENABLE(novema_of_match);
It would be great if you could switch to that. As said the board code
needs to support this, I'll comment to that in the next patch.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list