From patchwork Fri Jul 28 10:22:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Varshini Rajendran X-Patchwork-Id: 13334140 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 alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (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 BC566C001DF for ; Mon, 31 Jul 2023 09:21:16 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 27FDB828; Mon, 31 Jul 2023 11:20:25 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 27FDB828 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1690795275; bh=UoywkU2z5PUFwZqyn1H/+6DtaE/kYe+OTAC03fuk89g=; h=From:To:Subject:Date:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=Iodsty/mqdrWrct7yMKTtvqFIg7LlD6rl8T0g8cLH23B3df5lOB4p5MEc87mlJ7YP pYP4SvXZ3p+OkmVIRnwVG9EiJYL4Qj+AuUYH0cUpJlTt6s/ge1R4F1aeyiDblKdp0S iO68yYD/grGvBZ7+XLwxF5SK9MHkG6MCQydegUgI= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 4A12EF805F1; Mon, 31 Jul 2023 11:17:57 +0200 (CEST) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 6EDD2F805E8; Mon, 31 Jul 2023 11:17:57 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id D96D5F801F5; Fri, 28 Jul 2023 12:23:20 +0200 (CEST) Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 29EF0F800D2 for ; Fri, 28 Jul 2023 12:23:06 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 29EF0F800D2 Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key, unprotected) header.d=microchip.com header.i=@microchip.com header.a=rsa-sha256 header.s=mchp header.b=cTDtAp8R DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1690539788; x=1722075788; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=UoywkU2z5PUFwZqyn1H/+6DtaE/kYe+OTAC03fuk89g=; b=cTDtAp8RSLJ9zgeTixSE7q5rcYryU0+QvrdiubVExZygPHMwlljf3aes 9LRBmyiRA8c3UwomeDFRtgQWr40TZAtWiPdZN3AS/OsfXrMQch3CPHLbh zEp/mOymctPNsZLuQBeKK7ENOMgXifKkJURWTwIM84UGjUAO0sbsVkjSc /U7Fxx1iu4cL9bOpmty4Y4FZ+UUZvso1jWZR8zqF9kslkZs2er3ttMu8N 1ZHowB+JEmEV/+SV0L0uAqv7p1uAj1UhFraZotyyD4PZypPsnd3/2y1E8 mpDStYvgWqQuowIUhQL2W+8p8u4q2hrLGG52bn2yoaQJMlh1FnIksTDvR A==; X-IronPort-AV: E=Sophos;i="6.01,237,1684825200"; d="scan'208";a="227046811" X-Amp-Result: SKIPPED(no attachment in message) Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 28 Jul 2023 03:22:59 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Fri, 28 Jul 2023 03:22:55 -0700 Received: from che-lt-i67070.amer.actel.com (10.10.115.15) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server id 15.1.2507.21 via Frontend Transport; Fri, 28 Jul 2023 03:22:30 -0700 From: Varshini Rajendran To: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , <42.hyeyoo@gmail.com>, , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v3 00/50] Add support for sam9x7 SoC family Date: Fri, 28 Jul 2023 15:52:23 +0530 Message-ID: <20230728102223.265216-1-varshini.rajendran@microchip.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-MailFrom: Varshini.Rajendran@microchip.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1 Message-ID-Hash: G2QLGNPAXTZSP2ANNT66UESZURB3BINX X-Message-ID-Hash: G2QLGNPAXTZSP2ANNT66UESZURB3BINX X-Mailman-Approved-At: Mon, 31 Jul 2023 09:17:26 +0000 X-Mailman-Version: 3.3.8 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: <> List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This patch series adds support for the new SoC family - sam9x7. - The device tree, configs and drivers are added - Clock driver for sam9x7 is added - Support for basic peripherals is added - Target board SAM9X75 Curiosity is added Changes in v3: -------------- - Fixed the DT documentation errors pointed out in v2. - Dropped Acked-by tag in tcb DT doc patch as it had to be adapted according to sam9x7 correctly. - Picked by the previously missed tags. - Dropped this patch "dt-bindings: usb: generic-ehci: Document clock-names property" as the warning was not found while validating DT-schema for at91-sam9x75_curiosity.dtb. - Dropped redundant words in the commit message. - Fixed the CHECK_DTBS warnings validated against at91-sam9x75_curiosity.dtb. - Renamed dt nodes according to naming convention. - Dropped unwanted status property in dts. - Removed nodes that are not in use from the board dts. - Removed spi DT doc patch from the series as it was already applied and a fix patch was applied subsequently. Added a patch to remove the compatible to adapt sam9x7. - Added sam9x7 compatibles in usb dt documentation. Changes in v2: -------------- - Added sam9x7 specific compatibles in DT with fallbacks - Documented all the newly added DT compatible strings - Added device tree for the target board sam9x75 curiosity and documented the same in the DT bindings documentation - Removed the dt nodes that are not supported at the moment - Removed the configs added by previous version that are not supported at the moment - Fixed all the corrections in the commit message - Changed all the instances of copyright year to 2023 - Added sam9x7 flag in PIT64B configuration - Moved macro definitions to header file - Added another divider in mck characteristics in the pmc driver - Fixed the memory leak in the pmc driver - Dropped patches that are no longer needed - Picked up Acked-by and Reviewed-by tags Hari Prasath (1): irqchip/atmel-aic5: Add support for sam9x7 aic Varshini Rajendran (49): dt-bindings: microchip: atmel,at91rm9200-tcb: add sam9x60, sam9x7 compatible dt-bindings: usb: ehci: Add atmel at91sam9g45-ehci compatible dt-bindings: net: cdns,macb: add sam9x7 ethernet interface dt-bindings: clk: at91: add sam9x7 dt-bindings: clk: at91: add sam9x7 clock controller dt-bindings: reset: atmel,at91sam9260-reset: add sam9x7 dt-bindings: power: reset: atmel,sama5d2-shdwc: add sam9x7 dt-bindings: atmel-sysreg: add sam9x7 dt-bindings: crypto: add sam9x7 in Atmel AES dt-bindings: crypto: add sam9x7 in Atmel SHA dt-bindings: crypto: add sam9x7 in Atmel TDES dt-bindings: dmaengine: at_xdmac: add compatible with microchip,sam9x7 dt-bindings: i2c: at91: Add sam9x7 compatible string dt-bindings: mfd: at91: Add SAM9X7 compatible string dt-bindings: atmel-gpbr: add microchip,sam9x7-gpbr dt-bindings: atmel-matrix: add microchip,sam9x7-matrix dt-bindings: atmel-smc: add microchip,sam9x7-smc dt-bindings: atmel-ssc: add microchip,sam9x7-ssc dt-bindings: sdhci-of-at91: add microchip,sam9x7-sdhci dt-bindings: atmel-nand: add microchip,sam9x7-pmecc dt-bindings: pinctrl: at91: add sam9x7 dt-bindings: rng: atmel,at91-trng: add sam9x7 TRNG dt-bindings: rtc: at91rm9200: add sam9x7 compatible dt-bindings: rtt: at91rm9260: add sam9x7 compatible dt-bindings: serial: atmel,at91-usart: add compatible for sam9x7 dt-bindings: atmel-classd: add sam9x7 compatible dt-bindings: usb: atmel: add sam9x7 dt-bindings: watchdog: sama5d4-wdt: add compatible for sam9x7-wdt dt-bindings: irqchip/atmel-aic5: Add support for sam9x7 aic spi: dt-bindings: atmel,at91rm9200-spi: remove 9x60 compatible from list ASoC: dt-bindings: microchip: add sam9x7 dt-bindings: usb: ehci: Add sam9x7 dt-bindings: usb: add sam9x7 ARM: at91: pm: add support for sam9x7 SoC family ARM: at91: pm: add sam9x7 SoC init config ARM: at91: add support in SoC driver for new sam9x7 clk: at91: clk-sam9x60-pll: re-factor to support individual core freq outputs clk: at91: sam9x7: add support for HW PLL freq dividers clk: at91: sama7g5: move mux table macros to header file clk: at91: sam9x7: Allow PLLs to be exported and referenced in DT clk: at91: sam9x7: add sam9x7 pmc driver power: reset: at91-poweroff: lookup for proper pmc dt node for sam9x7 power: reset: at91-reset: add reset support for sam9x7 SoC power: reset: at91-reset: add sdhwc support for sam9x7 SoC ARM: at91: Kconfig: add config flag for SAM9X7 SoC ARM: configs: at91: enable config flags for sam9x7 SoC family ARM: dts: at91: sam9x7: add device tree for SoC dt-bindings: arm: add sam9x75 curiosity board ARM: dts: at91: sam9x75_curiosity: add sam9x75 curiosity board .../devicetree/bindings/arm/atmel-at91.yaml | 6 + .../devicetree/bindings/arm/atmel-sysregs.txt | 7 +- .../bindings/clock/atmel,at91rm9200-pmc.yaml | 1 + .../bindings/clock/atmel,at91sam9x5-sckc.yaml | 3 + .../crypto/atmel,at91sam9g46-aes.yaml | 6 +- .../crypto/atmel,at91sam9g46-sha.yaml | 6 +- .../crypto/atmel,at91sam9g46-tdes.yaml | 6 +- .../devicetree/bindings/dma/atmel-xdma.txt | 3 +- .../bindings/i2c/atmel,at91sam-i2c.yaml | 4 + .../interrupt-controller/atmel,aic.txt | 2 +- .../devicetree/bindings/mfd/atmel-flexcom.txt | 1 + .../devicetree/bindings/mfd/atmel-gpbr.txt | 1 + .../devicetree/bindings/mfd/atmel-matrix.txt | 1 + .../devicetree/bindings/mfd/atmel-smc.txt | 1 + .../devicetree/bindings/misc/atmel-ssc.txt | 1 + .../devicetree/bindings/mmc/sdhci-atmel.txt | 4 +- .../devicetree/bindings/mtd/atmel-nand.txt | 1 + .../devicetree/bindings/net/cdns,macb.yaml | 6 + .../bindings/pinctrl/atmel,at91-pinctrl.txt | 2 + .../power/reset/atmel,sama5d2-shdwc.yaml | 3 + .../reset/atmel,at91sam9260-reset.yaml | 4 + .../bindings/rng/atmel,at91-trng.yaml | 4 + .../bindings/rtc/atmel,at91rm9200-rtc.yaml | 18 +- .../bindings/rtc/atmel,at91sam9260-rtt.yaml | 3 + .../bindings/serial/atmel,at91-usart.yaml | 9 + .../soc/microchip/atmel,at91rm9200-tcb.yaml | 21 +- .../bindings/sound/atmel,sama5d2-classd.yaml | 7 +- .../sound/microchip,sama7g5-i2smcc.yaml | 11 +- .../bindings/spi/atmel,at91rm9200-spi.yaml | 1 - .../devicetree/bindings/usb/atmel-usb.txt | 11 +- .../devicetree/bindings/usb/generic-ehci.yaml | 7 + .../devicetree/bindings/usb/generic-ohci.yaml | 6 + .../bindings/watchdog/atmel,sama5d4-wdt.yaml | 15 +- arch/arm/boot/dts/microchip/Makefile | 5 + .../dts/microchip/at91-sam9x75_curiosity.dts | 311 +++++ arch/arm/boot/dts/microchip/sam9x7.dtsi | 1238 +++++++++++++++++ arch/arm/configs/at91_dt_defconfig | 1 + arch/arm/mach-at91/Kconfig | 23 +- arch/arm/mach-at91/Makefile | 1 + arch/arm/mach-at91/generic.h | 2 + arch/arm/mach-at91/pm.c | 35 + arch/arm/mach-at91/sam9x7.c | 34 + drivers/clk/at91/Makefile | 1 + drivers/clk/at91/clk-sam9x60-pll.c | 50 +- drivers/clk/at91/pmc.h | 18 + drivers/clk/at91/sam9x60.c | 7 + drivers/clk/at91/sam9x7.c | 946 +++++++++++++ drivers/clk/at91/sama7g5.c | 42 +- drivers/irqchip/irq-atmel-aic5.c | 10 + drivers/power/reset/Kconfig | 4 +- drivers/power/reset/at91-sama5d2_shdwc.c | 1 + drivers/soc/atmel/soc.c | 23 + drivers/soc/atmel/soc.h | 9 + include/dt-bindings/clock/at91.h | 4 + 54 files changed, 2871 insertions(+), 76 deletions(-) create mode 100644 arch/arm/boot/dts/microchip/at91-sam9x75_curiosity.dts create mode 100644 arch/arm/boot/dts/microchip/sam9x7.dtsi create mode 100644 arch/arm/mach-at91/sam9x7.c create mode 100644 drivers/clk/at91/sam9x7.c