From patchwork Wed Oct 13 20:47:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Piotr Dymacz X-Patchwork-Id: 1540662 X-Patchwork-Delegate: pepe2k@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=tVeoCktH; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=cLQ+dn4B; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4HV4gK2qhlz9s0r for ; Thu, 14 Oct 2021 08:00:29 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=6QPbm5DWCktG7GYZ2VO/2Id2axy3PCoxoUwoo41uTpE=; b=tVeoCktHgF/RKM 1QK7BeyICGEUOd7cHdbFFr+5TzJryIHYA7Fzs3R1dsPluravu+HHaqFR5barZ+eJ9EEDoWs2Sgs+m tkG8qjSyZ3Qtrw0ioP1uLcW7gxim3kLD06of6g2lkr/pkj9ulE6+qVA08rzKUURli6VMoYNd+SbJW QrWvoQCspMr4efSpbuB9xuhOQy0//raumpbKW+EQ84SLsFDH9wEbW2XYGcqgwTFGCfUZa6Ff8Styx 4ymc904yxY5hgUjKf5HIyJzasCCZpYVYJGJdbBpbvK2n2AUkDairbIeXYerGiShNmWSxZaHiDrO49 Ly7Up2jTintOyKUKEfjA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1malKM-000d9j-9s; Wed, 13 Oct 2021 20:58:19 +0000 Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mal9x-000YXI-Ns for openwrt-devel@lists.openwrt.org; Wed, 13 Oct 2021 20:47:37 +0000 Received: by mail-lf1-x12e.google.com with SMTP id r19so16947078lfe.10 for ; Wed, 13 Oct 2021 13:47:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=09oYIxgsERD59cy1P4Mijf7UQVCf5bRL8elyH24J1wc=; b=cLQ+dn4Bf++j6QOxCViiwFZD+DixuNa4NSQBAb6yUqp2o3WWV5f5ySW8s08RRcFgEC AnZoI/X6oS5gTm9wMUfSaf7jM3SQ3r6HN3na4XIlt004d80Vb75fFP2CnRwSs1zpXhVL uQHPdhMj7dvNc2ly+j2EJ6KpP5JG29Pd7lBxMdw4coEjl0HAiesu6Gxk1FMgII8oU8wu B7vPwx1CDDrLxNysVbuXLy2f9VJ31AmQ8zScRQqhaxPRSH2qpAmFstXQD5S+dn0lmIlK aG1NGGJbn5Qoq4+fZxZXnl/MZBoF2LyPnNKMP7qch+IWcSsFPWTkwaQcnsWRkQINtBsh OGww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=09oYIxgsERD59cy1P4Mijf7UQVCf5bRL8elyH24J1wc=; b=LfrNAFK8jXTXBNhfdCTS6a421m3B/d5oj1vR7FhYHdy3pUtzTgrSWYaCujhGoEP2ve DGDouZ609WrP3UeyK2VvGttXQpl9ZwQbPQig2VyvZo3WXmrfMnVVQTvgK6UdbahQ/SPK qnJKVjTzgBj0q+9TcalXe4lmDxg2onDiaoPS64km1rIqvVjaMNvsmTRWEMx3OR6RBh1+ 7ihKBA69G1v1qEkTRfAPJzhmcCiIyJQvWbEgzmg2d8tkAUvkJrpaAAJePg7sPedaVmP0 fSUpGdDiLBAIGnW4zpZxUos9imILxI1UBtTSbRD2rMrf0XwFfz1O38hOMwA4tNxg5GWo UWFQ== X-Gm-Message-State: AOAM533+LDoiS/EZ/CjQtfrGgN90AGN4Vunpu3YMf6RuUigUe7sCcuxi bujxDZUWGRFPKNChw/ZfUZYRI0wDW8o= X-Google-Smtp-Source: ABdhPJx/Z09KYT9eWcqStBVyye8XpSNZoMs+4qGbx4pyaHZKd387s1meqtLbDjbCSZVE46Xr3d23vw== X-Received: by 2002:a05:6512:150:: with SMTP id m16mr1149236lfo.331.1634158052227; Wed, 13 Oct 2021 13:47:32 -0700 (PDT) Received: from localhost.localdomain ([45.142.163.102]) by smtp.gmail.com with ESMTPSA id e14sm43383lfs.287.2021.10.13.13.47.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Oct 2021 13:47:31 -0700 (PDT) From: Piotr Dymacz To: openwrt-devel@lists.openwrt.org Cc: tharvey@gateworks.com, ynezz@true.cz, koen.vandeputte@ncentric.com Subject: [PATCH 08/14] imx: split into arch-specific subtargets Date: Wed, 13 Oct 2021 22:47:00 +0200 Message-Id: <20211013204706.16362-9-pepe2k@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211013204706.16362-1-pepe2k@gmail.com> References: <20211013204706.16362-1-pepe2k@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211013_134734_050785_0D9483EB X-CRM114-Status: GOOD ( 11.75 ) X-Spam-Score: 0.6 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Modern NXP i.MX series includes several different families, based on single- or multi-core Arm Cortex-A CPUs. To be able to support more families within a single target, we split the 'imx' in arch-spe [...] Content analysis details: (0.6 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:12e listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [pepe2k[at]gmail.com] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 0.8 UPPERCASE_50_75 message body is 50-75% uppercase X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org Modern NXP i.MX series includes several different families, based on single- or multi-core Arm Cortex-A CPUs. To be able to support more families within a single target, we split the 'imx' in arch-specific subtargets, starting with 'cortexa9' for the Cortex-A9 based i.MX 6, already supported by the original 'imx6' target. Signed-off-by: Piotr Dymacz --- target/linux/imx/Makefile | 3 +- target/linux/imx/config-5.10 | 65 +----- target/linux/imx/config-5.4 | 60 +---- .../base-files/etc/board.d/02_network | 0 .../imx/{ => cortexa9}/base-files/lib/imx.sh | 0 .../base-files/lib/preinit/79_move_config | 0 .../base-files/lib/upgrade/platform.sh | 0 target/linux/imx/cortexa9/config-default | 55 +++++ target/linux/imx/cortexa9/target.mk | 7 + target/linux/imx/image/Makefile | 219 +----------------- target/linux/imx/image/cortexa9.mk | 210 +++++++++++++++++ 11 files changed, 286 insertions(+), 333 deletions(-) rename target/linux/imx/{ => cortexa9}/base-files/etc/board.d/02_network (100%) rename target/linux/imx/{ => cortexa9}/base-files/lib/imx.sh (100%) rename target/linux/imx/{ => cortexa9}/base-files/lib/preinit/79_move_config (100%) rename target/linux/imx/{ => cortexa9}/base-files/lib/upgrade/platform.sh (100%) create mode 100644 target/linux/imx/cortexa9/config-default create mode 100644 target/linux/imx/cortexa9/target.mk create mode 100644 target/linux/imx/image/cortexa9.mk diff --git a/target/linux/imx/Makefile b/target/linux/imx/Makefile index 6f00cba992..66ffa9bd31 100644 --- a/target/linux/imx/Makefile +++ b/target/linux/imx/Makefile @@ -8,8 +8,7 @@ ARCH:=arm BOARD:=imx BOARDNAME:=NXP i.MX FEATURES:=audio display fpu gpio pcie rtc usb usbgadget squashfs targz nand ubifs boot-part rootfs-part -CPU_TYPE:=cortex-a9 -CPU_SUBTYPE:=neon +SUBTARGETS:=cortexa9 KERNEL_PATCHVER:=5.4 KERNEL_TESTING_PATCHVER:=5.10 diff --git a/target/linux/imx/config-5.10 b/target/linux/imx/config-5.10 index 624013aa81..a500b07a8f 100644 --- a/target/linux/imx/config-5.10 +++ b/target/linux/imx/config-5.10 @@ -1,4 +1,3 @@ -CONFIG_AHCI_IMX=y CONFIG_ALIGNMENT_TRAP=y CONFIG_ARCH_32BIT_OFF_T=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y @@ -18,16 +17,13 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARM=y CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y -CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARM_CRYPTO=y CONFIG_ARM_ERRATA_754322=y CONFIG_ARM_ERRATA_764369=y CONFIG_ARM_ERRATA_775420=y CONFIG_ARM_ERRATA_814220=y -CONFIG_ARM_GIC=y CONFIG_ARM_HAS_SG_CHAIN=y CONFIG_ARM_HEAVY_MB=y -CONFIG_ARM_IMX6Q_CPUFREQ=y # CONFIG_ARM_IMX_CPUFREQ_DT is not set CONFIG_ARM_L1_CACHE_SHIFT=6 CONFIG_ARM_L1_CACHE_SHIFT_6=y @@ -40,27 +36,22 @@ CONFIG_ASN1=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_ATA=y CONFIG_ATAGS=y +# CONFIG_ATA_SFF is not set CONFIG_AUTO_ZRELADDR=y CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_MQ_PCI=y CONFIG_BLK_PM=y CONFIG_BLK_SCSI_REQUEST=y CONFIG_CACHE_L2X0=y CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_IMX_GPT=y CONFIG_CLKSRC_MMIO=y -CONFIG_CLK_IMX6Q=y -CONFIG_CLK_IMX6SL=y -CONFIG_CLK_IMX6SX=y # CONFIG_CLK_IMX8MM is not set # CONFIG_CLK_IMX8MN is not set # CONFIG_CLK_IMX8MP is not set # CONFIG_CLK_IMX8MQ is not set CONFIG_CLONE_BACKWARDS=y CONFIG_CLZ_TAB=y -CONFIG_CMDLINE="pci=nomsi" -CONFIG_CMDLINE_EXTEND=y CONFIG_COMMON_CLK=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_CPUFREQ_DT=y @@ -162,7 +153,6 @@ CONFIG_DMA_OPS=y CONFIG_DMA_REMAP=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DTC=y -CONFIG_E1000E=y CONFIG_EDAC_ATOMIC_SCRUB=y CONFIG_EDAC_SUPPORT=y CONFIG_ENCRYPTED_KEYS=y @@ -173,10 +163,9 @@ CONFIG_EXTCON=y CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx6q.bin" CONFIG_EXTRA_FIRMWARE_DIR="firmware" CONFIG_F2FS_FS=y -CONFIG_FEC=y +# CONFIG_FEC is not set CONFIG_FIXED_PHY=y CONFIG_FIX_EARLYCON_MEM=y -CONFIG_FSL_GUTS=y CONFIG_FS_ENCRYPTION=y CONFIG_FS_ENCRYPTION_ALGS=y CONFIG_FS_IOMAP=y @@ -193,12 +182,9 @@ CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_GENERIC_GETTIMEOFDAY=y CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_GENERIC_IRQ_CHIP=y -CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_GENERIC_IRQ_MULTI_HANDLER=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_GENERIC_MSI_IRQ=y -CONFIG_GENERIC_MSI_IRQ_DOMAIN=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_PINCONF=y CONFIG_GENERIC_PINCTRL_GROUPS=y @@ -212,11 +198,8 @@ CONFIG_GENERIC_VDSO_32=y # CONFIG_GIANFAR is not set CONFIG_GLOB=y CONFIG_GPIOLIB=y -CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_MXC=y -CONFIG_GPIO_PCA953X=y -CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GRO_CELLS=y CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HARDEN_BRANCH_PREDICTOR=y @@ -227,7 +210,6 @@ CONFIG_HAS_IOPORT_MAP=y CONFIG_HAVE_SMP=y CONFIG_HWMON=y CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_IMX_RNGC=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_I2C=y @@ -245,7 +227,6 @@ CONFIG_IMX_IRQSTEER=y CONFIG_IMX_SDMA=y CONFIG_IMX_THERMAL=y # CONFIG_IMX_WEIM is not set -# CONFIG_INITRAMFS_FORCE is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_IO_URING=y CONFIG_IRQCHIP=y @@ -262,13 +243,11 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y -CONFIG_MARVELL_PHY=y CONFIG_MDIO_BUS=y CONFIG_MDIO_DEVICE=y CONFIG_MDIO_DEVRES=y CONFIG_MEMFD_CREATE=y CONFIG_MFD_SYSCON=y -CONFIG_MICREL_PHY=y CONFIG_MIGHT_HAVE_CACHE_L2X0=y CONFIG_MIGRATION=y CONFIG_MMC=y @@ -276,10 +255,7 @@ CONFIG_MMC_BLOCK=y CONFIG_MMC_CQHCI=y # CONFIG_MMC_MXC is not set CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_ESDHC_IMX=y -CONFIG_MMC_SDHCI_IO_ACCESSORS=y -CONFIG_MMC_SDHCI_OF_ESDHC=y -# CONFIG_MMC_SDHCI_PCI is not set +# CONFIG_MMC_SDHCI_ESDHC_IMX is not set CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MODULES_USE_ELF_REL=y CONFIG_MPILIB=y @@ -300,9 +276,6 @@ CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEON=y CONFIG_NET_DEVLINK=y CONFIG_NET_DSA=y -# CONFIG_NET_DSA_MSCC_FELIX is not set -CONFIG_NET_DSA_MV88E6XXX=y -CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y CONFIG_NET_FLOW_LIMIT=y @@ -331,26 +304,11 @@ CONFIG_OUTER_CACHE=y CONFIG_OUTER_CACHE_SYNC=y CONFIG_PADATA=y CONFIG_PAGE_OFFSET=0x80000000 -CONFIG_PCI=y -CONFIG_PCIEAER=y -CONFIG_PCIEPORTBUS=y -CONFIG_PCIE_DW=y -CONFIG_PCIE_DW_HOST=y -CONFIG_PCIE_PME=y -CONFIG_PCI_DOMAINS=y -CONFIG_PCI_DOMAINS_GENERIC=y -CONFIG_PCI_IMX6=y -CONFIG_PCI_MSI=y -CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PERF_USE_VMALLOC=y CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PHYLINK=y CONFIG_PINCTRL=y -CONFIG_PINCTRL_IMX=y -CONFIG_PINCTRL_IMX6Q=y -CONFIG_PINCTRL_IMX6SL=y -CONFIG_PINCTRL_IMX6SX=y # CONFIG_PINCTRL_IMX8MM is not set # CONFIG_PINCTRL_IMX8MN is not set # CONFIG_PINCTRL_IMX8MP is not set @@ -358,8 +316,6 @@ CONFIG_PINCTRL_IMX6SX=y CONFIG_PL310_ERRATA_769419=y CONFIG_PM=y CONFIG_PM_CLK=y -CONFIG_PM_GENERIC_DOMAINS=y -CONFIG_PM_GENERIC_DOMAINS_OF=y CONFIG_PM_OPP=y CONFIG_PPS=y CONFIG_PTP_1588_CLOCK=y @@ -375,28 +331,20 @@ CONFIG_RD_GZIP=y CONFIG_RD_LZO=y CONFIG_RD_XZ=y CONFIG_REGMAP=y -CONFIG_REGMAP_I2C=y CONFIG_REGMAP_MMIO=y CONFIG_REGULATOR=y -CONFIG_REGULATOR_ANATOP=y CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_LTC3676=y -CONFIG_REGULATOR_PFUZE100=y CONFIG_RESET_CONTROLLER=y CONFIG_RFS_ACCEL=y CONFIG_RPS=y CONFIG_RTC_CLASS=y # CONFIG_RTC_DRV_CMOS is not set -CONFIG_RTC_DRV_DS1307=y -CONFIG_RTC_DRV_DS1672=y # CONFIG_RTC_DRV_IMXDI is not set # CONFIG_RTC_DRV_MXC is not set # CONFIG_RTC_DRV_MXC_V2 is not set CONFIG_RTC_I2C_AND_SPI=y CONFIG_RWSEM_SPIN_ON_OWNER=y -CONFIG_SATA_HOST=y CONFIG_SCSI=y -CONFIG_SENSORS_AD7418=y CONFIG_SERIAL_8250_FSL=y CONFIG_SERIAL_IMX=y CONFIG_SERIAL_IMX_CONSOLE=y @@ -410,11 +358,10 @@ CONFIG_SOC_BUS=y # CONFIG_SOC_IMX50 is not set # CONFIG_SOC_IMX51 is not set # CONFIG_SOC_IMX53 is not set -CONFIG_SOC_IMX6=y -CONFIG_SOC_IMX6Q=y -CONFIG_SOC_IMX6SL=y +# CONFIG_SOC_IMX6Q is not set +# CONFIG_SOC_IMX6SL is not set # CONFIG_SOC_IMX6SLL is not set -CONFIG_SOC_IMX6SX=y +# CONFIG_SOC_IMX6SX is not set # CONFIG_SOC_IMX6UL is not set # CONFIG_SOC_IMX7D is not set # CONFIG_SOC_IMX7ULP is not set diff --git a/target/linux/imx/config-5.4 b/target/linux/imx/config-5.4 index 6f5142b012..3e6cf4746a 100644 --- a/target/linux/imx/config-5.4 +++ b/target/linux/imx/config-5.4 @@ -1,4 +1,3 @@ -CONFIG_AHCI_IMX=y CONFIG_ALIGNMENT_TRAP=y CONFIG_ARCH_32BIT_OFF_T=y CONFIG_ARCH_CLOCKSOURCE_DATA=y @@ -15,16 +14,13 @@ CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARM=y -CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARM_CRYPTO=y CONFIG_ARM_ERRATA_754322=y CONFIG_ARM_ERRATA_764369=y CONFIG_ARM_ERRATA_775420=y CONFIG_ARM_ERRATA_814220=y -CONFIG_ARM_GIC=y CONFIG_ARM_HAS_SG_CHAIN=y CONFIG_ARM_HEAVY_MB=y -CONFIG_ARM_IMX6Q_CPUFREQ=y # CONFIG_ARM_IMX_CPUFREQ_DT is not set CONFIG_ARM_L1_CACHE_SHIFT=6 CONFIG_ARM_L1_CACHE_SHIFT_6=y @@ -37,10 +33,10 @@ CONFIG_ASN1=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_ATA=y CONFIG_ATAGS=y +# CONFIG_ATA_SFF is not set CONFIG_AUTO_ZRELADDR=y CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_MQ_PCI=y CONFIG_BLK_PM=y CONFIG_BLK_SCSI_REQUEST=y CONFIG_CACHE_L2X0=y @@ -49,8 +45,6 @@ CONFIG_CLKSRC_IMX_GPT=y CONFIG_CLKSRC_MMIO=y CONFIG_CLONE_BACKWARDS=y CONFIG_CLZ_TAB=y -CONFIG_CMDLINE="pci=nomsi" -CONFIG_CMDLINE_EXTEND=y CONFIG_COMMON_CLK=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_CPUFREQ_DT=y @@ -160,7 +154,6 @@ CONFIG_DMA_OF=y CONFIG_DMA_REMAP=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DTC=y -CONFIG_E1000E=y CONFIG_EDAC_ATOMIC_SCRUB=y CONFIG_EDAC_SUPPORT=y CONFIG_ENCRYPTED_KEYS=y @@ -171,10 +164,9 @@ CONFIG_EXTCON=y CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx6q.bin" CONFIG_EXTRA_FIRMWARE_DIR="firmware" CONFIG_F2FS_FS=y -CONFIG_FEC=y +# CONFIG_FEC is not set CONFIG_FIXED_PHY=y CONFIG_FIX_EARLYCON_MEM=y -CONFIG_FSL_GUTS=y CONFIG_FS_ENCRYPTION=y CONFIG_FS_IOMAP=y CONFIG_FS_MBCACHE=y @@ -189,12 +181,9 @@ CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_GENERIC_IRQ_CHIP=y -CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_GENERIC_IRQ_MULTI_HANDLER=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_GENERIC_MSI_IRQ=y -CONFIG_GENERIC_MSI_IRQ_DOMAIN=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_PINCONF=y CONFIG_GENERIC_PINCTRL_GROUPS=y @@ -207,11 +196,8 @@ CONFIG_GENERIC_TIME_VSYSCALL=y # CONFIG_GIANFAR is not set CONFIG_GLOB=y CONFIG_GPIOLIB=y -CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_MXC=y -CONFIG_GPIO_PCA953X=y -CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GRO_CELLS=y CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HARDEN_BRANCH_PREDICTOR=y @@ -238,12 +224,10 @@ CONFIG_IMX_IRQSTEER=y CONFIG_IMX_SDMA=y CONFIG_IMX_THERMAL=y # CONFIG_IMX_WEIM is not set -# CONFIG_INITRAMFS_FORCE is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_IO_URING=y CONFIG_IRQCHIP=y CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_WORK=y CONFIG_JBD2=y @@ -254,12 +238,10 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y -CONFIG_MARVELL_PHY=y CONFIG_MDIO_BUS=y CONFIG_MDIO_DEVICE=y CONFIG_MEMFD_CREATE=y CONFIG_MFD_SYSCON=y -CONFIG_MICREL_PHY=y CONFIG_MIGHT_HAVE_CACHE_L2X0=y CONFIG_MIGRATION=y CONFIG_MMC=y @@ -267,10 +249,7 @@ CONFIG_MMC_BLOCK=y CONFIG_MMC_CQHCI=y # CONFIG_MMC_MXC is not set CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_ESDHC_IMX=y -CONFIG_MMC_SDHCI_IO_ACCESSORS=y -CONFIG_MMC_SDHCI_OF_ESDHC=y -# CONFIG_MMC_SDHCI_PCI is not set +# CONFIG_MMC_SDHCI_ESDHC_IMX is not set CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MODULES_USE_ELF_REL=y CONFIG_MPILIB=y @@ -290,8 +269,6 @@ CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEON=y CONFIG_NET_DEVLINK=y CONFIG_NET_DSA=y -CONFIG_NET_DSA_MV88E6XXX=y -CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y CONFIG_NET_FLOW_LIMIT=y @@ -320,31 +297,14 @@ CONFIG_OUTER_CACHE=y CONFIG_OUTER_CACHE_SYNC=y CONFIG_PADATA=y CONFIG_PAGE_OFFSET=0x80000000 -CONFIG_PCI=y -CONFIG_PCIEAER=y -CONFIG_PCIEPORTBUS=y -CONFIG_PCIE_DW=y -CONFIG_PCIE_DW_HOST=y -CONFIG_PCIE_PME=y -CONFIG_PCI_DOMAINS=y -CONFIG_PCI_DOMAINS_GENERIC=y -CONFIG_PCI_IMX6=y -CONFIG_PCI_MSI=y -CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PERF_USE_VMALLOC=y CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PHYLINK=y CONFIG_PINCTRL=y -CONFIG_PINCTRL_IMX=y -CONFIG_PINCTRL_IMX6Q=y -CONFIG_PINCTRL_IMX6SL=y -CONFIG_PINCTRL_IMX6SX=y CONFIG_PL310_ERRATA_769419=y CONFIG_PM=y CONFIG_PM_CLK=y -CONFIG_PM_GENERIC_DOMAINS=y -CONFIG_PM_GENERIC_DOMAINS_OF=y CONFIG_PM_OPP=y CONFIG_PPS=y CONFIG_PTP_1588_CLOCK=y @@ -361,27 +321,20 @@ CONFIG_RD_LZO=y CONFIG_RD_XZ=y CONFIG_REFCOUNT_FULL=y CONFIG_REGMAP=y -CONFIG_REGMAP_I2C=y CONFIG_REGMAP_MMIO=y CONFIG_REGULATOR=y -CONFIG_REGULATOR_ANATOP=y CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_LTC3676=y -CONFIG_REGULATOR_PFUZE100=y CONFIG_RESET_CONTROLLER=y CONFIG_RFS_ACCEL=y CONFIG_RPS=y CONFIG_RTC_CLASS=y # CONFIG_RTC_DRV_CMOS is not set -CONFIG_RTC_DRV_DS1307=y -CONFIG_RTC_DRV_DS1672=y # CONFIG_RTC_DRV_IMXDI is not set # CONFIG_RTC_DRV_MXC is not set # CONFIG_RTC_DRV_MXC_V2 is not set CONFIG_RTC_I2C_AND_SPI=y CONFIG_RWSEM_SPIN_ON_OWNER=y CONFIG_SCSI=y -CONFIG_SENSORS_AD7418=y # CONFIG_SENSORS_DRIVETEMP is not set CONFIG_SERIAL_8250_FSL=y CONFIG_SERIAL_IMX=y @@ -395,11 +348,10 @@ CONFIG_SOC_BUS=y # CONFIG_SOC_IMX50 is not set # CONFIG_SOC_IMX51 is not set # CONFIG_SOC_IMX53 is not set -CONFIG_SOC_IMX6=y -CONFIG_SOC_IMX6Q=y -CONFIG_SOC_IMX6SL=y +# CONFIG_SOC_IMX6Q is not set +# CONFIG_SOC_IMX6SL is not set # CONFIG_SOC_IMX6SLL is not set -CONFIG_SOC_IMX6SX=y +# CONFIG_SOC_IMX6SX is not set # CONFIG_SOC_IMX6UL is not set # CONFIG_SOC_IMX7D is not set # CONFIG_SOC_IMX7ULP is not set diff --git a/target/linux/imx/base-files/etc/board.d/02_network b/target/linux/imx/cortexa9/base-files/etc/board.d/02_network similarity index 100% rename from target/linux/imx/base-files/etc/board.d/02_network rename to target/linux/imx/cortexa9/base-files/etc/board.d/02_network diff --git a/target/linux/imx/base-files/lib/imx.sh b/target/linux/imx/cortexa9/base-files/lib/imx.sh similarity index 100% rename from target/linux/imx/base-files/lib/imx.sh rename to target/linux/imx/cortexa9/base-files/lib/imx.sh diff --git a/target/linux/imx/base-files/lib/preinit/79_move_config b/target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config similarity index 100% rename from target/linux/imx/base-files/lib/preinit/79_move_config rename to target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config diff --git a/target/linux/imx/base-files/lib/upgrade/platform.sh b/target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh similarity index 100% rename from target/linux/imx/base-files/lib/upgrade/platform.sh rename to target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh diff --git a/target/linux/imx/cortexa9/config-default b/target/linux/imx/cortexa9/config-default new file mode 100644 index 0000000000..5210dc0cb7 --- /dev/null +++ b/target/linux/imx/cortexa9/config-default @@ -0,0 +1,55 @@ +CONFIG_AHCI_IMX=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARM_GIC=y +CONFIG_ARM_IMX6Q_CPUFREQ=y +CONFIG_ATA_SFF=y +CONFIG_BLK_MQ_PCI=y +CONFIG_CMDLINE="pci=nomsi" +CONFIG_CMDLINE_EXTEND=y +CONFIG_E1000E=y +CONFIG_FEC=y +CONFIG_FSL_GUTS=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +# CONFIG_INITRAMFS_FORCE is not set +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_MARVELL_PHY=y +CONFIG_MICREL_PHY=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF_ESDHC=y +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_NET_DSA_MV88E6XXX=y +CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y +CONFIG_PCI=y +CONFIG_PCIEAER=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_HOST=y +CONFIG_PCIE_PME=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_IMX6=y +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +CONFIG_PINCTRL_IMX=y +CONFIG_PINCTRL_IMX6Q=y +CONFIG_PINCTRL_IMX6SL=y +CONFIG_PINCTRL_IMX6SX=y +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_REGMAP_I2C=y +CONFIG_REGULATOR_ANATOP=y +CONFIG_REGULATOR_LTC3676=y +CONFIG_REGULATOR_PFUZE100=y +CONFIG_RTC_DRV_DS1307=y +CONFIG_RTC_DRV_DS1672=y +CONFIG_SENSORS_AD7418=y +CONFIG_SOC_IMX6=y +CONFIG_SOC_IMX6Q=y +CONFIG_SOC_IMX6SL=y +CONFIG_SOC_IMX6SX=y diff --git a/target/linux/imx/cortexa9/target.mk b/target/linux/imx/cortexa9/target.mk new file mode 100644 index 0000000000..9bd63c7be1 --- /dev/null +++ b/target/linux/imx/cortexa9/target.mk @@ -0,0 +1,7 @@ +BOARDNAME:=NXP i.MX with Cortex-A9 +CPU_TYPE:=cortex-a9 +CPU_SUBTYPE:=neon + +define Target/Description + Build firmware images for NXP i.MX (Cortex-A9) based boards. +endef diff --git a/target/linux/imx/image/Makefile b/target/linux/imx/image/Makefile index 5f8e5f1c04..895fb7a6b7 100644 --- a/target/linux/imx/image/Makefile +++ b/target/linux/imx/image/Makefile @@ -5,223 +5,6 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -################################################# -# Images -################################################# - -DEVICE_VARS += MKUBIFS_OPTS UBOOT - -define Build/boot-overlay - rm -rf $@.boot - mkdir -p $@.boot - - $(CP) $@ $@.boot/$(IMG_PREFIX)-uImage - ln -sf $(IMG_PREFIX)-uImage $@.boot/uImage - - $(foreach dts,$(DEVICE_DTS), \ - $(CP) \ - $(DTS_DIR)/$(dts).dtb \ - $@.boot/$(IMG_PREFIX)-$(dts).dtb; \ - ln -sf \ - $(IMG_PREFIX)-$(dts).dtb \ - $@.boot/$(dts).dtb; \ - ) - mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ - -n '$(DEVICE_ID) OpenWrt bootscript' \ - -d ./bootscript-$(DEVICE_NAME) \ - $@.boot/6x_bootscript-$(DEVICE_NAME) - - $(STAGING_DIR_HOST)/bin/mkfs.ubifs \ - --space-fixup --compr=zlib --squash-uids \ - $(MKUBIFS_OPTS) -c 16248 \ - -o $@.boot.ubifs -d $@.boot - - $(TAR) -C $@.boot -cf $@.boot.tar . -endef - -define Build/bootfs.tar.gz - rm -rf $@.boot - mkdir -p $@.boot - - $(TAR) -C $@.boot -xf $(IMAGE_KERNEL).boot.tar - $(TAR) -C $@.boot \ - --numeric-owner --owner=0 --group=0 --transform "s,./,./boot/," \ - -czvf $@ . -endef - -define Build/recovery-scr - mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ - -n '$(DEVICE_ID) OpenWrt recovery bootscript' \ - -d ./recovery-$(DEVICE_NAME) $@ -endef - -define Build/imx6-combined-image-prepare - rm -rf $@.boot - mkdir -p $@.boot -endef - -define Build/imx6-combined-image-clean - rm -rf $@.boot $@.fs -endef - -define Build/imx6-combined-image - $(CP) $(IMAGE_KERNEL) $@.boot/uImage - - $(foreach dts,$(DEVICE_DTS), \ - $(CP) \ - $(DTS_DIR)/$(dts).dtb \ - $@.boot/; - ) - - mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ - -n '$(DEVICE_ID) OpenWrt bootscript' \ - -d bootscript-$(DEVICE_NAME) \ - $@.boot/boot.scr - - cp $@ $@.fs - - $(SCRIPT_DIR)/gen_image_generic.sh $@ \ - $(CONFIG_TARGET_KERNEL_PARTSIZE) \ - $@.boot \ - $(CONFIG_TARGET_ROOTFS_PARTSIZE) \ - $@.fs \ - 1024 -endef - -define Build/imx6-sdcard - $(Build/imx6-combined-image-prepare) - - $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img $@.boot/u-boot.img - $(Build/imx6-combined-image) - dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-SPL of=$@ bs=1024 seek=1 conv=notrunc - - $(Build/imx6-combined-image-clean) -endef - -define Build/apalis-emmc - $(Build/imx6-combined-image-prepare) - $(Build/imx6-combined-image) - $(Build/imx6-combined-image-clean) -endef - -################################################# -# Devices -################################################# - -KERNEL_LOADADDR=0x10008000 - -define Device/Default - PROFILES := Generic - FILESYSTEMS := squashfs ext4 - KERNEL_INSTALL := 1 - KERNEL_SUFFIX := -uImage - KERNEL_NAME := zImage - KERNEL := kernel-bin | uImage none - IMAGES := -endef - -define Device/gateworks_ventana - DEVICE_VENDOR := Gateworks - DEVICE_MODEL := Ventana family - DEVICE_VARIANT := normal NAND flash - DEVICE_NAME := ventana - DEVICE_DTS:= \ - imx6dl-gw51xx \ - imx6dl-gw52xx \ - imx6dl-gw53xx \ - imx6dl-gw54xx \ - imx6dl-gw551x \ - imx6dl-gw552x \ - imx6dl-gw553x \ - imx6dl-gw5904 \ - imx6dl-gw5907 \ - imx6dl-gw5910 \ - imx6dl-gw5912 \ - imx6dl-gw5913 \ - imx6q-gw51xx \ - imx6q-gw52xx \ - imx6q-gw53xx \ - imx6q-gw54xx \ - imx6q-gw5400-a \ - imx6q-gw551x \ - imx6q-gw552x \ - imx6q-gw553x \ - imx6q-gw5904 \ - imx6q-gw5907 \ - imx6q-gw5910 \ - imx6q-gw5912 \ - imx6q-gw5913 - DEVICE_PACKAGES := kmod-sky2 kmod-sound-core kmod-sound-soc-imx \ - kmod-sound-soc-imx-sgtl5000 kmod-can kmod-can-flexcan kmod-can-raw \ - kmod-hwmon-gsc kmod-leds-gpio kmod-pps-gpio kobs-ng - KERNEL += | boot-overlay - IMAGES := nand.ubi bootfs.tar.gz dtb - IMAGE/nand.ubi := append-ubi - IMAGE/bootfs.tar.gz := bootfs.tar.gz - IMAGE/dtb := install-dtb - UBINIZE_PARTS = boot=$$(KDIR_KERNEL_IMAGE).boot.ubifs=15 - PAGESIZE := 2048 - BLOCKSIZE := 128k - MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -endef -TARGET_DEVICES += gateworks_ventana - -define Device/gateworks_ventana-large - $(Device/gateworks_ventana) - DEVICE_VARIANT := large NAND flash - IMAGES := nand.ubi - PAGESIZE := 4096 - BLOCKSIZE := 256k - MKUBIFS_OPTS := -m $$(PAGESIZE) -e 248KiB -endef -TARGET_DEVICES += gateworks_ventana-large - -define Device/solidrun_cubox-i - DEVICE_VENDOR := SolidRun - DEVICE_MODEL := CuBox-i - DEVICE_DTS := \ - imx6q-cubox-i \ - imx6dl-cubox-i \ - imx6q-hummingboard \ - imx6dl-hummingboard - DEVICE_PACKAGES := kmod-drm-imx kmod-drm-imx-hdmi kmod-usb-hid - UBOOT := mx6cuboxi - KERNEL := kernel-bin - KERNEL_SUFFIX := -zImage - FILESYSTEMS := squashfs - IMAGES := combined.bin dtb - IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx6-sdcard - IMAGE/dtb := install-dtb -endef -TARGET_DEVICES += solidrun_cubox-i - -define Device/toradex_apalis - DEVICE_VENDOR := Toradex - DEVICE_MODEL := Apalis family - SUPPORTED_DEVICES := apalis,ixora apalis,eval - DEVICE_DTS := \ - imx6q-apalis-eval \ - imx6q-apalis-ixora \ - imx6q-apalis-ixora-v1.1 - DEVICE_PACKAGES := \ - kmod-can kmod-can-flexcan kmod-can-raw \ - kmod-leds-gpio kmod-gpio-button-hotplug \ - kmod-pps-gpio kmod-rtc-ds1307 - FILESYSTEMS := squashfs - IMAGES := combined.bin sysupgrade.bin - DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2) - IMAGE/combined.bin := append-rootfs | pad-extra 128k | apalis-emmc - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - ARTIFACTS := recovery.scr - ARTIFACT/recovery.scr := recovery-scr -endef -TARGET_DEVICES += toradex_apalis - -define Device/wandboard_dual - DEVICE_VENDOR := Wandboard - DEVICE_MODEL := Dual - DEVICE_DTS := imx6dl-wandboard -endef -TARGET_DEVICES += wandboard_dual +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/imx/image/cortexa9.mk b/target/linux/imx/image/cortexa9.mk new file mode 100644 index 0000000000..75e19dc694 --- /dev/null +++ b/target/linux/imx/image/cortexa9.mk @@ -0,0 +1,210 @@ +DEVICE_VARS += MKUBIFS_OPTS UBOOT + +define Build/boot-overlay + rm -rf $@.boot + mkdir -p $@.boot + + $(CP) $@ $@.boot/$(IMG_PREFIX)-uImage + ln -sf $(IMG_PREFIX)-uImage $@.boot/uImage + + $(foreach dts,$(DEVICE_DTS), \ + $(CP) \ + $(DTS_DIR)/$(dts).dtb \ + $@.boot/$(IMG_PREFIX)-$(dts).dtb; \ + ln -sf \ + $(IMG_PREFIX)-$(dts).dtb \ + $@.boot/$(dts).dtb; \ + ) + mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ + -n '$(DEVICE_ID) OpenWrt bootscript' \ + -d ./bootscript-$(DEVICE_NAME) \ + $@.boot/6x_bootscript-$(DEVICE_NAME) + + $(STAGING_DIR_HOST)/bin/mkfs.ubifs \ + --space-fixup --compr=zlib --squash-uids \ + $(MKUBIFS_OPTS) -c 16248 \ + -o $@.boot.ubifs -d $@.boot + + $(TAR) -C $@.boot -cf $@.boot.tar . +endef + +define Build/bootfs.tar.gz + rm -rf $@.boot + mkdir -p $@.boot + + $(TAR) -C $@.boot -xf $(IMAGE_KERNEL).boot.tar + $(TAR) -C $@.boot \ + --numeric-owner --owner=0 --group=0 --transform "s,./,./boot/," \ + -czvf $@ . +endef + +define Build/recovery-scr + mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ + -n '$(DEVICE_ID) OpenWrt recovery bootscript' \ + -d ./recovery-$(DEVICE_NAME) $@ +endef + +define Build/imx6-combined-image-prepare + rm -rf $@.boot + mkdir -p $@.boot +endef + +define Build/imx6-combined-image-clean + rm -rf $@.boot $@.fs +endef + +define Build/imx6-combined-image + $(CP) $(IMAGE_KERNEL) $@.boot/uImage + + $(foreach dts,$(DEVICE_DTS), \ + $(CP) \ + $(DTS_DIR)/$(dts).dtb \ + $@.boot/; + ) + + mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ + -n '$(DEVICE_ID) OpenWrt bootscript' \ + -d bootscript-$(DEVICE_NAME) \ + $@.boot/boot.scr + + cp $@ $@.fs + + $(SCRIPT_DIR)/gen_image_generic.sh $@ \ + $(CONFIG_TARGET_KERNEL_PARTSIZE) \ + $@.boot \ + $(CONFIG_TARGET_ROOTFS_PARTSIZE) \ + $@.fs \ + 1024 +endef + +define Build/imx6-sdcard + $(Build/imx6-combined-image-prepare) + + $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img $@.boot/u-boot.img + $(Build/imx6-combined-image) + dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-SPL of=$@ bs=1024 seek=1 conv=notrunc + + $(Build/imx6-combined-image-clean) +endef + +define Build/apalis-emmc + $(Build/imx6-combined-image-prepare) + $(Build/imx6-combined-image) + $(Build/imx6-combined-image-clean) +endef + + +define Device/Default + PROFILES := Default + FILESYSTEMS := squashfs ext4 + KERNEL_INSTALL := 1 + KERNEL_SUFFIX := -uImage + KERNEL_NAME := zImage + KERNEL := kernel-bin | uImage none + KERNEL_LOADADDR := 0x10008000 + IMAGES := +endef + +define Device/gateworks_ventana + DEVICE_VENDOR := Gateworks + DEVICE_MODEL := Ventana family + DEVICE_VARIANT := normal NAND flash + DEVICE_NAME := ventana + DEVICE_DTS:= \ + imx6dl-gw51xx \ + imx6dl-gw52xx \ + imx6dl-gw53xx \ + imx6dl-gw54xx \ + imx6dl-gw551x \ + imx6dl-gw552x \ + imx6dl-gw553x \ + imx6dl-gw5904 \ + imx6dl-gw5907 \ + imx6dl-gw5910 \ + imx6dl-gw5912 \ + imx6dl-gw5913 \ + imx6q-gw51xx \ + imx6q-gw52xx \ + imx6q-gw53xx \ + imx6q-gw54xx \ + imx6q-gw5400-a \ + imx6q-gw551x \ + imx6q-gw552x \ + imx6q-gw553x \ + imx6q-gw5904 \ + imx6q-gw5907 \ + imx6q-gw5910 \ + imx6q-gw5912 \ + imx6q-gw5913 + DEVICE_PACKAGES := kmod-sky2 kmod-sound-core kmod-sound-soc-imx \ + kmod-sound-soc-imx-sgtl5000 kmod-can kmod-can-flexcan kmod-can-raw \ + kmod-hwmon-gsc kmod-leds-gpio kmod-pps-gpio kobs-ng + KERNEL += | boot-overlay + IMAGES := nand.ubi bootfs.tar.gz dtb + IMAGE/nand.ubi := append-ubi + IMAGE/bootfs.tar.gz := bootfs.tar.gz + IMAGE/dtb := install-dtb + UBINIZE_PARTS = boot=$$(KDIR_KERNEL_IMAGE).boot.ubifs=15 + PAGESIZE := 2048 + BLOCKSIZE := 128k + MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB +endef +TARGET_DEVICES += gateworks_ventana + +define Device/gateworks_ventana-large + $(Device/gateworks_ventana) + DEVICE_VARIANT := large NAND flash + IMAGES := nand.ubi + PAGESIZE := 4096 + BLOCKSIZE := 256k + MKUBIFS_OPTS := -m $$(PAGESIZE) -e 248KiB +endef +TARGET_DEVICES += gateworks_ventana-large + +define Device/solidrun_cubox-i + DEVICE_VENDOR := SolidRun + DEVICE_MODEL := CuBox-i + DEVICE_DTS := \ + imx6q-cubox-i \ + imx6dl-cubox-i \ + imx6q-hummingboard \ + imx6dl-hummingboard + DEVICE_PACKAGES := kmod-drm-imx kmod-drm-imx-hdmi kmod-usb-hid + UBOOT := mx6cuboxi + KERNEL := kernel-bin + KERNEL_SUFFIX := -zImage + FILESYSTEMS := squashfs + IMAGES := combined.bin dtb + IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx6-sdcard + IMAGE/dtb := install-dtb +endef +TARGET_DEVICES += solidrun_cubox-i + +define Device/toradex_apalis + DEVICE_VENDOR := Toradex + DEVICE_MODEL := Apalis family + SUPPORTED_DEVICES := apalis,ixora apalis,eval + DEVICE_DTS := \ + imx6q-apalis-eval \ + imx6q-apalis-ixora \ + imx6q-apalis-ixora-v1.1 + DEVICE_PACKAGES := \ + kmod-can kmod-can-flexcan kmod-can-raw \ + kmod-leds-gpio kmod-gpio-button-hotplug \ + kmod-pps-gpio kmod-rtc-ds1307 + FILESYSTEMS := squashfs + IMAGES := combined.bin sysupgrade.bin + DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2) + IMAGE/combined.bin := append-rootfs | pad-extra 128k | apalis-emmc + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + ARTIFACTS := recovery.scr + ARTIFACT/recovery.scr := recovery-scr +endef +TARGET_DEVICES += toradex_apalis + +define Device/wandboard_dual + DEVICE_VENDOR := Wandboard + DEVICE_MODEL := Dual + DEVICE_DTS := imx6dl-wandboard +endef +TARGET_DEVICES += wandboard_dual