Received: by 2002:a05:7412:ba23:b0:fa:4c10:6cad with SMTP id jp35csp1357851rdb; Fri, 19 Jan 2024 17:30:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IHbcVwkt5/DxX12agYULko0oKAHgYBbo0aZE1EeuzKN8b9b3I46PA5HI7AK6mVy6URs7TXy X-Received: by 2002:ac8:7d08:0:b0:42a:296a:7187 with SMTP id g8-20020ac87d08000000b0042a296a7187mr942073qtb.134.1705714217961; Fri, 19 Jan 2024 17:30:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705714217; cv=pass; d=google.com; s=arc-20160816; b=0wRFjc+lB2IX6ej5jFrUdssX3JvhxZC6TZYqrlUAql5Vy/u9oSCGKOfLrN+ObM/vqW gHzCtqXlqtWAbCXecZQeQStlZS6QNTO04LeKP7PL5n2RTWxPXcAgIsGWEN3CGGD59pcu p6ZWxrN0V8riUW2siZCwluKo3jSplrS1Grvgr/TKgGtX7NZHuh7JJdPQoBYYk5ymlwpw pNn4llNmPPmmgSFgdntoDjhCdCh57iDZVGwYg5+u8ZdSQQubyAlMFtvfWdQnLQCutni7 ri0t+NoxfG9m2j4pYFSnY5tjMkpbqYHdiC7mu+CJWpk5lklSsPDmr8d+AKKgPFRNxv5w bwBw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=7XgpzCQt3hEaot8WdGgVBTF9LHrWRexjtDxlqMh/xJU=; fh=qwBGSklCHHTqjNlnVI8SlWG+L4WRgPRZ9s2QmC6QGHs=; b=lYFhVJN7Ue+eNVkyEWAqjTZdWmjqvstpYzpCExuLlH9OjyX/9xlZP9yvG9Idmnj8Fs 8If4hPkw01pO2uVy/poS4gYr0gv7s8H29weTzXj3vKpPnuLI/nqSeoNuXjkM5nKTLp6E k8Vq/9D6/+/LpvH29Uj4ovmZA8tA0YD8GwnzfHB7/h/ucBnbdLaZ+7Z2HfSrAGCX1StL bNBHGG1zopJ7AGmzIuhSqNBsXK2CEctZNcu31eE+VMiEWTC9y9+dHWz4bRo6AzW/VxwX NdFNlqHy6UKWGWi+lvc2ujxUDvKFJtsMEJ8dExy1vasMGc4/LIkHmEN9GuUrQxzrNH5S aG9g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=duBD1kdC; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-31660-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-31660-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id e10-20020ac84e4a000000b004299fbe241dsi522475qtw.519.2024.01.19.17.30.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Jan 2024 17:30:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-31660-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=duBD1kdC; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-31660-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-31660-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id E57301C212B7 for ; Sat, 20 Jan 2024 01:30:09 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6069C17D4; Sat, 20 Jan 2024 01:29:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="duBD1kdC" Received: from mail-oa1-f43.google.com (mail-oa1-f43.google.com [209.85.160.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E7A047FC for ; Sat, 20 Jan 2024 01:29:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705714192; cv=none; b=GZDS8TmHzw8e3PnmhW+Sl0mzFBH8NmjLvthctk54wS4SmdAY62J8MJ6giC/efo2bbnhnT2O4cc19NJj2rxBvzxPkou4pTNYtnb/V0dvP6pjFeDMK5mHlAA42enK49OKQdAESiCWKImZPeIvSBaDP3NvA6MLHcj5U0MoGc/OMZWs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705714192; c=relaxed/simple; bh=LHbVNbEqiEdv1CSExJcpwn/LewgdPyKKUCS/0i81HZw=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=r4UlKmDyIoBtZqj5lzW0yDhKq4PubjIEN8QWXLB/1q64hGipzLJrxZABsiDPxF9WpMcv3JAVuzKenrqaco3e/34QakHQSP9pzwPja9vbFAQ0NslslC91wcCvfV0Vxb2zqV4veYpcbdqOuCRrrzPLfqBkVm7RP7VFaD4TeFSdnE0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=duBD1kdC; arc=none smtp.client-ip=209.85.160.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-oa1-f43.google.com with SMTP id 586e51a60fabf-2107f19e331so825237fac.3 for ; Fri, 19 Jan 2024 17:29:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1705714189; x=1706318989; darn=vger.kernel.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=duBD1kdCeWgWjEV5qGR90JmzfenHZg0qRMJYdDw1EPyWQcvy7CYShebuJZO8cL6iqG 5ieR20tBBhOWjs5XVhcWi1sjsUdffHEwQIEiaCCjFsrGmYHGAS7bwP5zLjNKY8smzo8J f/aLT7MaEiuPzBUuJ4WwJzhcmm2IdX24DlKc/bIV7FmgMNmr26upBIJn/7XfXBTpHuKK iB048IThwRvi1jaztLPxq+k8YlJWkalnB3rZlgx57NqKsR2HWui1w+tL9/qCo5doWfSx 05UOgjk9/UweYIoFFjXq/AmXawPEPg5X95vY54UIctTLcq5F16K8Sf4ItGmJNQ0yERTp SuxQ== 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=ID7rRwGMjT5qJWimj5IS8zN48VM3ftDO+Z+UpzeymIxawL+DNp8KpPdNaxaJdhE3Dl avMv/nM/F6E8bgJqAPCkOyu/TJSgOZIHn2DQAhpeIHJRwrpNuYJbJGkPorJ6qg3twR99 PJn3SWgZqsugLoqz6Nn9UnA90mSvCofUXIr8EFsrpzCommGAooiQIgCi33zbAzrj/+jX bN5FpgVNqRrvqgv/PeOCTohIm0IYkRWfE4k/txtD5o8+CJzWrpvSD4IQvFBfV32tX2xj tG3fk7ZZHsdlwhAI5V2b8UJq9qZ4B21FGNDkbxrS5DBTQoXAIrMm+73bcgLOgMfbILSo Qm6A== X-Gm-Message-State: AOJu0Yy+7yqGK3P1fK8AuQj2wUkyLLJS/Zptuqpj2Hx7VD9NVXeb6NjT Du18gfH0jcmcIfZ6LeTWosY0s80TriSSwm1ZZ8F4rGConBUsuMl5Z4F1ukFOnhg= 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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(-) -- 2.39.2