From patchwork Sat Jan 20 01:29:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13524286 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A876DC4725D for ; Sat, 20 Jan 2024 01:31:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=3KfFfJaKBcVmL19sAGjYWzM0RzKt4Uigxc01nxSJVrk=; b=3NKi+R7/pv9M2K VLMlzoNbd6uYmqBlTORWkgTOSgSgjtr7Xd9N+0IykWKP923+nOSMnFEocE9M1IpzzVsXcUeoEVHqC jkVCHBL6r9oR9rvVFHhe/vV8RoVpfajnF7+aLTmRTC8wbTyYWUgJJgJbsI2hOCD02gk/vGmKNHyHf yzooAN5y3ymD/NpfGAHBndqHnp8OOdWSmKL/rDX23+L2xR2LoiBBZOwNkrdtERIrmnlEo8oL3ha2j 46kX/YyPIMAz+QV30RpCdY/tA8TD6Fxm+Stu3F9vRZbo9yA1DEQkndaUpf+yrT7u4WLFjAAu9/6QS k3VkhpwGrk0ZU/MuQsLQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rR0CE-0070KS-1d; Sat, 20 Jan 2024 01:30:54 +0000 Received: from mail-oa1-f46.google.com ([209.85.160.46]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rR0CB-0070IS-0u for linux-arm-kernel@lists.infradead.org; Sat, 20 Jan 2024 01:30:52 +0000 Received: by mail-oa1-f46.google.com with SMTP id 586e51a60fabf-2107f19e331so825238fac.3 for ; Fri, 19 Jan 2024 17:30:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1705714189; x=1706318989; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=7XgpzCQt3hEaot8WdGgVBTF9LHrWRexjtDxlqMh/xJU=; b=MAANhzx/ywH/Vh16IMBjUl8dWxTOxNULQrSaxnBQnwy/rH0rdwqnEsydV3hdn+Pnv6 LymikxJcqT1xTROrd5klgu7Zi9DKKWUBz0OVQnxcYHSU7NEgFwtmFaKoiG21yt2Mxqqf HzOVePAQ5pReSavcFK8cOfx2N1wffduZY2+uw34Y0rF/eWODGuYBn9PZDrax6Jx2+M25 nN/VTIvgnKKK0QHPYjE8ALANZF1JOu4368d84PcpBbCOXnaskgqJdX+GJavnSj5382sS mdaShO0x7jSE60Nb/yeYNDYeX1ygPumTVcMXIV/p68cbIkRMTCfjaw6eNxI643QTrSKL XmIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705714189; x=1706318989; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7XgpzCQt3hEaot8WdGgVBTF9LHrWRexjtDxlqMh/xJU=; b=c35Q3fvdWowXzJxGcqkzVpdvsb94mE/A0hvSxXwW+OUUn76FOW3t/tvkUgxU04OQOs yPsPgkXno2iclwgIdV7zZXZG0tCDTDqOQmpU99AZOpxuLaU0aaz8m1jQSxYwwrDZ2UMt OrivwhHmHayHXQ0rOUvp0+TH+CtEgnIUnbAbreGuZmuz2JKO7KoZ530hdUlnvXKwWj0T uzItnaN7C+8eIPZlcnSG7/uYhat+IyyZht6mOS9t7+n2mBgcauyI66zoAC8+dqNpJhhv rTEje7UDTCllbSJE8O0EvQCfeI/1zC0AVw1iBJi3uUSVQbBgMJVJvrIQfNamc8vKS52A ee3w== X-Gm-Message-State: AOJu0YzoJGoXxroTP6QW4jF67lv4XbbjAd+gBFexwB/zt6DgrHkEqMWG ejLvmA3ypNqEt8jN9mtcV8ZhM6GlcpKqTrmHk6qIWQ65pM5d2INsyvrMmFhEXms= X-Google-Smtp-Source: AGHT+IHU9udcHqikg63izQDnv1b9lXiOAxuqYd7ib9PcxDQO3FZ7P2CFmm9WAgdTurKsAQQON0aRaA== X-Received: by 2002:a05:6870:718b:b0:207:a3a6:ef9c with SMTP id d11-20020a056870718b00b00207a3a6ef9cmr700537oah.40.1705714189046; Fri, 19 Jan 2024 17:29:49 -0800 (PST) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id fu12-20020a0568705d8c00b00210bc7a74e7sm1016603oab.6.2024.01.19.17.29.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Jan 2024 17:29:48 -0800 (PST) From: Sam Protsenko To: Krzysztof Kozlowski , Andi Shyti , Mark Brown , Rob Herring , Conor Dooley Cc: Alim Akhtar , Sylwester Nawrocki , Tomasz Figa , Chanwoo Choi , linux-spi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org Subject: [PATCH 0/7] arm64: exynos: Enable SPI for Exynos850 Date: Fri, 19 Jan 2024 19:29:41 -0600 Message-Id: <20240120012948.8836-1-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240119_173051_320253_2B981DC6 X-CRM114-Status: GOOD ( 12.18 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This series enables SPI for Exynos850 SoC. The summary: 1. Enable PDMA, it's needed for SPI (dts, clk) 2. Propagate SPI src clock rate change up to DIV clocks, to make it possible to change SPI frequency (clk driver) 3. Add Exynos850 support in SPI driver 4. Add SPI nodes to Exynos850 SoC dtsi All SPI instances were tested using `spidev_test' tool in all 3 possible modes: - Polling mode: xfer_size <= 32 - IRQ mode: 64 >= xfer_size >= 32 - DMA mode: xfer_size > 64 with 200 kHz ... 49.9 MHz SPI frequencies. The next 3 approaches were used: 1. Software loopback ('-l' option for `spidev_test' tool) 2. Hardware loopback (by connecting MISO line to MOSI) 3. By communicating with ATMega found on Sensors Mezzanine board [1], programmed to act as an SPI slave device and all the transactions were additionally checked on my Logic Analyzer to make sure the SCK frequencies were actually correct. [1] https://www.96boards.org/product/sensors-mezzanine/ Sam Protsenko (7): dt-bindings: clock: exynos850: Add PDMA clocks dt-bindings: spi: samsung: Add Exynos850 SPI clk: samsung: exynos850: Add PDMA clocks clk: samsung: exynos850: Propagate SPI IPCLK rate change spi: s3c64xx: Add Exynos850 support arm64: dts: exynos: Add PDMA node for Exynos850 arm64: dts: exynos: Add SPI nodes for Exynos850 .../devicetree/bindings/spi/samsung,spi.yaml | 1 + arch/arm64/boot/dts/exynos/exynos850.dtsi | 64 +++++++++++++++++++ drivers/clk/samsung/clk-exynos850.c | 42 +++++++----- drivers/spi/spi-s3c64xx.c | 14 ++++ include/dt-bindings/clock/exynos850.h | 2 + 5 files changed, 106 insertions(+), 17 deletions(-)