Hi Lucas, On Mon, Jul 10, 2017 at 05:21:08PM +0200, Lucas Stach wrote: > From: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > > This adds preliminary support for the phyCORE i.MX7 module on a > phyBOARD-Zeta baseboard. The DTs will likely change in the future > when PHYTEC finalizes their BSP. > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > --- > lst: Rebased and fixed for upstream pinfunc changes. Tested PSCI > kernel booting. > --- > arch/arm/boards/Makefile | 1 + > arch/arm/boards/phytec-phycore-imx7/Makefile | 2 + > arch/arm/boards/phytec-phycore-imx7/board.c | 42 ++++ > .../flash-header-phytec-phycore-imx7.imxcfg | 76 ++++++ > arch/arm/boards/phytec-phycore-imx7/lowlevel.c | 48 ++++ > arch/arm/configs/imx_v7_defconfig | 4 +- > arch/arm/dts/Makefile | 1 + > arch/arm/dts/imx7d-pba-c-09.dtsi | 272 +++++++++++++++++++++ > arch/arm/dts/imx7d-peb-av-02.dtsi | 104 ++++++++ > arch/arm/dts/imx7d-peb-eval-02.dtsi | 130 ++++++++++ > arch/arm/dts/imx7d-phyboard-zeta.dts | 144 +++++++++++ > arch/arm/dts/imx7d-phycore-som.dtsi | 272 +++++++++++++++++++++ > arch/arm/mach-imx/Kconfig | 4 + > images/Makefile.imx | 5 + > 14 files changed, 1104 insertions(+), 1 deletion(-) > create mode 100644 arch/arm/boards/phytec-phycore-imx7/Makefile > create mode 100644 arch/arm/boards/phytec-phycore-imx7/board.c > create mode 100644 arch/arm/boards/phytec-phycore-imx7/flash-header-phytec-phycore-imx7.imxcfg > create mode 100644 arch/arm/boards/phytec-phycore-imx7/lowlevel.c > create mode 100644 arch/arm/dts/imx7d-pba-c-09.dtsi > create mode 100644 arch/arm/dts/imx7d-peb-av-02.dtsi > create mode 100644 arch/arm/dts/imx7d-peb-eval-02.dtsi > create mode 100644 arch/arm/dts/imx7d-phyboard-zeta.dts > create mode 100644 arch/arm/dts/imx7d-phycore-som.dtsi > > diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile > index 9bbdd684fa6c..c6840a633c0d 100644 > --- a/arch/arm/boards/Makefile > +++ b/arch/arm/boards/Makefile > @@ -89,6 +89,7 @@ obj-$(CONFIG_MACH_PCM043) += phytec-phycore-imx35/ > obj-$(CONFIG_MACH_PCM049) += phytec-phycore-omap4460/ > obj-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += phytec-som-am335x/ > obj-$(CONFIG_MACH_PHYTEC_SOM_IMX6) += phytec-som-imx6/ > +obj-$(CONFIG_MACH_PHYTEC_PHYCORE_IMX7) += phytec-phycore-imx7/ > obj-$(CONFIG_MACH_PLATHOME_OPENBLOCKS_AX3) += plathome-openblocks-ax3/ > obj-$(CONFIG_MACH_PLATHOME_OPENBLOCKS_A6) += plathome-openblocks-a6/ > obj-$(CONFIG_MACH_PM9261) += pm9261/ > diff --git a/arch/arm/boards/phytec-phycore-imx7/Makefile b/arch/arm/boards/phytec-phycore-imx7/Makefile > new file mode 100644 > index 000000000000..01c7a259e9a5 > --- /dev/null > +++ b/arch/arm/boards/phytec-phycore-imx7/Makefile > @@ -0,0 +1,2 @@ > +obj-y += board.o > +lwl-y += lowlevel.o > diff --git a/arch/arm/boards/phytec-phycore-imx7/board.c b/arch/arm/boards/phytec-phycore-imx7/board.c > new file mode 100644 > index 000000000000..d4451602b047 > --- /dev/null > +++ b/arch/arm/boards/phytec-phycore-imx7/board.c > @@ -0,0 +1,42 @@ > +/* > + * Copyright (C) 2017 Sascha Hauer, Pengutronix > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of > + * the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +#include <common.h> > +#include <init.h> > +#include <environment.h> > +#include <mach/bbu.h> > +#include <asm/armlinux.h> > +#include <generated/mach-types.h> > +#include <partition.h> > +#include <mach/generic.h> > +#include <linux/sizes.h> > +#include <asm/psci.h> > +#include <io.h> > +#include <mach/imx7-regs.h> > +#include <serial/imx-uart.h> > +#include <asm/secure.h> > + > +static int warp7_devices_init(void) Maybe this function should be renamed to hide the origin of the code ;-) > +{ > + if (!of_machine_is_compatible("phytec,imx7d-phycore-som")) > + return 0; > + > + imx6_bbu_internal_mmc_register_handler("mmc", "/dev/mmc2.boot0.barebox", > + BBU_HANDLER_FLAG_DEFAULT); > + > + psci_set_putc(imx_uart_putc, IOMEM(MX7_UART5_BASE_ADDR)); > + > + return 0; > +} > +mem_initcall(warp7_devices_init); Shouldn't this be a device_initcall()? Using mem_initcall() for a function that does nothing memory specific is a bit strange. Kind regards, Stefan Lengfeld _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox