From patchwork Sat Apr 30 16:14:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 1624743 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 (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=kfoohvTF; 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 (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KrDw66PK5z9s0r for ; Sun, 1 May 2022 02:15:02 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1101683F3A; Sat, 30 Apr 2022 18:14:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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=gmail.com header.i=@gmail.com header.b="kfoohvTF"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 124FB83F37; Sat, 30 Apr 2022 18:14:44 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com [IPv6:2607:f8b0:4864:20::d2b]) (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 6AC3F83F30 for ; Sat, 30 Apr 2022 18:14:40 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=aford173@gmail.com Received: by mail-io1-xd2b.google.com with SMTP id h85so1241199iof.12 for ; Sat, 30 Apr 2022 09:14:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AfENqGHwG2pmUQFRia+HjzIigoAhUo0NnT9RnPJ4PwY=; b=kfoohvTFfnVz6LLta+ssi6zbAFOj+3lhWp/WOfpXIr1tzfsVHi2yi+jqPpBrk1PYVV RcdIhGtpz5U8y2fnZAzB6uT2BIpBLj31iptSTO0reljlKdFSHK6rtrn/I8izd7OWK043 /lLQWpmcWhRyeWHS7EzH7PdCbYqwgHZqiBQPivWvUj1oJvNhOqBB/M7FA/yM770EiMaQ UCCpw3Oztz+2IBHFGqUpA+pBU5w/mYOHJPOYwaAPN+AewLihCCTabEzROFHs7038detQ n5gFeVYbpwWuq5fc4vHWcjV7kMoydS4lg+U6kKNpqbYljSDSsj9IdHrekYdQdFgUyRYm uNKA== 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=AfENqGHwG2pmUQFRia+HjzIigoAhUo0NnT9RnPJ4PwY=; b=fNPmCh9BpYgctif+L+WhUfkcKYd26F6UrXzHzTxDniW/9gHAjeaVG9Vz++Pjc7Ktp6 g9olu71yCUdyZ829SGmHSG8R01Dr/8KdX2SjgN0fdWjPQn7jzA3/8M96kPD6kOIkK/Vn A/17eMy0zfN3mBRLcpIweVRWXCxTZfyXNILtTBAkuo7RDAfbs7YP1W1QUiikIXJo5jf7 iRtoHGtfGspZOIvPi+5r/56atuVLdIeXDcE5UgyfrAuUNHwcxHNNqLQCofkeq5cH275X X7NjgZil/kDjaiHeHKeCBY6cm+17Sr9QQPNY+F4vI3pCUSL85zuZdW66AwghYoXcVYq1 OEaQ== X-Gm-Message-State: AOAM5329q6jPODlrT0lGWAK0wHQ4CTCLPgk0HTulsRRJhE/IbLdRiNJn URs0myks6z3oD0eSrV5IW7KdPiMjLjk= X-Google-Smtp-Source: ABdhPJwUuL4z8heAcoYnh+wFQjqJZoBXigrBslC+C7jL7GvJaqyejI91gQ8NZCxD32bV0+hJ+VWKuQ== X-Received: by 2002:a05:6638:300b:b0:317:a127:53ac with SMTP id r11-20020a056638300b00b00317a12753acmr1837857jak.77.1651335278815; Sat, 30 Apr 2022 09:14:38 -0700 (PDT) Received: from aford-IdeaCentre-A730.lan ([2601:448:8400:9e8:3a27:d646:29a7:7498]) by smtp.gmail.com with ESMTPSA id u2-20020a02b1c2000000b0032b3a781771sm1532860jah.53.2022.04.30.09.14.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 Apr 2022 09:14:38 -0700 (PDT) From: Adam Ford To: u-boot@lists.denx.de Cc: Adam Ford , "Ying-Chun Liu (PaulLiu)" , Jagan Teki , Matteo Lisi , Marek Vasut , Olaf Mandel , Peng Fan , Tim Harvey , "Ariel D'Alessandro" , Michael Trimarchi , Ilko Iliev , Fabio Estevam , Marco Franchi , Alifer Moraes , Lukasz Majewski , Sean Anderson Subject: [RFC 1/3] clk: imx8mm: Add UART clocks Date: Sat, 30 Apr 2022 11:14:20 -0500 Message-Id: <20220430161422.558361-2-aford173@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220430161422.558361-1-aford173@gmail.com> References: <20220430161422.558361-1-aford173@gmail.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 There are four UART's with various clocks assoicated with each. Add them to the clock driver so they can be enabled and queried by the serial driver as needed. Signed-off-by: Adam Ford diff --git a/drivers/clk/imx/clk-imx8mm.c b/drivers/clk/imx/clk-imx8mm.c index 542aa31f7a..8566c3e4a0 100644 --- a/drivers/clk/imx/clk-imx8mm.c +++ b/drivers/clk/imx/clk-imx8mm.c @@ -78,6 +78,18 @@ static const char *imx8mm_pwm3_sels[] = {"clock-osc-24m", "sys_pll2_100m", "sys_ 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_uart1_sels[] = {"clock-osc-24m", "sys_pll1_80m", "sys_pll2_200m", "sys_pll2_100m", + "sys_pll3_out", "clk_ext2", "clk_ext4", "audio_pll2_out", }; + +static const char *imx8mm_uart2_sels[] = {"clock-osc-24m", "sys_pll1_80m", "sys_pll2_200m", "sys_pll2_100m", + "sys_pll3_out", "clk_ext2", "clk_ext3", "audio_pll2_out", }; + +static const char *imx8mm_uart3_sels[] = {"clock-osc-24m", "sys_pll1_80m", "sys_pll2_200m", "sys_pll2_100m", + "sys_pll3_out", "clk_ext2", "clk_ext4", "audio_pll2_out", }; + +static const char *imx8mm_uart4_sels[] = {"clock-osc-24m", "sys_pll1_80m", "sys_pll2_200m", "sys_pll2_100m", + "sys_pll3_out", "clk_ext2", "clk_ext3", "audio_pll2_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", }; @@ -267,6 +279,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_UART1, + imx8m_clk_composite("uart1", imx8mm_uart1_sels, base + 0xaf00)); + clk_dm(IMX8MM_CLK_UART2, + imx8m_clk_composite("uart2", imx8mm_uart2_sels, base + 0xaf80)); + clk_dm(IMX8MM_CLK_UART3, + imx8m_clk_composite("uart3", imx8mm_uart3_sels, base + 0xb000)); + clk_dm(IMX8MM_CLK_UART4, + imx8m_clk_composite("uart4", imx8mm_uart4_sels, base + 0xb080)); clk_dm(IMX8MM_CLK_PWM1, imx8m_clk_composite("pwm1", imx8mm_pwm1_sels, base + 0xb380)); clk_dm(IMX8MM_CLK_PWM2, @@ -307,6 +327,16 @@ static int imx8mm_clk_probe(struct udevice *dev) imx_clk_gate4("i2c3_root_clk", "i2c3", base + 0x4190, 0)); clk_dm(IMX8MM_CLK_I2C4_ROOT, imx_clk_gate4("i2c4_root_clk", "i2c4", base + 0x41a0, 0)); + + clk_dm(IMX8MM_CLK_UART1_ROOT, + imx_clk_gate4("uart1_root_clk", "uart1", base + 0x4490, 0)); + clk_dm(IMX8MM_CLK_UART2_ROOT, + imx_clk_gate4("uart2_root_clk", "uart2", base + 0x44a0, 0)); + clk_dm(IMX8MM_CLK_UART3_ROOT, + imx_clk_gate4("uart3_root_clk", "uart3", base + 0x44b0, 0)); + clk_dm(IMX8MM_CLK_UART4_ROOT, + imx_clk_gate4("uart4_root_clk", "uart4", base + 0x44c0, 0)); + clk_dm(IMX8MM_CLK_OCOTP_ROOT, imx_clk_gate4("ocotp_root_clk", "ipg_root", base + 0x4220, 0)); clk_dm(IMX8MM_CLK_PWM1_ROOT,