From patchwork Fri Mar 25 12:02:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 1609405 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=g1EDssdv; dkim-atps=neutral Authentication-Results: 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=) 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 RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KQ1264jtyz9s0r for ; Fri, 25 Mar 2022 23:03:10 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 991D884195; Fri, 25 Mar 2022 13:02:51 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="g1EDssdv"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 297F684177; Fri, 25 Mar 2022 13:02:40 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8563B8415D for ; Fri, 25 Mar 2022 13:02:35 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=tommaso.merciai@amarulasolutions.com Received: by mail-wr1-x42e.google.com with SMTP id t11so10573254wrm.5 for ; Fri, 25 Mar 2022 05:02:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3orRPcwlGoNXcN5yxSxocYNLrccw6mq90i9ZzQKg7hI=; b=g1EDssdvL8MkaerLymCyBT4y9tLyOw/6ri4y0DYHRzUq0gg9abQaIwvQpWO6IS6o0K ndcvW9ENSamlDk8jS3/Wj6kRf41gODEq0wAGZrl9J4YKrpob8or/XxiLpcipR3N9P3bU bmXc4k/+H+dorW02CDYLTfOS43OeTuBBFw4Ts= 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=3orRPcwlGoNXcN5yxSxocYNLrccw6mq90i9ZzQKg7hI=; b=bGs6FlcFWppNLld3aaKV8mFWvkwc3T99iL6RZLavcTo1t33tqgUmmya5fzELXzuuaD Td0dQYkh9RSckUhCfLNhMiTJps20HtUTx7Q20jwFhKgXSpuBnfG3qDKjM/gzqG3FUknE pKk33QC41pgVN1UqsPD/sFe5SyHgdvEnCR2mP3sr1DEoWBvtYkWwTkMvmPWMZTjZn3NL HF0nfBrISWzvVNn/YDquBWd/PVb3I1TKu8ppAxKcZIF5xNEelEPU2wiOKPk9cAIfQukS BxDpjytxtMInxhrZClzcG+pGX5KrCh31vD3ZvIoh7tCA3JHLdcuJSp0t66sD4CuPGF1N cGnw== X-Gm-Message-State: AOAM532E//zWe3NQtu2BNcPrteJGFN+kxTCc+72rQjkbsbGnnPk8H1Tl D8tj+TEN+36qXlKDhXJVwfjmfA== X-Google-Smtp-Source: ABdhPJy/7KS3/Y+5WfQmOL9+/3rk0wI+FXTznH6U8mjZI3Jq8TIonSP3nMCwpYubO6ee1PcWX3JTyg== X-Received: by 2002:a5d:48d1:0:b0:1e3:2401:f229 with SMTP id p17-20020a5d48d1000000b001e32401f229mr8750498wrs.694.1648209755168; Fri, 25 Mar 2022 05:02:35 -0700 (PDT) Received: from tom-ThinkPad-T14s-Gen-2i.station (net-188-217-56-61.cust.vodafonedsl.it. [188.217.56.61]) by smtp.gmail.com with ESMTPSA id g16-20020a05600c4ed000b0038ceb0b21b4sm1190641wmq.24.2022.03.25.05.02.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 05:02:34 -0700 (PDT) From: Tommaso Merciai To: Cc: tommaso.merciai@amarulasolutions.com, alb3rto.merciai@gmail.com, Peng Fan , Andrey Zhizhikin , Ye Li , Alice Guo , u-boot@lists.denx.de Subject: [PATCH v4 1/9] arch: mach-imx: imx8m: add pwm ctrl registers fields defines Date: Fri, 25 Mar 2022 13:02:23 +0100 Message-Id: <20220325120231.63782-2-tommaso.merciai@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> References: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> MIME-Version: 1.0 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.5 at phobos.denx.de X-Virus-Status: Clean Add pwm control registers fields defines into imx-regs.h: - prescaler - dozeen - waiten - dbgen - clksrc_ipg_high - clksrc_ipg, en field References: - iMX8MMRM.pdf p 3884 Signed-off-by: Tommaso Merciai --- arch/arm/include/asm/arch-imx8m/imx-regs.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm/include/asm/arch-imx8m/imx-regs.h b/arch/arm/include/asm/arch-imx8m/imx-regs.h index 11389a0f4d..57a95de1b8 100644 --- a/arch/arm/include/asm/arch-imx8m/imx-regs.h +++ b/arch/arm/include/asm/arch-imx8m/imx-regs.h @@ -351,6 +351,14 @@ struct src { u32 ddr2_rcr; }; +#define PWMCR_PRESCALER(x) (((x - 1) & 0xFFF) << 4) +#define PWMCR_DOZEEN (1 << 24) +#define PWMCR_WAITEN (1 << 23) +#define PWMCR_DBGEN (1 << 22) +#define PWMCR_CLKSRC_IPG_HIGH (2 << 16) +#define PWMCR_CLKSRC_IPG (1 << 16) +#define PWMCR_EN (1 << 0) + #define WDOG_WDT_MASK BIT(3) #define WDOG_WDZST_MASK BIT(0) struct wdog_regs { From patchwork Fri Mar 25 12:02:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 1609406 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=C88W3gUs; dkim-atps=neutral Authentication-Results: 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=) 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 RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KQ12C5WpWz9s0r for ; Fri, 25 Mar 2022 23:03:15 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 54E9D84156; Fri, 25 Mar 2022 13:02:59 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="C88W3gUs"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E6D628415F; Fri, 25 Mar 2022 13:02:40 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com [IPv6:2a00:1450:4864:20::334]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id BF52C84099 for ; Fri, 25 Mar 2022 13:02:37 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=tommaso.merciai@amarulasolutions.com Received: by mail-wm1-x334.google.com with SMTP id k124-20020a1ca182000000b0038c9cf6e2a6so4275573wme.0 for ; Fri, 25 Mar 2022 05:02:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vagYpUO66IsLHI51EgkqaCA14J2w/8BsfQcWFK5ekVk=; b=C88W3gUs6qK8vsDWey5UqoDtiQhmKgAgwgjO1DqarI2WDQUh6oTBdEL/bQyDKA/50Y +8fQkWU3MEa+4zWMJjAaJuC2CMKPOqQEwI0GKWi7OqtqjO/NBPGAJnlFmGdFpxZRDiuI cviI94tcwRIkbfa0wmUtk0sWRoMq9MerL7Pa8= 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=vagYpUO66IsLHI51EgkqaCA14J2w/8BsfQcWFK5ekVk=; b=z9exufQRXV6yhs/9z7NoE0OFoADR3E0SKWmIPCsW9IcjxrHfQNw1o3AiaRP4UKhcH7 wRnCZemJM3nA7M9NT50AkKWShjX6V3dLGQieo6cX9v1CwXnF5PceForZB+9p8vNKIv7m fGd2O91AD725f83Y0IP2n2l23ksR9Px54p9ZTiQc/e6bodbl6iztWiGNz5idJ/pYCitl E2E9qrVbEZ2rPjSEvqG4FWubHkuVmWZQPKGDwAA6VZXXbN399cOr/Hrif/JLYEsUyjCw 43nV2OW1dpwlRUNmT2MBt6cRJ5vsGtmXCFkTA7Zf/vAsmZNMVnpKFHuQxuougV6YIkm7 8z2w== X-Gm-Message-State: AOAM532RU6fAZkjfYSVWAbJcnuYwJx5/3tb5TTuwtgTVEyzDeIceoaDI BCfkVEJp6eBHVMuMcquaSMXGh/uc9LGQFQ== X-Google-Smtp-Source: ABdhPJwogTHL3XFcTUf5QaSeLUAmV92dlBQ9tkYpjuBek/iNGr4IvfgwzefohSL1p1v9UqLc0JVO8Q== X-Received: by 2002:a05:600c:4f82:b0:38c:9185:1ecd with SMTP id n2-20020a05600c4f8200b0038c91851ecdmr18798252wmq.130.1648209757322; Fri, 25 Mar 2022 05:02:37 -0700 (PDT) Received: from tom-ThinkPad-T14s-Gen-2i.station (net-188-217-56-61.cust.vodafonedsl.it. [188.217.56.61]) by smtp.gmail.com with ESMTPSA id g16-20020a05600c4ed000b0038ceb0b21b4sm1190641wmq.24.2022.03.25.05.02.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 05:02:36 -0700 (PDT) From: Tommaso Merciai To: Cc: tommaso.merciai@amarulasolutions.com, alb3rto.merciai@gmail.com, Peng Fan , Andrey Zhizhikin , Ye Li , Alice Guo , u-boot@lists.denx.de Subject: [PATCH v4 2/9] arch: mach-imx: imx8m: add pwm_regs struct in imx-regs Date: Fri, 25 Mar 2022 13:02:24 +0100 Message-Id: <20220325120231.63782-3-tommaso.merciai@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> References: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> MIME-Version: 1.0 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.5 at phobos.denx.de X-Virus-Status: Clean Add pwm_regs struct for i.MX8MM SOC Signed-off-by: Tommaso Merciai --- arch/arm/include/asm/arch-imx8m/imx-regs.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm/include/asm/arch-imx8m/imx-regs.h b/arch/arm/include/asm/arch-imx8m/imx-regs.h index 57a95de1b8..f31f54ad0c 100644 --- a/arch/arm/include/asm/arch-imx8m/imx-regs.h +++ b/arch/arm/include/asm/arch-imx8m/imx-regs.h @@ -359,6 +359,15 @@ struct src { #define PWMCR_CLKSRC_IPG (1 << 16) #define PWMCR_EN (1 << 0) +struct pwm_regs { + u32 cr; + u32 sr; + u32 ir; + u32 sar; + u32 pr; + u32 cnr; +}; + #define WDOG_WDT_MASK BIT(3) #define WDOG_WDZST_MASK BIT(0) struct wdog_regs { From patchwork Fri Mar 25 12:02:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 1609407 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=HgYuZV6m; dkim-atps=neutral Authentication-Results: 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=) 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 RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KQ12Q45J2z9s3q for ; Fri, 25 Mar 2022 23:03:26 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 008F98419E; Fri, 25 Mar 2022 13:03:09 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="HgYuZV6m"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 75645840D6; Fri, 25 Mar 2022 13:02:45 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 86C1384156 for ; Fri, 25 Mar 2022 13:02:39 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=tommaso.merciai@amarulasolutions.com Received: by mail-wr1-x435.google.com with SMTP id d7so10566814wrb.7 for ; Fri, 25 Mar 2022 05:02:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vBmDXjahWl4IsM3jln2ijKU6xIq5SMkw0Qu50fIzPtc=; b=HgYuZV6mNNBV/RREWU6Dd3hCBSpODHidWdMAEgrOy9j7JtiqcjLdYqtkNQLKjdtbhv bQl6aXm1+mI6V7BwMqK2PBDuATzhu7YS3K/ofM1/C7iKUCwvgY6fXDKeVO25EXObLZFP w3bDhxAbm4BJWabGDNuoPWooytnGlVbcZS7oE= 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=vBmDXjahWl4IsM3jln2ijKU6xIq5SMkw0Qu50fIzPtc=; b=8EJ4jiKokwJUwAH2FuEZnLu3PXLboX6W6t7ZPtOExfMshzNR599NjkJlds4eZ8NX/p TW7lYeOFg/dvuhgYJ+UVuLha27pQDCEv7gvw+Vs5CARDFQzgP0upsMMe2EmptZF6/lwO khZYqfkffmJTPjQFwIbwvxfzjPZA5krmigJxdrO8Cj7gZCn8NlSMdkNOb7gc3Fn6MdTk 0+T13yRXQmY7WlnqHKEaicWNWq6gmfYyNRwt54sd/Y3nbG4VkJ8x32mhNw1OPoNNHGv0 kRs/udsGa+7FemWDm2grJD38nFC1tltWBm3NDVv2SUudI/hxPynLIKvaxucvxmEuxljT ADAg== X-Gm-Message-State: AOAM532WH9fkKk65hHnRH6pwJHN+TXVGwIlm17uIZKuUnhiLajOmF2PP MT0d0b+kbk20Q1d977B6P+21DA== X-Google-Smtp-Source: ABdhPJx/EX3u6oyRYpJ4F46GR6Eh0a/hDFEReZL+15HEdCZgw7h9KoWXnkkYKJk34vD9vCT5c8pFsQ== X-Received: by 2002:a5d:6d81:0:b0:205:8246:8302 with SMTP id l1-20020a5d6d81000000b0020582468302mr8858799wrs.414.1648209759061; Fri, 25 Mar 2022 05:02:39 -0700 (PDT) Received: from tom-ThinkPad-T14s-Gen-2i.station (net-188-217-56-61.cust.vodafonedsl.it. [188.217.56.61]) by smtp.gmail.com with ESMTPSA id g16-20020a05600c4ed000b0038ceb0b21b4sm1190641wmq.24.2022.03.25.05.02.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 05:02:38 -0700 (PDT) From: Tommaso Merciai To: Cc: tommaso.merciai@amarulasolutions.com, alb3rto.merciai@gmail.com, Lukasz Majewski , Sean Anderson , Peng Fan , Alice Guo , Ye Li , Andrey Zhizhikin , u-boot@lists.denx.de Subject: [PATCH v4 3/9] clk: imx8mm: add pwm clocks support Date: Fri, 25 Mar 2022 13:02:25 +0100 Message-Id: <20220325120231.63782-4-tommaso.merciai@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> References: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> MIME-Version: 1.0 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.5 at phobos.denx.de X-Virus-Status: Clean Add clocks support for the PWM controllers. This is ported from Linux v5.17-rc8. Signed-off-by: Tommaso Merciai --- drivers/clk/imx/clk-imx8mm.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/drivers/clk/imx/clk-imx8mm.c b/drivers/clk/imx/clk-imx8mm.c index 3aa8c641f9..964a778934 100644 --- a/drivers/clk/imx/clk-imx8mm.c +++ b/drivers/clk/imx/clk-imx8mm.c @@ -116,6 +116,18 @@ static const char *imx8mm_i2c3_sels[] = {"clock-osc-24m", "sys_pll1_160m", "sys_ static const char *imx8mm_i2c4_sels[] = {"clock-osc-24m", "sys_pll1_160m", "sys_pll2_50m", "sys_pll3_out", "audio_pll1_out", "video_pll1_out", "audio_pll2_out", "sys_pll1_133m", }; +static const char *imx8mm_pwm1_sels[] = {"clock-osc-24m", "sys_pll2_100m", "sys_pll1_160m", "sys_pll1_40m", + "sys_pll3_out", "clk_ext1", "sys_pll1_80m", "video_pll1_out", }; + +static const char *imx8mm_pwm2_sels[] = {"clock-osc-24m", "sys_pll2_100m", "sys_pll1_160m", "sys_pll1_40m", + "sys_pll3_out", "clk_ext1", "sys_pll1_80m", "video_pll1_out", }; + +static const char *imx8mm_pwm3_sels[] = {"clock-osc-24m", "sys_pll2_100m", "sys_pll1_160m", "sys_pll1_40m", + "sys_pll3_out", "clk_ext2", "sys_pll1_80m", "video_pll1_out", }; + +static const char *imx8mm_pwm4_sels[] = {"clock-osc-24m", "sys_pll2_100m", "sys_pll1_160m", "sys_pll1_40m", + "sys_pll3_out", "clk_ext2", "sys_pll1_80m", "video_pll1_out", }; + static const char *imx8mm_wdog_sels[] = {"clock-osc-24m", "sys_pll1_133m", "sys_pll1_160m", "vpu_pll_out", "sys_pll2_125m", "sys_pll3_out", "sys_pll1_80m", "sys_pll2_166m", }; @@ -391,6 +403,14 @@ static int imx8mm_clk_probe(struct udevice *dev) imx8m_clk_composite("i2c3", imx8mm_i2c3_sels, base + 0xae00)); clk_dm(IMX8MM_CLK_I2C4, imx8m_clk_composite("i2c4", imx8mm_i2c4_sels, base + 0xae80)); + clk_dm(IMX8MM_CLK_PWM1, + imx8m_clk_composite("pwm1", imx8mm_pwm1_sels, base + 0xb380)); + clk_dm(IMX8MM_CLK_PWM2, + imx8m_clk_composite("pwm2", imx8mm_pwm2_sels, base + 0xb400)); + clk_dm(IMX8MM_CLK_PWM3, + imx8m_clk_composite("pwm3", imx8mm_pwm3_sels, base + 0xb480)); + clk_dm(IMX8MM_CLK_PWM4, + imx8m_clk_composite("pwm4", imx8mm_pwm4_sels, base + 0xb500)); clk_dm(IMX8MM_CLK_WDOG, imx8m_clk_composite("wdog", imx8mm_wdog_sels, base + 0xb900)); clk_dm(IMX8MM_CLK_USDHC3, @@ -425,6 +445,14 @@ static int imx8mm_clk_probe(struct udevice *dev) imx_clk_gate4("i2c4_root_clk", "i2c4", base + 0x41a0, 0)); clk_dm(IMX8MM_CLK_OCOTP_ROOT, imx_clk_gate4("ocotp_root_clk", "ipg_root", base + 0x4220, 0)); + clk_dm(IMX8MM_CLK_PWM1_ROOT, + imx_clk_gate4("pwm1_root_clk", "pwm1", base + 0x4280, 0)); + clk_dm(IMX8MM_CLK_PWM2_ROOT, + imx_clk_gate4("pwm2_root_clk", "pwm2", base + 0x4290, 0)); + clk_dm(IMX8MM_CLK_PWM3_ROOT, + imx_clk_gate4("pwm3_root_clk", "pwm3", base + 0x42a0, 0)); + clk_dm(IMX8MM_CLK_PWM4_ROOT, + imx_clk_gate4("pwm4_root_clk", "pwm4", base + 0x42b0, 0)); clk_dm(IMX8MM_CLK_USDHC1_ROOT, imx_clk_gate4("usdhc1_root_clk", "usdhc1", base + 0x4510, 0)); clk_dm(IMX8MM_CLK_USDHC2_ROOT, From patchwork Fri Mar 25 12:02:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 1609409 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=RHzr9I2U; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KQ12t0pqtz9s0r for ; Fri, 25 Mar 2022 23:03:50 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id F196D8418C; Fri, 25 Mar 2022 13:03:31 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="RHzr9I2U"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id AEFBE8418E; Fri, 25 Mar 2022 13:02:49 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id DED1484099 for ; Fri, 25 Mar 2022 13:02:41 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=tommaso.merciai@amarulasolutions.com Received: by mail-wr1-x42c.google.com with SMTP id t11so10573648wrm.5 for ; Fri, 25 Mar 2022 05:02:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=P1YYWGL88qfAL4s9o//5dnmxnIoOg3JZGfMU9hJsch8=; b=RHzr9I2UJc01PbhlLLVY1zlXX62tE2VIZOf9vM8BNM0FhcHFCBN0wP+1kS/hJYc8XK ZzOYY3QOYP98dvwcY1VkQ6UDvZK/oTmpYr7pFphCHG/m0HXD0HlkOYW3MbbXMr5lOYYJ h8fCpbKW7pMMJZtFbhl9oQARY7ccj2Aklkkhc= 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=P1YYWGL88qfAL4s9o//5dnmxnIoOg3JZGfMU9hJsch8=; b=JR0zFNnk4jGfpTRIIlVWTljnch+kIrzd8FxYyq7MOoYUjHLiK1BzI24XunkdvivT53 oQ2wXBbHB0wWPRnMN+Z9mp/G4O6KRkrxZEsdUTaCPg1b+ahdo2vNybWvAfX9xzi1jG+6 XPbU7S0rDdqBciumnNkqMKyJZ4onAXOZgvoMbqnyiMnQ6AIECd5uH7vj2EFuBsb2L8TO eW6HsdabIE5GPgV9b7193fghe2+XwVnEY09v8WQU7Ky6Fv65GvJYxABs/VGNEOOExt6E G+lnUEBKTxDWEYRbT5r6kYAKMlKGg/8GH8HOlze4C+E/p4dNaB0zFKHBhP1ytY+eTFlm pcnw== X-Gm-Message-State: AOAM530hwuUlVLkKb2vnwPzQbITa8CNnltm9ktDusOmaNn+5Sn1Xkq+e drYBulUeuhjug75NybMKDtRDwg== X-Google-Smtp-Source: ABdhPJwSjILxtE7zIe+XFjuZlRWCkUYJCx9Au8DitpzdcXegKvPQG3UGoYUURpDUBRteDRsf/uAXhg== X-Received: by 2002:adf:d1cb:0:b0:203:d2f7:43cf with SMTP id b11-20020adfd1cb000000b00203d2f743cfmr9142114wrd.287.1648209761220; Fri, 25 Mar 2022 05:02:41 -0700 (PDT) Received: from tom-ThinkPad-T14s-Gen-2i.station (net-188-217-56-61.cust.vodafonedsl.it. [188.217.56.61]) by smtp.gmail.com with ESMTPSA id g16-20020a05600c4ed000b0038ceb0b21b4sm1190641wmq.24.2022.03.25.05.02.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 05:02:40 -0700 (PDT) From: Tommaso Merciai To: Cc: tommaso.merciai@amarulasolutions.com, alb3rto.merciai@gmail.com, Peng Fan , Andrey Zhizhikin , Alice Guo , Ye Li , Alper Nebi Yasak , Simon Glass , Dan Sneddon , u-boot@lists.denx.de Subject: [PATCH v4 4/9] drivers: pwm: pwm-imx: move pwm-imx-util into pwm-imx Date: Fri, 25 Mar 2022 13:02:26 +0100 Message-Id: <20220325120231.63782-5-tommaso.merciai@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> References: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> MIME-Version: 1.0 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.5 at phobos.denx.de X-Virus-Status: Clean Move pwm_imx_get_parms, pwm_id_to_reg functions into pwm-imx.c and drop off pwm-imx-util.c Signed-off-by: Tommaso Merciai --- drivers/pwm/Makefile | 2 +- drivers/pwm/pwm-imx-util.c | 80 -------------------------------------- drivers/pwm/pwm-imx-util.h | 15 ------- drivers/pwm/pwm-imx.c | 67 ++++++++++++++++++++++++++++++- 4 files changed, 67 insertions(+), 97 deletions(-) delete mode 100644 drivers/pwm/pwm-imx-util.c delete mode 100644 drivers/pwm/pwm-imx-util.h diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile index 55f2bc081d..5d696ec49c 100644 --- a/drivers/pwm/Makefile +++ b/drivers/pwm/Makefile @@ -13,7 +13,7 @@ obj-$(CONFIG_DM_PWM) += pwm-uclass.o obj-$(CONFIG_PWM_AT91) += pwm-at91.o obj-$(CONFIG_PWM_CROS_EC) += cros_ec_pwm.o obj-$(CONFIG_PWM_EXYNOS) += exynos_pwm.o -obj-$(CONFIG_PWM_IMX) += pwm-imx.o pwm-imx-util.o +obj-$(CONFIG_PWM_IMX) += pwm-imx.o obj-$(CONFIG_PWM_MESON) += pwm-meson.o obj-$(CONFIG_PWM_MTK) += pwm-mtk.o obj-$(CONFIG_PWM_ROCKCHIP) += rk_pwm.o diff --git a/drivers/pwm/pwm-imx-util.c b/drivers/pwm/pwm-imx-util.c deleted file mode 100644 index 823a9d2d6b..0000000000 --- a/drivers/pwm/pwm-imx-util.c +++ /dev/null @@ -1,80 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * (C) Copyright 2014 - * Heiko Schocher, DENX Software Engineering, hs@denx.de. - * - * Basic support for the pwm module on imx6. - * - * Based on linux:drivers/pwm/pwm-imx.c - * from - * Sascha Hauer - */ - -#include -#include -#include - -/* pwm_id from 0..7 */ -struct pwm_regs *pwm_id_to_reg(int pwm_id) -{ - switch (pwm_id) { - case 0: - return (struct pwm_regs *)PWM1_BASE_ADDR; - case 1: - return (struct pwm_regs *)PWM2_BASE_ADDR; -#ifdef CONFIG_MX6 - case 2: - return (struct pwm_regs *)PWM3_BASE_ADDR; - case 3: - return (struct pwm_regs *)PWM4_BASE_ADDR; -#endif -#ifdef CONFIG_MX6SX - case 4: - return (struct pwm_regs *)PWM5_BASE_ADDR; - case 5: - return (struct pwm_regs *)PWM6_BASE_ADDR; - case 6: - return (struct pwm_regs *)PWM7_BASE_ADDR; - case 7: - return (struct pwm_regs *)PWM8_BASE_ADDR; -#endif - default: - printf("unknown pwm_id: %d\n", pwm_id); - break; - } - return NULL; -} - -int pwm_imx_get_parms(int period_ns, int duty_ns, unsigned long *period_c, - unsigned long *duty_c, unsigned long *prescale) -{ - unsigned long long c; - - /* - * we have not yet a clock framework for imx6, so add the clock - * value here as a define. Replace it when we have the clock - * framework. - */ - c = CONFIG_IMX6_PWM_PER_CLK; - c = c * period_ns; - do_div(c, 1000000000); - *period_c = c; - - *prescale = *period_c / 0x10000 + 1; - - *period_c /= *prescale; - c = *period_c * (unsigned long long)duty_ns; - do_div(c, period_ns); - *duty_c = c; - - /* - * according to imx pwm RM, the real period value should be - * PERIOD value in PWMPR plus 2. - */ - if (*period_c > 2) - *period_c -= 2; - else - *period_c = 0; - - return 0; -} diff --git a/drivers/pwm/pwm-imx-util.h b/drivers/pwm/pwm-imx-util.h deleted file mode 100644 index 82c61d774d..0000000000 --- a/drivers/pwm/pwm-imx-util.h +++ /dev/null @@ -1,15 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -/* - * (C) Copyright 2014 - * Heiko Schocher, DENX Software Engineering, hs@denx.de. - * - * Basic support for the pwm module on imx6. - */ - -#ifndef _pwm_imx_util_h_ -#define _pwm_imx_util_h_ - -struct pwm_regs *pwm_id_to_reg(int pwm_id); -int pwm_imx_get_parms(int period_ns, int duty_ns, unsigned long *period_c, - unsigned long *duty_c, unsigned long *prescale); -#endif diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c index 2008c1520e..67dad21295 100644 --- a/drivers/pwm/pwm-imx.c +++ b/drivers/pwm/pwm-imx.c @@ -13,7 +13,6 @@ #include #include #include -#include "pwm-imx-util.h" int pwm_init(int pwm_id, int div, int invert) { @@ -44,6 +43,72 @@ int pwm_config_internal(struct pwm_regs *pwm, unsigned long period_cycles, return 0; } +/* pwm_id from 0..7 */ +struct pwm_regs *pwm_id_to_reg(int pwm_id) +{ + + switch (pwm_id) { + case 0: + return (struct pwm_regs *)PWM1_BASE_ADDR; + case 1: + return (struct pwm_regs *)PWM2_BASE_ADDR; +#ifdef CONFIG_MX6 + case 2: + return (struct pwm_regs *)PWM3_BASE_ADDR; + case 3: + return (struct pwm_regs *)PWM4_BASE_ADDR; +#endif +#ifdef CONFIG_MX6SX + case 4: + return (struct pwm_regs *)PWM5_BASE_ADDR; + case 5: + return (struct pwm_regs *)PWM6_BASE_ADDR; + case 6: + return (struct pwm_regs *)PWM7_BASE_ADDR; + case 7: + return (struct pwm_regs *)PWM8_BASE_ADDR; +#endif + default: + printf("unknown pwm_id: %d\n", pwm_id); + break; + } + return NULL; +} + +int pwm_imx_get_parms(int period_ns, int duty_ns, unsigned long *period_c, + unsigned long *duty_c, unsigned long *prescale) +{ + unsigned long long c; + + /* + * we have not yet a clock framework for imx6, so add the clock + * value here as a define. Replace it when we have the clock + * framework. + */ + c = CONFIG_IMX6_PWM_PER_CLK; + c = c * period_ns; + do_div(c, 1000000000); + *period_c = c; + + *prescale = *period_c / 0x10000 + 1; + + *period_c /= *prescale; + c = *period_c * (unsigned long long)duty_ns; + do_div(c, period_ns); + *duty_c = c; + + /* + * according to imx pwm RM, the real period value should be + * PERIOD value in PWMPR plus 2. + */ + if (*period_c > 2) + *period_c -= 2; + else + *period_c = 0; + + return 0; +} + int pwm_config(int pwm_id, int duty_ns, int period_ns) { struct pwm_regs *pwm = (struct pwm_regs *)pwm_id_to_reg(pwm_id); From patchwork Fri Mar 25 12:02:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 1609410 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=Zee19+iQ; dkim-atps=neutral Authentication-Results: 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=) 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 RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KQ1353jLPz9s0r for ; Fri, 25 Mar 2022 23:04:01 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 716C78418E; Fri, 25 Mar 2022 13:03:38 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="Zee19+iQ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6DEC58416C; Fri, 25 Mar 2022 13:02:48 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4E9AA8418B for ; Fri, 25 Mar 2022 13:02:43 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=tommaso.merciai@amarulasolutions.com Received: by mail-wr1-x432.google.com with SMTP id d7so10567068wrb.7 for ; Fri, 25 Mar 2022 05:02:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1KbQxvDocGpDG2/KrUrkpuQOEOgUjgbQJ+JX5xjWmPg=; b=Zee19+iQ2mEC5BrbbJXpUgN01SN5BZLltFUNbVNsUgWlNBo7MqBy7nxSWXhKvTtNFU 8Gld2UmU0mup6BR2PXyqjcMBSfrlgOSlKh/PpVHSEH/pSZDeUaCZmvhvxFqEVLkvj27N TK/j1Uts4EqMuhqWBaXfpyuO4THKJA+SoZaWA= 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=1KbQxvDocGpDG2/KrUrkpuQOEOgUjgbQJ+JX5xjWmPg=; b=Of0Uv2sB/CBq+rBMTGB8/oLw38xRYcoYU/K3h4kg/OTHO3iJ12xs5LDlxOoT8KSQ+T yoC5qY0qddjMlBemKAshUQIi3mB4MlRNuytx2RzWlgkLqeCY7rfaAFqbHNQiwHe7ljTb znFN4ZJVGpB6oNnFZ890DXpCLkGNWDp2yspi6QGdAVRXRIvA7F/pcsTFFoOALbBIeAzc 0xxc6Kp9ppKZ1QbrNWz9vMz3UzyRjKKa3vWonMHbmh1gmlRF3uEH/kgBtW9RwRMPXCG7 k7ZE0Daq8otCf6UtuCYVOUWE75NWOGb7BwUQDI1siaiNS+P8RdFBYrhuLUzQziv5Nl42 /uHg== X-Gm-Message-State: AOAM530JHyCSHEU6VQiilcl4QMy4E2+ho39uO1vsERxriCSPDOQUp+2W ALGhhjvoyDqMCoXpiXQcb+gGyA== X-Google-Smtp-Source: ABdhPJwLQ73dV6JuzZ02nCF7Nnbq5fAI1uPxyuCQ1QL6nFitwBB6gdfNxOfX0c5tA7GMMlChNwK4Vw== X-Received: by 2002:adf:df01:0:b0:203:d6f0:794b with SMTP id y1-20020adfdf01000000b00203d6f0794bmr8552992wrl.394.1648209762847; Fri, 25 Mar 2022 05:02:42 -0700 (PDT) Received: from tom-ThinkPad-T14s-Gen-2i.station (net-188-217-56-61.cust.vodafonedsl.it. [188.217.56.61]) by smtp.gmail.com with ESMTPSA id g16-20020a05600c4ed000b0038ceb0b21b4sm1190641wmq.24.2022.03.25.05.02.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 05:02:42 -0700 (PDT) From: Tommaso Merciai To: Cc: tommaso.merciai@amarulasolutions.com, alb3rto.merciai@gmail.com, Peng Fan , Alice Guo , Ye Li , Andrey Zhizhikin , u-boot@lists.denx.de Subject: [PATCH v4 5/9] driver: pwm: pwm-imx: get and enable per/ipg clock using dm Date: Fri, 25 Mar 2022 13:02:27 +0100 Message-Id: <20220325120231.63782-6-tommaso.merciai@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> References: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> MIME-Version: 1.0 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.5 at phobos.denx.de X-Virus-Status: Clean Get and enable ipg/per pwms clocks using dm api into imx_pwm_of_to_plat and imx_pwm_probe driver function Signed-off-by: Tommaso Merciai --- Changes since v4: - Fix ipg/per clk declaration - Fix clk_get_by_name call - Fix clk_enable call drivers/pwm/pwm-imx.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c index 67dad21295..74b0817a05 100644 --- a/drivers/pwm/pwm-imx.c +++ b/drivers/pwm/pwm-imx.c @@ -24,6 +24,7 @@ int pwm_init(int pwm_id, int div, int invert) writel(0, &pwm->ir); return 0; } +#include int pwm_config_internal(struct pwm_regs *pwm, unsigned long period_cycles, unsigned long duty_cycles, unsigned long prescale) @@ -148,6 +149,8 @@ void pwm_disable(int pwm_id) struct imx_pwm_priv { struct pwm_regs *regs; bool invert; + struct clk per_clk; + struct clk ipg_clk; }; static int imx_pwm_set_invert(struct udevice *dev, uint channel, @@ -193,15 +196,43 @@ static int imx_pwm_set_enable(struct udevice *dev, uint channel, bool enable) static int imx_pwm_of_to_plat(struct udevice *dev) { + int ret; struct imx_pwm_priv *priv = dev_get_priv(dev); priv->regs = dev_read_addr_ptr(dev); + ret = clk_get_by_name(dev, "per", &priv->per_clk); + if (ret) { + printf("Failed to get per_clk\n"); + return ret; + } + + ret = clk_get_by_name(dev, "ipg", &priv->ipg_clk); + if (ret) { + printf("Failed to get ipg_clk\n"); + return ret; + } + return 0; } static int imx_pwm_probe(struct udevice *dev) { + int ret; + struct imx_pwm_priv *priv = dev_get_priv(dev); + + ret = clk_enable(&priv->per_clk); + if (ret) { + printf("Failed to enable per_clk\n"); + return ret; + } + + ret = clk_enable(&priv->ipg_clk); + if (ret) { + printf("Failed to enable ipg_clk\n"); + return ret; + } + return 0; } From patchwork Fri Mar 25 12:02:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 1609408 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=PbCyby+t; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KQ12f36DPz9s09 for ; Fri, 25 Mar 2022 23:03:38 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1C21A84191; Fri, 25 Mar 2022 13:03:27 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="PbCyby+t"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id DC9CF8418D; Fri, 25 Mar 2022 13:02:51 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id F1BD68418D for ; Fri, 25 Mar 2022 13:02:44 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=tommaso.merciai@amarulasolutions.com Received: by mail-wm1-x32a.google.com with SMTP id q20so4332997wmq.1 for ; Fri, 25 Mar 2022 05:02:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yDzOeVZGzm+EN3DodyxFIOVDTtDtj+wIC7YE+dfDCw4=; b=PbCyby+tJeJTtL9+XjBVib+gME7NPFz0paj1seoww2EtYxs7pPs48CMBlE+/yZnupQ xzZkJtnlEPtNjD8ankQ8KirWmvykEsDD8v6vln3VWvLbyN3ChXckMrTVxiZ5zAhtO8TA TAHYGqJSEGDOG9NtU9LD8tB/n74//xAMJr8ro= 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=yDzOeVZGzm+EN3DodyxFIOVDTtDtj+wIC7YE+dfDCw4=; b=PSNdYpjm2n/jJOcYQuczs7UoQYCYRiPCjZL8Eru0fN/UTeDfHb/ISBFHYSoHdCKhce yP9W7PH3nPjCdVTj9m3k6KYnr+wgPwxI7mGs+rR5GIcqgwV+25i6VK+CmdFmEfK0yk1V aHO4GcC9xahC6CYj5fTcOd3sPbMsL/BUmdVptHFa6bjaejGz8Ezo/41AqlMW1Z37RHRr zJNjkOinTdiSHChktycfwC0mpiKwkWLaK61AUYqfS9Vca8U1gEuZLq4mguWI4q9tliCd Ink/j1Qu0fB1UKpWQkWYd/5flf1TP8EWH0pHSB64CX8m2eO2o8GtVwsptgNZJul331b2 2Oww== X-Gm-Message-State: AOAM531oURioSyr/nIgPPCHN5LxGQRekQykyjT/dKavKRFXHJwbasktL y0AReRPPKumw0x5I5b/mFnDIhZ+70FAZYQ== X-Google-Smtp-Source: ABdhPJyDfaCiNCWQ09vomqoPqj8nrVxDN302gmjgqA4yWuC5GvHlLs6WvfQ+ZL7IX4uxpNdvaez7RQ== X-Received: by 2002:a7b:c115:0:b0:38c:b045:6969 with SMTP id w21-20020a7bc115000000b0038cb0456969mr19283326wmi.45.1648209764590; Fri, 25 Mar 2022 05:02:44 -0700 (PDT) Received: from tom-ThinkPad-T14s-Gen-2i.station (net-188-217-56-61.cust.vodafonedsl.it. [188.217.56.61]) by smtp.gmail.com with ESMTPSA id g16-20020a05600c4ed000b0038ceb0b21b4sm1190641wmq.24.2022.03.25.05.02.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 05:02:44 -0700 (PDT) From: Tommaso Merciai To: Cc: tommaso.merciai@amarulasolutions.com, alb3rto.merciai@gmail.com, Peng Fan , Andrey Zhizhikin , Ye Li , Alice Guo , u-boot@lists.denx.de Subject: [PATCH v4 6/9] driver: pwm: pwm-imx: introduce pwm_dm_imx_get_parms Date: Fri, 25 Mar 2022 13:02:28 +0100 Message-Id: <20220325120231.63782-7-tommaso.merciai@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> References: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> MIME-Version: 1.0 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.5 at phobos.denx.de X-Virus-Status: Clean Introduce pwm_dm_imx_get_parms, dm version of pwm_imx_get_parms. This function get clock rate using clk dm api Signed-off-by: Tommaso Merciai --- Changes since v4: - Fix clk_get_rate call drivers/pwm/pwm-imx.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c index 74b0817a05..1d656e726f 100644 --- a/drivers/pwm/pwm-imx.c +++ b/drivers/pwm/pwm-imx.c @@ -153,6 +153,36 @@ struct imx_pwm_priv { struct clk ipg_clk; }; +int pwm_dm_imx_get_parms(struct imx_pwm_priv *priv, int period_ns, + int duty_ns, unsigned long *period_c, unsigned long *duty_c, + unsigned long *prescale) +{ + unsigned long long c; + + c = clk_get_rate(&priv->per_clk); + c = c * period_ns; + do_div(c, 1000000000); + *period_c = c; + + *prescale = *period_c / 0x10000 + 1; + + *period_c /= *prescale; + c = *period_c * (unsigned long long)duty_ns; + do_div(c, period_ns); + *duty_c = c; + + /* + * according to imx pwm RM, the real period value should be + * PERIOD value in PWMPR plus 2. + */ + if (*period_c > 2) + *period_c -= 2; + else + *period_c = 0; + + return 0; +} + static int imx_pwm_set_invert(struct udevice *dev, uint channel, bool polarity) { @@ -173,7 +203,7 @@ static int imx_pwm_set_config(struct udevice *dev, uint channel, debug("%s: Config '%s' channel: %d\n", __func__, dev->name, channel); - pwm_imx_get_parms(period_ns, duty_ns, &period_cycles, &duty_cycles, + pwm_dm_imx_get_parms(priv, period_ns, duty_ns, &period_cycles, &duty_cycles, &prescale); return pwm_config_internal(regs, period_cycles, duty_cycles, prescale); From patchwork Fri Mar 25 12:02:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 1609411 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=rkqgV4CZ; dkim-atps=neutral Authentication-Results: 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=) 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 RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KQ13J3gHNz9s0r for ; Fri, 25 Mar 2022 23:04:12 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C5145841B4; Fri, 25 Mar 2022 13:03:41 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="rkqgV4CZ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E2E798413F; Fri, 25 Mar 2022 13:02:57 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E13E8840D6 for ; Fri, 25 Mar 2022 13:02:46 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=tommaso.merciai@amarulasolutions.com Received: by mail-wr1-x434.google.com with SMTP id r7so9458682wrc.0 for ; Fri, 25 Mar 2022 05:02:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tY2PVU48p21T7k/LVk2qHbO52mH7cugRJkG/lOkkkrs=; b=rkqgV4CZ04jbBBH/uLO3nYQqS/6492wykTzn9NzRBEItR+BOj8kV86Ljo2qiRRv1cg +t5J9kTyr+heOWZ2xnuNdZVOyfns65+b6dYapdphu6klYhA0LHY3/QmEGQd8ygQd6DMH J39mTf5RMzR0rkzP/7Z5OAngiF8jYIcHCYkNA= 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=tY2PVU48p21T7k/LVk2qHbO52mH7cugRJkG/lOkkkrs=; b=uUKjBWp83ySIBwLUD/rgFtNFBOMg0lqEehXGC5uDJ0AH6fSVMSB71xeRL7au/FtN8J 9/hZe1dIXKUqYI7XPSIGVLuXimSs6biTQpYtAwH0HaSvguoiBx7MCyw2fhYos3gOf9Aa kxPyr/HeLyW50rawcbxDx6jGDsjI/h2oc8g168L6Qm3BCsD5JHz1aUaKenfcMbZRKSzb 0uFpAEIgXkTk6I9lfx7gmeiVS6a4yUS5qaNyY0s5Nvo/y/zu6KTKAspC4jiIb9YOmBAi B4YEIHPfaBbWKSCothnfwamhQM29HyED9Ee+dXc94SQGm0HE86sEfhf/2FdylfQ8n97I mcwg== X-Gm-Message-State: AOAM5312Q7cmGsjJG0BYOLx7IVQAxSvP+sl9hMfkHdsyAm3X7+sAShTL LIOLl4oIF5bD33ZLbl7bROU1zA== X-Google-Smtp-Source: ABdhPJxzHXlQYfdaeNK2kP1jNyKIk5lp2uHsIIN3hsTDnAolGwgOglWPqEFgUSUEnNAw1UwswcfIjg== X-Received: by 2002:a5d:48d1:0:b0:1e3:2401:f229 with SMTP id p17-20020a5d48d1000000b001e32401f229mr8751464wrs.694.1648209766470; Fri, 25 Mar 2022 05:02:46 -0700 (PDT) Received: from tom-ThinkPad-T14s-Gen-2i.station (net-188-217-56-61.cust.vodafonedsl.it. [188.217.56.61]) by smtp.gmail.com with ESMTPSA id g16-20020a05600c4ed000b0038ceb0b21b4sm1190641wmq.24.2022.03.25.05.02.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 05:02:45 -0700 (PDT) From: Tommaso Merciai To: Cc: tommaso.merciai@amarulasolutions.com, alb3rto.merciai@gmail.com, Peng Fan , Ye Li , Alice Guo , Andrey Zhizhikin , u-boot@lists.denx.de Subject: [PATCH v4 7/9] driver: pwm: pwm-imx: separe dm from non dm implementation Date: Fri, 25 Mar 2022 13:02:29 +0100 Message-Id: <20220325120231.63782-8-tommaso.merciai@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> References: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> MIME-Version: 1.0 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.5 at phobos.denx.de X-Virus-Status: Clean Separe dm implementation from non dm implementation of pwm-imx driver using CONFIG_DM_PWM Signed-off-by: Tommaso Merciai --- drivers/pwm/pwm-imx.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c index 1d656e726f..9b8a8c189d 100644 --- a/drivers/pwm/pwm-imx.c +++ b/drivers/pwm/pwm-imx.c @@ -13,17 +13,6 @@ #include #include #include - -int pwm_init(int pwm_id, int div, int invert) -{ - struct pwm_regs *pwm = (struct pwm_regs *)pwm_id_to_reg(pwm_id); - - if (!pwm) - return -1; - - writel(0, &pwm->ir); - return 0; -} #include int pwm_config_internal(struct pwm_regs *pwm, unsigned long period_cycles, @@ -44,6 +33,7 @@ int pwm_config_internal(struct pwm_regs *pwm, unsigned long period_cycles, return 0; } +#ifndef CONFIG_DM_PWM /* pwm_id from 0..7 */ struct pwm_regs *pwm_id_to_reg(int pwm_id) { @@ -110,6 +100,17 @@ int pwm_imx_get_parms(int period_ns, int duty_ns, unsigned long *period_c, return 0; } +int pwm_init(int pwm_id, int div, int invert) +{ + struct pwm_regs *pwm = (struct pwm_regs *)pwm_id_to_reg(pwm_id); + + if (!pwm) + return -1; + + writel(0, &pwm->ir); + return 0; +} + int pwm_config(int pwm_id, int duty_ns, int period_ns) { struct pwm_regs *pwm = (struct pwm_regs *)pwm_id_to_reg(pwm_id); @@ -145,7 +146,7 @@ void pwm_disable(int pwm_id) clrbits_le32(&pwm->cr, PWMCR_EN); } -#if defined(CONFIG_DM_PWM) +#else struct imx_pwm_priv { struct pwm_regs *regs; bool invert; From patchwork Fri Mar 25 12:02:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 1609413 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=AjrwoChH; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KQ13k2ByLz9s0r for ; Fri, 25 Mar 2022 23:04:33 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 40765841BA; Fri, 25 Mar 2022 13:03:48 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="AjrwoChH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D246C8413F; Fri, 25 Mar 2022 13:03:03 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [IPv6:2a00:1450:4864:20::335]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id EBB2584183 for ; Fri, 25 Mar 2022 13:02:48 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=tommaso.merciai@amarulasolutions.com Received: by mail-wm1-x335.google.com with SMTP id h16so4337207wmd.0 for ; Fri, 25 Mar 2022 05:02:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ual3ur0xDFNDCyYDsDrhQS1twCC/aKwjvzMdeO8sjis=; b=AjrwoChHu1v93wjSoLle8atljQMMLm3bKEncAPHboq66MpWXCb1ZktBDj+7H6a4zGR PddUKSHtDZjfX197WIm90V48NemNk7jdEAIzv8rdQKXRVjzdYOUlVLNULpHqxGxHRJtL 3AKHjTSGJftwMWvtbXWAgRtKSBiN1yfwQhHuc= 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=ual3ur0xDFNDCyYDsDrhQS1twCC/aKwjvzMdeO8sjis=; b=iBm9FndL40Aa1vLH/5r2CjPCAq8IMN1ad6YgiWMUco8hphZT0WlQe6hXDlJnzGJuIN /hHHRMhJsoZYRO41XbyJkLYe776oQoOdFMLyj7h5mUZoxIwOGhupk6Ww8Wef5gmcdOoV iWO82/eKvr7GKkDT4ABl+OAttT8/Fl8AVtT6eEgmhos6RMyz0FabbNAEQWRQwIWcAie8 6ZM0Q3uy972l5ywJjwRv5mkAZm2xxuMhUqeSS74cwWn8jNe7Sz8nMFs3ByVi5ICSaEUN i8x/bjuz6m1I25gVcdDUl1k1b960aay3Vw9eUC5kSgpKdPQ2d/Y2RTU/8sA4p88BZ9AB rDYA== X-Gm-Message-State: AOAM530r8Gj6cRDPQ3tgW/okQgRIxy4K6NUdq6OAogUis/mliOqZpfWy pyUSq9tGhuBgq1VYw6CRhc/BWH3GJTNN0g== X-Google-Smtp-Source: ABdhPJxoiGKXdMvQwdVTPiBirg4dusnmZCdbd0pWSr3ProhwpI5WEFcw6bxRiPfk0sl2WHdHyVZEwg== X-Received: by 2002:a05:600c:2e45:b0:38c:8854:252f with SMTP id q5-20020a05600c2e4500b0038c8854252fmr19112395wmf.78.1648209768457; Fri, 25 Mar 2022 05:02:48 -0700 (PDT) Received: from tom-ThinkPad-T14s-Gen-2i.station (net-188-217-56-61.cust.vodafonedsl.it. [188.217.56.61]) by smtp.gmail.com with ESMTPSA id g16-20020a05600c4ed000b0038ceb0b21b4sm1190641wmq.24.2022.03.25.05.02.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 05:02:48 -0700 (PDT) From: Tommaso Merciai To: Cc: tommaso.merciai@amarulasolutions.com, alb3rto.merciai@gmail.com, Stefano Babic , Fabio Estevam , "NXP i.MX U-Boot Team" , Peng Fan , Alice Guo , Ye Li , Andrey Zhizhikin , u-boot@lists.denx.de Subject: [PATCH v4 8/9] arm: dts: imx8mm_evk: add pwm1/backlight support Date: Fri, 25 Mar 2022 13:02:30 +0100 Message-Id: <20220325120231.63782-9-tommaso.merciai@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> References: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> MIME-Version: 1.0 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.5 at phobos.denx.de X-Virus-Status: Clean Add pwm1/backlight support nodes for imx8mm_evk board Signed-off-by: Tommaso Merciai --- arch/arm/dts/imx8mm-evk.dtsi | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/arch/arm/dts/imx8mm-evk.dtsi b/arch/arm/dts/imx8mm-evk.dtsi index 60179e006d..e7a2bd8a64 100644 --- a/arch/arm/dts/imx8mm-evk.dtsi +++ b/arch/arm/dts/imx8mm-evk.dtsi @@ -41,6 +41,15 @@ enable-active-high; }; + backlight: backlight { + status = "disabled"; + compatible = "pwm-backlight"; + pwms = <&pwm1 0 5000000>; + brightness-levels = <0 255>; + num-interpolated-steps = <255>; + default-brightness-level = <250>; + }; + ir-receiver { compatible = "gpio-ir-receiver"; gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; @@ -350,6 +359,12 @@ status = "okay"; }; +&pwm1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_backlight>; + status = "disabled"; +}; + &iomuxc { pinctrl_fec1: fec1grp { fsl,pins = < @@ -491,4 +506,10 @@ MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x166 >; }; + + pinctrl_backlight: backlightgrp { + fsl,pins = < + MX8MM_IOMUXC_GPIO1_IO01_PWM1_OUT 0x06 + >; + }; }; From patchwork Fri Mar 25 12:02:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 1609412 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=nkAhYGls; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KQ13W0fMlz9s0r for ; Fri, 25 Mar 2022 23:04:22 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EADFC841AF; Fri, 25 Mar 2022 13:03:44 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="nkAhYGls"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A9E0D8419E; Fri, 25 Mar 2022 13:03:00 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A41B384099 for ; Fri, 25 Mar 2022 13:02:50 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=tommaso.merciai@amarulasolutions.com Received: by mail-wr1-x436.google.com with SMTP id d7so10567577wrb.7 for ; Fri, 25 Mar 2022 05:02:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GH/FV8bIoWj+3TVGIeIaDlTn+upkbqn08Vl3IkiM0E8=; b=nkAhYGlsSmTBHSExzc5/UJcZP6ZIj7k+3qrFJzWFDg7o2udMRsMxjXZpVtT4OnLajr oHctKdU5jO1IObme9bVX3Sv71YO0cTfacZAAg1fhn4+T4MUoTSdrNEnIyfH4zA4Ho5Ej hU5UadO88rv8e3ljjrSeoMSsEqw0HTIXkYemk= 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=GH/FV8bIoWj+3TVGIeIaDlTn+upkbqn08Vl3IkiM0E8=; b=JX0QqgVAcXZ/P1iKK5mHBNMEp5MBwCljeA0QMdkaIclNliuwYdtdGSnS43uuCWPmOj U1jSjib+GeqMJwEMdqM+uRU9lsssbQjkfVUg8ApbN+SJje9wMcUjBiu609IgaPhUoJNO AkQGQqMELwwIpgcRsA8jbRDTf5M0z7RnhAPmcwijpoMgGp0MWLWDgCqBWJvziIdCRPJB g22uYOm5TaBjm9dohEdeQL8T9O2CC00fu8yuKoRzkZjgI5Y4Uobmx5IdtD4r5dT34i1W YMDfDeUzi2rhtprUzHYJqa8rkr0Euzg/o7oiL0fhROyS64dKHn/A0gwBLPJw5iNHNMqV NQKQ== X-Gm-Message-State: AOAM533qjy/dBFhPq6jf8UhgdtzbM0nb14hFNluWHmp31ppdBXpBULxM 5fuDoJKUtdjKm7cqsbvR86pKzA== X-Google-Smtp-Source: ABdhPJwI23nGRPLqRKFJY2pqfmLEf0SooaOaYyT8ynkroovmszf3ektLykuV2dI9nvbtC86EamqPKg== X-Received: by 2002:adf:f442:0:b0:203:e0ef:32c9 with SMTP id f2-20020adff442000000b00203e0ef32c9mr8960708wrp.53.1648209770109; Fri, 25 Mar 2022 05:02:50 -0700 (PDT) Received: from tom-ThinkPad-T14s-Gen-2i.station (net-188-217-56-61.cust.vodafonedsl.it. [188.217.56.61]) by smtp.gmail.com with ESMTPSA id g16-20020a05600c4ed000b0038ceb0b21b4sm1190641wmq.24.2022.03.25.05.02.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 05:02:49 -0700 (PDT) From: Tommaso Merciai To: Cc: tommaso.merciai@amarulasolutions.com, alb3rto.merciai@gmail.com, Peng Fan , Ye Li , Alice Guo , Andrey Zhizhikin , u-boot@lists.denx.de Subject: [PATCH v4 9/9] configs: imx8mm_evk: add pwm backlight support Date: Fri, 25 Mar 2022 13:02:31 +0100 Message-Id: <20220325120231.63782-10-tommaso.merciai@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> References: <20220325120231.63782-1-tommaso.merciai@amarulasolutions.com> MIME-Version: 1.0 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.5 at phobos.denx.de X-Virus-Status: Clean Enable support for backlight/pwm-imx driver Signed-off-by: Tommaso Merciai --- configs/imx8mm_evk_defconfig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/configs/imx8mm_evk_defconfig b/configs/imx8mm_evk_defconfig index 01395fc7eb..cfba6cc673 100644 --- a/configs/imx8mm_evk_defconfig +++ b/configs/imx8mm_evk_defconfig @@ -84,3 +84,8 @@ CONFIG_SYSRESET_PSCI=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_DM_THERMAL=y CONFIG_IMX_WATCHDOG=y +CONFIG_DM_VIDEO=y +CONFIG_BACKLIGHT=y +CONFIG_BACKLIGHT_PWM=y +CONFIG_DM_PWM=y +CONFIG_PWM_IMX=y \ No newline at end of file