From patchwork Mon Feb 27 12:55:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Ellero X-Patchwork-Id: 1748753 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=aruba.it header.i=@aruba.it header.a=rsa-sha256 header.s=a1 header.b=N1C9dTnd; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PQMSr44FZz1yX2 for ; Tue, 28 Feb 2023 00:55:08 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CE5DF85A93; Mon, 27 Feb 2023 14:54:48 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=asem.it Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=aruba.it header.i=@aruba.it header.b="N1C9dTnd"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A963F855F5; Mon, 27 Feb 2023 13:56:06 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_SOFTFAIL autolearn=no autolearn_force=no version=3.4.2 Received: from smtpcmd03116.aruba.it (smtpcmd03116.aruba.it [62.149.158.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 2E6E4857CA for ; Mon, 27 Feb 2023 13:56:03 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=asem.it Authentication-Results: phobos.denx.de; spf=fail smtp.mailfrom=l.ellero@asem.it Received: from asem-TANK-H61.asem.intra ([151.1.184.193]) by Aruba Outgoing Smtp with ESMTPSA id Wd2rpaAUehqTrWd2wpGvns; Mon, 27 Feb 2023 13:56:03 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aruba.it; s=a1; t=1677502563; bh=O0p0ziKNZB6HFeF9vUrMI9sbqw42P1IPv8XuANj452c=; h=From:To:Subject:Date:MIME-Version; b=N1C9dTndmtJ0N+IQSnoZ3BATsG/K19P6x1qhuOLP6/8xevSzNp6Q8AXpK9/EQkbX2 B0iSNbhSyRsbAF1D28CFcPIt80dZf9q7MDXkXxiPQc2iAxoTisE6x/Pcj9Qdj9ckoL tooN7fJTigTdx1nELHbruRi456BMuhfe03hvmMRWeQUK/HZVUVJ9luYwJ9ygCf/tcE AwgZmk7TVTjX7zMYHsmmyoeU9odrKwpFZKcMrwk7EPcM8wXTs1XVZbN+w5ouvXnUP7 Ap12eXTIcDaQ2MPjsr6GpuFXHXRMNQ7U7Q98qBUYA9AJqQM7370vFDxGOVRyuTVuaM Q5voln7JbpTjw== From: Luca Ellero To: u-boot@lists.denx.de, sbabic@denx.de, festevam@gmail.com, uboot-imx@nxp.com, luca.ellero@brickedbrain.com, ye.li@nxp.com, peng.fan@nxp.com Cc: Luca Ellero Subject: [PATCH 1/3] dm: adc: add iMX93 ADC support Date: Mon, 27 Feb 2023 13:55:55 +0100 Message-Id: <20230227125557.10237-2-l.ellero@asem.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230227125557.10237-1-l.ellero@asem.it> References: <20230227125557.10237-1-l.ellero@asem.it> MIME-Version: 1.0 X-CMAE-Envelope: MS4xfB0YuIJl2zHLiGG/BVuj4YfhgE5bKSltZ/b0pr/znK3QrC9w7EFvbtm6d2C+g3eLBoAkHUqWo2SPLr3iLD2Ae2vz5rl4pLH0ZYDuJnaFIu9x6RwHE497 quPE3mXUM35d/43EzHgjx7cS3Cat4IhQUdp7N8kPACn4AzH0jYr7SlD1Bl3/YU3VMYB65WKGeFSUHX3xIqcaas6h1AgTxpU2Tc8v/qxyX8V3QFfY4o8Ad+OY RbfDgU1xoQPh9Xml8HBz5JnbYTAYYsmapknWenRmcJ3GAyiVFxjwhXJUVgdJHqSKUM7guGFC4fXI3+Bc9AyUQ3nWh7a9OTytXlps+DoIlxgFqH1AHqnsX8nP 4m0yiqXJcfw2rzYxziqeGQ9zeewv3fC5Jh8pZFff73BAnXlz2Qo= X-Mailman-Approved-At: Mon, 27 Feb 2023 14:54:14 +0100 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean This commit adds driver for iMX93 ADC. The driver is implemented using driver model and provides ADC uclass's methods for ADC single channel operations: - adc_start_channel() - adc_channel_data() - adc_stop() ADC features: - channels: 4 - resolution: 12-bit Signed-off-by: Luca Ellero --- drivers/adc/Kconfig | 8 ++ drivers/adc/Makefile | 1 + drivers/adc/imx93-adc.c | 284 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 293 insertions(+) create mode 100644 drivers/adc/imx93-adc.c diff --git a/drivers/adc/Kconfig b/drivers/adc/Kconfig index e719c38bb3..4336732dee 100644 --- a/drivers/adc/Kconfig +++ b/drivers/adc/Kconfig @@ -63,3 +63,11 @@ config STM32_ADC - core driver to deal with common resources - child driver to deal with individual ADC resources (declare ADC device and associated channels, start/stop conversions) + +config ADC_IMX93 + bool "Enable NXP IMX93 ADC driver" + help + This enables basic driver for NXP IMX93 ADC. + It provides: + - 4 analog input channels + - 12-bit resolution diff --git a/drivers/adc/Makefile b/drivers/adc/Makefile index c1387f3a34..5336c82097 100644 --- a/drivers/adc/Makefile +++ b/drivers/adc/Makefile @@ -10,3 +10,4 @@ obj-$(CONFIG_ADC_SANDBOX) += sandbox.o obj-$(CONFIG_SARADC_ROCKCHIP) += rockchip-saradc.o obj-$(CONFIG_SARADC_MESON) += meson-saradc.o obj-$(CONFIG_STM32_ADC) += stm32-adc.o stm32-adc-core.o +obj-$(CONFIG_ADC_IMX93) += imx93-adc.o diff --git a/drivers/adc/imx93-adc.c b/drivers/adc/imx93-adc.c new file mode 100644 index 0000000000..c5f0268eca --- /dev/null +++ b/drivers/adc/imx93-adc.c @@ -0,0 +1,284 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2023 ASEM Srl + * Author: Luca Ellero + * + * Originally based on NXP linux-imx kernel v5.15 drivers/iio/adc/imx93_adc.c + */ + +#include +#include +#include +#include +#include +#include + +#define IMX93_ADC_MCR 0x00 +#define IMX93_ADC_MSR 0x04 +#define IMX93_ADC_ISR 0x10 +#define IMX93_ADC_IMR 0x20 +#define IMX93_ADC_CIMR0 0x24 +#define IMX93_ADC_CTR0 0x94 +#define IMX93_ADC_NCMR0 0xA4 +#define IMX93_ADC_PCDR0 0x100 +#define IMX93_ADC_PCDR1 0x104 +#define IMX93_ADC_PCDR2 0x108 +#define IMX93_ADC_PCDR3 0x10c +#define IMX93_ADC_PCDR4 0x110 +#define IMX93_ADC_PCDR5 0x114 +#define IMX93_ADC_PCDR6 0x118 +#define IMX93_ADC_PCDR7 0x11c +#define IMX93_ADC_CALSTAT 0x39C + +#define IMX93_ADC_MCR_MODE_MASK BIT(29) +#define IMX93_ADC_MCR_NSTART_MASK BIT(24) +#define IMX93_ADC_MCR_CALSTART_MASK BIT(14) +#define IMX93_ADC_MCR_ADCLKSE_MASK BIT(8) +#define IMX93_ADC_MCR_PWDN_MASK BIT(0) + +#define IMX93_ADC_MSR_CALFAIL_MASK BIT(30) +#define IMX93_ADC_MSR_CALBUSY_MASK BIT(29) +#define IMX93_ADC_MSR_ADCSTATUS_MASK GENMASK(2, 0) + +#define IMX93_ADC_ISR_EOC_MASK BIT(1) + +#define IMX93_ADC_IMR_EOC_MASK BIT(1) +#define IMX93_ADC_IMR_ECH_MASK BIT(0) + +#define IMX93_ADC_PCDR_CDATA_MASK GENMASK(11, 0) + +#define IDLE 0 +#define POWER_DOWN 1 +#define WAIT_STATE 2 +#define BUSY_IN_CALIBRATION 3 +#define SAMPLE 4 +#define CONVERSION 6 + +#define IMX93_ADC_MAX_CHANNEL 3 +#define IMX93_ADC_DAT_MASK 0xfff +#define IMX93_ADC_TIMEOUT 100000 + +struct imx93_adc_priv { + int active_channel; + void __iomem *regs; +}; + +static int imx93_adc_power_down(struct imx93_adc_priv *adc) +{ + u32 mcr, msr; + int ret; + + mcr = readl(adc->regs + IMX93_ADC_MCR); + mcr |= FIELD_PREP(IMX93_ADC_MCR_PWDN_MASK, 1); + writel(mcr, adc->regs + IMX93_ADC_MCR); + + ret = readl_poll_timeout(adc->regs + IMX93_ADC_MSR, msr, + ((msr & IMX93_ADC_MSR_ADCSTATUS_MASK) == POWER_DOWN), 50); + if (ret == -ETIMEDOUT) + pr_warn("ADC not in power down mode, current MSR: %x\n", msr); + + return ret; +} + +static int imx93_adc_config_ad_clk(struct imx93_adc_priv *adc) +{ + u32 mcr; + int ret; + + /* put adc in power down mode */ + ret = imx93_adc_power_down(adc); + if (ret < 0) + return ret; + + /* config the AD_CLK equal to bus clock */ + mcr = readl(adc->regs + IMX93_ADC_MCR); + mcr |= FIELD_PREP(IMX93_ADC_MCR_ADCLKSE_MASK, 1); + writel(mcr, adc->regs + IMX93_ADC_MCR); + + /* bring ADC out of power down state, in idle state */ + mcr = readl(adc->regs + IMX93_ADC_MCR); + mcr &= ~FIELD_PREP(IMX93_ADC_MCR_PWDN_MASK, 1); + writel(mcr, adc->regs + IMX93_ADC_MCR); + + return ret; +} + +static int imx93_adc_calibration(struct imx93_adc_priv *adc) +{ + u32 mcr, msr, adc_status; + int ret; + + /* make sure ADC is in power down mode */ + msr = readl(adc->regs + IMX93_ADC_MSR); + + adc_status = FIELD_GET(IMX93_ADC_MSR_ADCSTATUS_MASK, msr); + if (adc_status != POWER_DOWN) { + ret = imx93_adc_power_down(adc); + if (ret < 0) + return ret; + } + + /* config SAR controller operating clock */ + mcr = readl(adc->regs + IMX93_ADC_MCR); + mcr &= ~FIELD_PREP(IMX93_ADC_MCR_ADCLKSE_MASK, 1); + writel(mcr, adc->regs + IMX93_ADC_MCR); + + /* bring ADC out of power down state */ + mcr = readl(adc->regs + IMX93_ADC_MCR); + mcr &= ~FIELD_PREP(IMX93_ADC_MCR_PWDN_MASK, 1); + writel(mcr, adc->regs + IMX93_ADC_MCR); + + /* + * we use the default TSAMP/NRSMPL/AVGEN in MCR, + * can add the setting of these bit if need + */ + + /* run calibration */ + mcr = readl(adc->regs + IMX93_ADC_MCR); + mcr |= FIELD_PREP(IMX93_ADC_MCR_CALSTART_MASK, 1); + writel(mcr, adc->regs + IMX93_ADC_MCR); + + /* wait calibration to be finished */ + ret = readl_poll_timeout(adc->regs + IMX93_ADC_MSR, msr, + !(msr & IMX93_ADC_MSR_CALBUSY_MASK), 2000000); + if (ret == -ETIMEDOUT) { + pr_warn("ADC calibration timeout\n"); + return ret; + } + + /* check whether calbration is successful or not */ + msr = readl(adc->regs + IMX93_ADC_MSR); + if (msr & IMX93_ADC_MSR_CALFAIL_MASK) { + pr_warn("ADC calibration failed!\n"); + return -EAGAIN; + } + + return 0; +} + +static int imx93_adc_channel_data(struct udevice *dev, int channel, + unsigned int *data) +{ + struct imx93_adc_priv *adc = dev_get_priv(dev); + u32 isr, pcda; + int ret; + + if (channel != adc->active_channel) { + pr_err("Requested channel is not active!\n"); + return -EINVAL; + } + + ret = readl_poll_timeout(adc->regs + IMX93_ADC_ISR, isr, + (isr & IMX93_ADC_ISR_EOC_MASK), IMX93_ADC_TIMEOUT); + + /* clear interrupts */ + writel(isr, adc->regs + IMX93_ADC_ISR); + + if (ret == -ETIMEDOUT) { + pr_warn("ADC conversion timeout!\n"); + return ret; + } + + pcda = readl(adc->regs + IMX93_ADC_PCDR0 + channel * 4); + + *data = FIELD_GET(IMX93_ADC_PCDR_CDATA_MASK, pcda); + + return 0; +} + +static int imx93_adc_start_channel(struct udevice *dev, int channel) +{ + struct imx93_adc_priv *adc = dev_get_priv(dev); + u32 imr, mcr; + + /* config channel mask register */ + writel(1 << channel, adc->regs + IMX93_ADC_NCMR0); + + /* config interrupt mask */ + imr = FIELD_PREP(IMX93_ADC_IMR_EOC_MASK, 1); + writel(imr, adc->regs + IMX93_ADC_IMR); + writel(1 << channel, adc->regs + IMX93_ADC_CIMR0); + + /* config one-shot mode */ + mcr = readl(adc->regs + IMX93_ADC_MCR); + mcr &= ~FIELD_PREP(IMX93_ADC_MCR_MODE_MASK, 1); + writel(mcr, adc->regs + IMX93_ADC_MCR); + + /* start normal conversion */ + mcr = readl(adc->regs + IMX93_ADC_MCR); + mcr |= FIELD_PREP(IMX93_ADC_MCR_NSTART_MASK, 1); + writel(mcr, adc->regs + IMX93_ADC_MCR); + + adc->active_channel = channel; + + return 0; +} + +static int imx93_adc_stop(struct udevice *dev) +{ + struct imx93_adc_priv *adc = dev_get_priv(dev); + + adc->active_channel = -1; + + return 0; +} + +static int imx93_adc_probe(struct udevice *dev) +{ + struct imx93_adc_priv *adc = dev_get_priv(dev); + unsigned int ret; + + ret = imx93_adc_calibration(adc); + if (ret < 0) + return ret; + + ret = imx93_adc_config_ad_clk(adc); + if (ret < 0) + return ret; + + adc->active_channel = -1; + + return 0; +} + +static int imx93_adc_of_to_plat(struct udevice *dev) +{ + struct adc_uclass_plat *uc_pdata = dev_get_uclass_plat(dev); + struct imx93_adc_priv *adc = dev_get_priv(dev); + + adc->regs = dev_read_addr_ptr(dev); + if (adc->regs == (struct imx93_adc *)FDT_ADDR_T_NONE) { + pr_err("Dev: %s - can't get address!", dev->name); + return -ENODATA; + } + + uc_pdata->data_mask = IMX93_ADC_DAT_MASK; + uc_pdata->data_format = ADC_DATA_FORMAT_BIN; + uc_pdata->data_timeout_us = IMX93_ADC_TIMEOUT; + + /* Mask available channel bits: [0:3] */ + uc_pdata->channel_mask = (2 << IMX93_ADC_MAX_CHANNEL) - 1; + + return 0; +} + +static const struct adc_ops imx93_adc_ops = { + .start_channel = imx93_adc_start_channel, + .channel_data = imx93_adc_channel_data, + .stop = imx93_adc_stop, +}; + +static const struct udevice_id imx93_adc_ids[] = { + { .compatible = "nxp,imx93-adc" }, + { } +}; + +U_BOOT_DRIVER(imx93_adc) = { + .name = "imx93-adc", + .id = UCLASS_ADC, + .of_match = imx93_adc_ids, + .ops = &imx93_adc_ops, + .probe = imx93_adc_probe, + .of_to_plat = imx93_adc_of_to_plat, + .priv_auto = sizeof(struct imx93_adc_priv), +}; From patchwork Mon Feb 27 12:55:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Ellero X-Patchwork-Id: 1748754 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=aruba.it header.i=@aruba.it header.a=rsa-sha256 header.s=a1 header.b=ZzFvousx; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PQMT70Kqsz1yX2 for ; Tue, 28 Feb 2023 00:55:23 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 28D8C85A85; Mon, 27 Feb 2023 14:54:51 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=asem.it Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=aruba.it header.i=@aruba.it header.b="ZzFvousx"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B899D85A51; Mon, 27 Feb 2023 13:56:08 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_SOFTFAIL autolearn=no autolearn_force=no version=3.4.2 Received: from smtpcmd03116.aruba.it (smtpcmd03116.aruba.it [62.149.158.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1163F85A36 for ; Mon, 27 Feb 2023 13:56:06 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=asem.it Authentication-Results: phobos.denx.de; spf=fail smtp.mailfrom=l.ellero@asem.it Received: from asem-TANK-H61.asem.intra ([151.1.184.193]) by Aruba Outgoing Smtp with ESMTPSA id Wd2rpaAUehqTrWd2zpGvp1; Mon, 27 Feb 2023 13:56:05 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aruba.it; s=a1; t=1677502565; bh=ke1lrPvfLKL5ymM+F4GpcbdDVCIaU6Za3yo0NXNjX0k=; h=From:To:Subject:Date:MIME-Version; b=ZzFvousxEVAyQoYpIXplaHHSjJ425Zq8fYtKblTu8HO6FEJs4PF8J768DRCiRKqw0 p/QsnCIPdl0+tCBIY+g8Ndr4ERPMRUQnlKs01cDyRiM8MgfEEZ38vxMojlAJXgHTro iKf5meiQllu31raikfr1DcHgZLhAbV7RguQHa/XIbBEOckx0L6Zfj3QWcNdy+rGsNy F9tlyBwTD2GCNjEJYEroy9ICEJZdV1Ybr+hpHP0J8tbvrAGy1z0H2AN29V3PQCEpzF +a0vqjorf7KAM5JV1z3UsJRwYkI/dLFPod7izVHdIMbxHJhyRTLVu1rYwu2Pw2+wdx E6tBBpSszda/w== From: Luca Ellero To: u-boot@lists.denx.de, sbabic@denx.de, festevam@gmail.com, uboot-imx@nxp.com, luca.ellero@brickedbrain.com, ye.li@nxp.com, peng.fan@nxp.com Cc: Luca Ellero Subject: [PATCH 2/3] imx93_evk: add adc node to dts file Date: Mon, 27 Feb 2023 13:55:56 +0100 Message-Id: <20230227125557.10237-3-l.ellero@asem.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230227125557.10237-1-l.ellero@asem.it> References: <20230227125557.10237-1-l.ellero@asem.it> MIME-Version: 1.0 X-CMAE-Envelope: MS4xfIg8g9Z6TSRl+AJQgkTBDD9zaJRnlchPQta50UU66UoHOn2AFGZCQ8pORPBtLW/Q9smDVJn6kJrQq1zJob9R5sl8mQib9oq4SUP4hpFvKvomJ6KxIGy4 w+sn8hS1OJXPayr1njXjtuDqMKQRQDIYgg2DH2DZFRKBWok4zRUrVmk5XBIdS1dN3TmneqQcf6aK9f5AFgI6EqD+Z1hk6PPpWXHhmbvd2TxOY0qycBx92cxo vcrCjVChQ1NuzbOeC+dQ1DFPRkLFFbtiSN+i0T8idWU+VzR6NBx2Cc9FVXNFJHz47FikC+72ao2iB6aEb/03nKoLzykeqV2Lerx7RgEePlEo4V4KYBvdaDaj RYOm4YDJtYy5RzN7c/B08J7svBfDWLi3TROvEVHt4sWELRpDFls= X-Mailman-Approved-At: Mon, 27 Feb 2023 14:54:14 +0100 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean This node uses imx93_adc driver under drivers/adc. The node is added keeping dts file in sync with iMX9 evk Linux devicetree. Signed-off-by: Luca Ellero --- arch/arm/dts/imx93-11x11-evk.dts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/dts/imx93-11x11-evk.dts b/arch/arm/dts/imx93-11x11-evk.dts index b3a5a3d71e..91f99cebae 100644 --- a/arch/arm/dts/imx93-11x11-evk.dts +++ b/arch/arm/dts/imx93-11x11-evk.dts @@ -58,6 +58,10 @@ }; +&adc1 { + status = "okay"; +}; + &lpi2c1 { #address-cells = <1>; #size-cells = <0>; From patchwork Mon Feb 27 12:55:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Ellero X-Patchwork-Id: 1748755 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=aruba.it header.i=@aruba.it header.a=rsa-sha256 header.s=a1 header.b=Qvmzoe8b; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PQMTP1R1gz1yX2 for ; Tue, 28 Feb 2023 00:55:37 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4334885A90; Mon, 27 Feb 2023 14:54:53 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=asem.it Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=aruba.it header.i=@aruba.it header.b="Qvmzoe8b"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6F0F985A5F; Mon, 27 Feb 2023 13:56:10 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_SOFTFAIL autolearn=no autolearn_force=no version=3.4.2 Received: from smtpcmd03116.aruba.it (smtpcmd03116.aruba.it [62.149.158.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 5E9A785A33 for ; Mon, 27 Feb 2023 13:56:08 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=asem.it Authentication-Results: phobos.denx.de; spf=fail smtp.mailfrom=l.ellero@asem.it Received: from asem-TANK-H61.asem.intra ([151.1.184.193]) by Aruba Outgoing Smtp with ESMTPSA id Wd2rpaAUehqTrWd31pGvpw; Mon, 27 Feb 2023 13:56:08 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aruba.it; s=a1; t=1677502568; bh=JFskMsf07olQKOQKe6zq3y6CnfDrQ4Jpv4MDdgYZ0Nk=; h=From:To:Subject:Date:MIME-Version; b=Qvmzoe8bi+GifyZr6ar8WxDdTyCRroDQ2+bNSicAPDMjqHGJ6FK5+ahQfrQVMwZxn PCZJTGqwg+7re3ym7rHPxA+jjctF6n0ViKzwN69AGR5Res9cPN4rkuJUzkxrhq7nzD oCX/flGVQeI+51CVYDQqmwkPyhsUEzVp7ZZr5sBoMi0RpxKSZKVxSK9WHSzS3rMORI 99B0Ub/YNAJnPiCX+COOTOgDR1qPekNn2eqwnlycUyBigsxed6SW33IIA41OMaVHPg b0C4Rip1p8+yMtW0+HsH0f+78F9PIB59WFJVCUNv59RiX9VKV1NHHp/RD0LsfHT3T6 V8VXA9lK1I4jA== From: Luca Ellero To: u-boot@lists.denx.de, sbabic@denx.de, festevam@gmail.com, uboot-imx@nxp.com, luca.ellero@brickedbrain.com, ye.li@nxp.com, peng.fan@nxp.com Cc: Luca Ellero Subject: [PATCH 3/3] imx93_evk: defconfig: add adc support Date: Mon, 27 Feb 2023 13:55:57 +0100 Message-Id: <20230227125557.10237-4-l.ellero@asem.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230227125557.10237-1-l.ellero@asem.it> References: <20230227125557.10237-1-l.ellero@asem.it> MIME-Version: 1.0 X-CMAE-Envelope: MS4xfOwRwxiDvoyIAA7XuFb2Rf1GkLqQySFWsF5waQR3Z7AiF5D7V9OvEXyfbB9C9HUHZVn9yLbwGVZCrtgweGRD99XpQu1mz/6PInHqgqi7WxITgsqKhd1M MK6r2TZdk9OKV2YE+8TnxLNAy1sU+fvBS83Mur0WI35LVXFLPRFpvxtv9MRfECLmLzzl0XUCu+94noocJ00ErRpYklpEeNeGDpxXqsrsAP8ppSAjCThBWcA6 NaNcmroLwAYfZ5qrXKVxIIbu/tH2jsaQ6AEol/B5ConmNfbzOxPoOAA+P8hiYMNVJ43VclbyDLzmaB65gsoFixO6k0QQ6ReUAN5B6ZgI5kE+sZUVdp3sHiOp EX7Wnd4VhnJWvoOceNqOZX6zmCB2t3O/sTQpUzb+FsBjt2kRX1E= X-Mailman-Approved-At: Mon, 27 Feb 2023 14:54:14 +0100 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean iMX93 ADC features: - 4 channels - 12 bit resolution Signed-off-by: Luca Ellero --- configs/imx93_11x11_evk_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/imx93_11x11_evk_defconfig b/configs/imx93_11x11_evk_defconfig index 477fb25807..fa929dd4ec 100644 --- a/configs/imx93_11x11_evk_defconfig +++ b/configs/imx93_11x11_evk_defconfig @@ -82,6 +82,7 @@ CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM=y CONFIG_REGMAP=y CONFIG_SYSCON=y +CONFIG_ADC_IMX93=y CONFIG_IMX_RGPIO2P=y CONFIG_DM_PCA953X=y CONFIG_DM_I2C=y