From patchwork Tue Jan 11 21:25:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jesse T X-Patchwork-Id: 12710703 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3C407C433EF for ; Tue, 11 Jan 2022 21:26:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) id F16E2C36AEF; Tue, 11 Jan 2022 21:26:10 +0000 (UTC) Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.kernel.org (Postfix) with ESMTPS id 10627C36AE9; Tue, 11 Jan 2022 21:26:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.kernel.org 10627C36AE9 Authentication-Results: smtp.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qk1-f177.google.com with SMTP id 69so296039qkd.6; Tue, 11 Jan 2022 13:26:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=9soPHD2iWMuBaxqS0P8Wb7tdZ1W/Iv2iXvfYHF2vO4U=; b=aZEPfBMrX5eiiA8TLbXh9QIO7gLrjLVgh5tKCd0UhM8qQ7QhG67YRM632BKzd1Tfcn rtoG+4lzcX83A3XvtM5ZAUtFdUeOJZ0Nh1QSUTqPLuaRoURSRWZaiOSH5+mbkaV2RxvV ZaOc1AWJNwN1F61d1tBPvNpa1v/5jSCS9pKa1YLwAeMUhud1Cfi+bCpHRb8U40BJjA3F AQPafazdlb7HbqSrHvu0oqpHG3qHvk8Mj3SJJg7hyZOR7sxLlYsd6XW5Dwfe0MO6QOE3 uF6ZkdjmE0ZdW/3EM1iT77IlsC1f3SINLVZ/EFqdvRlDcKH5bMK5DdYvdGcJU+efl7n1 1Gjg== 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:mime-version :content-transfer-encoding; bh=9soPHD2iWMuBaxqS0P8Wb7tdZ1W/Iv2iXvfYHF2vO4U=; b=C971V3L+S+CUdqzWlBgf10QSvjCZUZ4o3vcHYZTeTUzoXsO4lHiTMSDe45oAvEzQM6 qNluUDfUX0ofJvfBFzbEoGzST7HeTFDRnivkKtE+08YQoVBpKZenQvg8Cduh7j+GZpZw 1RpYPabIEnSQk4oNtkLOITGVqujp78CPo5so6pexEJy+VA6gX+RKTWiWr/vGmAetGl6k 0URzjzDo7Ci7AL4fOH63DdUN1DU07IMq9lmefNMqTaCP/19FQYc3RIJYBEKIv/KWcJuu ilTm1fpbLeXOUJ3cPYtN7YZbiJPWDaYl1F/ECKTWTej+3Y14kI1Gnx3q9VSnThhjfxuU ILvQ== X-Gm-Message-State: AOAM533rd9KWrxdpiz22+bnzgi9KyCQQTObqP9693HH18fnaV+kttlSx 9NAwnDJyXn1ymNt9BhLEDiI= X-Google-Smtp-Source: ABdhPJwSib2Ud+54LFxz5u9b92s8pz+ZLTVeViHdOevn7Eh+F4vjmpi5fN5VvnXhPUHJ/V1itCSZLA== X-Received: by 2002:a05:620a:2102:: with SMTP id l2mr2463454qkl.356.1641936368929; Tue, 11 Jan 2022 13:26:08 -0800 (PST) Received: from jesse-desktop.jtp-bos.lab (146-115-144-188.s4282.c3-0.nwt-cbr1.sbo-nwt.ma.cable.rcncustomer.com. [146.115.144.188]) by smtp.gmail.com with ESMTPSA id l15sm7761990qkp.16.2022.01.11.13.26.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Jan 2022 13:26:08 -0800 (PST) From: Jesse Taube X-Google-Original-From: Jesse Taube To: linux-imx@nxp.com List-Id: Cc: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, ulf.hansson@linaro.org, aisheng.dong@nxp.com, stefan@agner.ch, linus.walleij@linaro.org, gregkh@linuxfoundation.org, arnd@arndb.de, olof@lixom.net, soc@kernel.org, linux@armlinux.org.uk, abel.vesa@nxp.com, adrian.hunter@intel.com, jirislaby@kernel.org, giulio.benetti@benettiengineering.com, nobuhiro1.iwamatsu@toshiba.co.jp, Mr.Bossman075@gmail.com, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org, linux-gpio@vger.kernel.org, linux-serial@vger.kernel.org Subject: [PATCH v7 0/7] Add initial support for the i.MXRTxxxx SoC family starting from i.IMXRT1050 SoC. Date: Tue, 11 Jan 2022 16:25:59 -0500 Message-Id: <20220111212606.2072669-1-Mr.Bossman075@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 This patchset contains: - i.MXRT10xx family infrastructure - i.MXRT1050 pinctrl driver adaption - i.MXRT1050 clock driver adaption - i.MXRT1050 sd-card driver adaption - i.MXRT1050 uart driver adaption - i.MXRT1050-evk basic support The i.MXRTxxxx family that could have support by Linux actually spreads from i.MXRT1020 to i.MXRT1170 with the first one supporting 1 USB OTG & 100M ethernet with a cortex-M7@500Mhz up to the latter with i.MXRT1170 with cortex-M7@1Ghz and cortex-M4@400Mhz, 2MB of internal SRAM, 2D GPU, 2x 1Gb and 1x 100Mb ENET. The i.MXRT family is NXP's answer to STM32F7XX, as it uses only simple SDRAM, it gives the chance of a 4 or less layer PCBs. Seeing that these chips are comparable to the STM32F7XXs which have linux ported to them it seems reasonable to add support for them. Giving Linux support to this family should ease the development process, instead of using a RTOS they could use Embedded Linux allowing for more portability, ease of design and will broaden the scope of people using embedded linux. The EVK has very little SDRAM, generally 32MB starting from i.MXRT1020(the lowest P/N), although the i.MXRT1160/70 provide instead 64MB of SDRAM for more functionality. At the moment we do not support XIP for either u-boot or Linux but it should be done in the future. XIP will also save SDRAM. Another interesting fact is the amount of internal SRAM, as the P/N increases the SRAM will reach up to 2MB(some could be for cache and some would be for video). Also, some parts have embed flash of 4MB that can be used for u-boot/Linux, if both correctly sized it will leave the SDRAM free. External flash can be Quad SPI and HyperFlash, so throughput would be decent. The i.MXRT11xx series supports MIPI interface too. The family in general provide CAN bus, audio I/O, 1 or more USB(otg/host), 1 or more 100Mb/1Gb ethernet, camera interface, sd-card. All this can be used for simple GUIs, web-servers, point-of-sale stations, etc. Giulio Benetti (4): ARM: imx: Add initial support for i.MXRT10xx family dt-bindings: imx: Add clock binding for i.MXRT1050 ARM: dts: imx: Add i.MXRT1050-EVK support ARM: imxrt_defconfig: Add i.MXRT family defconfig Jesse Taube (3): ARM: dts: imxrt1050-pinfunc: Add pinctrl binding header dt-bindings: clock: imx: Add documentation for i.MXRT1050 clock clk: imx: Add initial support for i.MXRT1050 clock driver .../bindings/clock/imxrt1050-clock.yaml | 67 ++ arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/imxrt1050-evk.dts | 72 ++ arch/arm/boot/dts/imxrt1050-pinfunc.h | 993 ++++++++++++++++++ arch/arm/boot/dts/imxrt1050.dtsi | 160 +++ arch/arm/configs/imxrt_defconfig | 35 + arch/arm/mach-imx/Kconfig | 7 + arch/arm/mach-imx/Makefile | 2 + arch/arm/mach-imx/mach-imxrt.c | 19 + drivers/clk/imx/Kconfig | 7 + drivers/clk/imx/Makefile | 1 + drivers/clk/imx/clk-imxrt1050.c | 168 +++ include/dt-bindings/clock/imxrt1050-clock.h | 72 ++ 13 files changed, 1605 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/imxrt1050-clock.yaml create mode 100644 arch/arm/boot/dts/imxrt1050-evk.dts create mode 100644 arch/arm/boot/dts/imxrt1050-pinfunc.h create mode 100644 arch/arm/boot/dts/imxrt1050.dtsi create mode 100644 arch/arm/configs/imxrt_defconfig create mode 100644 arch/arm/mach-imx/mach-imxrt.c create mode 100644 drivers/clk/imx/clk-imxrt1050.c create mode 100644 include/dt-bindings/clock/imxrt1050-clock.h