From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (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 244E13358D6 for ; Mon, 8 Jun 2026 02:50:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780887019; cv=none; b=sPztgYCH4ENup8f+ufoaiIXNkXUXrHqFgiSk5jcXMZDRFVjeMD6TuQlIoi69gguPR9ZrwYLsvr8V5UVH0rY3uvyqGofu/XCduSNGCkacnzB8cNOMldJZ/iU91MxtPS6Fe6eIHP8a5+pB0BKs+hIsw0bZb2QkP5o5UvIpJwFMrSU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780887019; c=relaxed/simple; bh=jAOSPN2oexTHH3AS+nKz9qosEcTRLYOWrtO5vDxx1vM=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=dNZ3UQzN3lhKaCGzOZ/avQTU/nAKLYP+oe/Cr9QmiYurT16MNQVribNMAbr/CCx4lR+sQZIg9+2E6QxDYymliQXDK93+ep5g0sfcXRh7TexQ/pgP2W8hcehEs+D3m4ZgNfWnfxJCnmrCbwbGvVATdNn9TQbgUI+/eHdwkipZQxY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dDRzZnYC; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dDRzZnYC" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2c0c35980fdso38491045ad.2 for ; Sun, 07 Jun 2026 19:50:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780887017; x=1781491817; 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=fw5nXFVyb5GRYqiTkdD93jih+EMJUvklwZZGtUHOoyQ=; b=dDRzZnYC4hd/p07DB2130bIkHSS2BgPoSlG+OoSCTZHloTua2oEvpkjfL4Ucx8B5Tf 9GCiDJ8MOM7rny8eoqC4jkndeHg3IfvYGwVfPBOwRLWePg8RcoFJz2aTnjSAuv5/VvnX zfPA6ynTotJx5bF33bNosa/yF8KH794evRhRFLbU4qVEjLRq1NzHG9HGCVsC9pK6qZbR 5glqFtMYHtFRlXomwMWQLk6FotLspSAhgzZDxe/aK2M50GJt77YhvFmZhZUIzljomo6G 3RslPX/r9oWPub84Uug3hewJVaypDcgMzSTN9W+zq0lrkADlj/QXALoFbdtsYXNIVGqK FGnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780887017; x=1781491817; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fw5nXFVyb5GRYqiTkdD93jih+EMJUvklwZZGtUHOoyQ=; b=tNvUuxRBuTN9NKcmBg/cHAhf0Vf4mNbd0XuB4iErOXZBiiPJFkdmM9yvoklfUTEPWb Nmf4OtPj4efgSfpyR7m25xB2PN4UANj9GW2CCGqwtqT2BAtCGnGroLeIl5OzVimNjvcL CnDI08MUDBTuqX885GevVG7O58iEQv4VdbW6xwpbHLWI4RyMSAk07Gxped+QsXxdknb6 qEt0oocn9b/e7FTHM9HmnuzVJFgKA88vga8En9EXJETN/lxyVuTnmQV2shIDhA4g8Amq v6t8DvPfAcXyVVq7cmKRzQ5tceI/97lFyhSIMhXT1NZZzdWzdlrpG/m8OJrVnhTJGYIT 7Llw== X-Forwarded-Encrypted: i=1; AFNElJ/qsII+ZJwGmxlIQsURhJP7WNRTtOJtzVpzKH+BZEe7IPIXS3Kj/DynpLfQxiRnjYMQ0KT8Qb/kBw5wxUI=@vger.kernel.org X-Gm-Message-State: AOJu0YzQUm/2QoPL/6Mg9Oa5ni0lHXyxOYISeunoLEXinYvV4yOBYZR+ 0Yv47Ssw4R/W63A/3M3wUqkiHbjwwjgu0dTsyVJ3N+Izq3l38Ka9GdWq X-Gm-Gg: Acq92OGffmoh9FNxcDSfZCE67HWRKKP/9bOPVi45yjTN8OqQ9PuEKDIqdD9cvGuO5lz vsIKHCJ0Wc17WD3JLbeNagZ1gu0XoLDwKTB7TkLyOZENvGIVnTrv7Fg+GI87anOgxVRBBnFu0t4 TnPN34zndRFvJOEhH91OaypmQsBEZDNgFY59r6/4RnqSY0QpdWzH4PFjszkIzNDEie9KIE6K+Qm hz9C1DC8qmLXote3hVd7Ph7EPLexy8LPzHFgLVNxmKdZRxNgLdNUDK+amnrMKrjMVjRxSnZU249 lhV8aXjAeVYEpaek1/8QsmvO+QUc0V/4VyVANwskiIaPKjwl0wBX3Y8Iw0KMqqtj5kUiiNRVW8E VASkXag0oXwx+6BPCqriSrjO5oJjyF+mb7HrYxUlPXe1mlYBPlmH6mYm6+fPQusTh10it51PEnx +8LJAYPb3JjUfTHb5qiMK40DoYO+WqGI5f5+X9LtBwlE1PfPHcKb/MrTYCHBMk6YzJ30RsM4Yz8 bE5l3y/CUyyvDszszk= X-Received: by 2002:a17:902:ccc3:b0:2c0:c38d:9d37 with SMTP id d9443c01a7336-2c1e849534amr141810325ad.25.1780887017485; Sun, 07 Jun 2026 19:50:17 -0700 (PDT) Received: from localhost.localdomain (60-250-196-139.hinet-ip.hinet.net. [60.250.196.139]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c164f6d211sm165745555ad.3.2026.06.07.19.50.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Jun 2026 19:50:15 -0700 (PDT) From: Chi-Wen Weng X-Google-Original-From: Chi-Wen Weng To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, cwweng@nuvoton.com Subject: [PATCH v2 0/2] spi: ma35d1-qspi: Add Nuvoton MA35D1 QSPI controller Date: Mon, 8 Jun 2026 10:50:07 +0800 Message-Id: <20260608025009.1504971-1-cwweng@nuvoton.com> X-Mailer: git-send-email 2.25.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add devicetree binding and SPI controller driver support for the Nuvoton MA35D1 Quad SPI controller. The MA35D1 QSPI controller supports SPI memory devices such as SPI NOR and SPI NAND flashes in single, dual and quad I/O modes. This initial driver implements a conservative PIO-based transfer path and spi-mem operation support. Changes in v2: - Updated patch subject lines to match SPI subsystem style. - Added commit message to the dt-bindings patch. - Added ARCH_MA35 || COMPILE_TEST dependency to Kconfig. - Expanded Kconfig help text. - Converted the driver file header to // comments. - Added reset control handling to the driver. - Added resets property to the binding. - Added num-cs constraint to the binding. - Dropped the flash child node from the binding example. - Used op->max_freq for spi-mem operations. - Split low-level CS register handling from the SPI core .set_cs() callback. - Handled SPI_CS_HIGH explicitly for the spi-mem direct CS path. - Fixed spi-mem opcode transfer to use a u8 buffer. - Limited spi-mem command opcode length to one byte. - Forced spi-mem operations to 8-bit word size. - Avoided driving bidirectional data pins during dummy cycles. - Drained RX FIFO during TX-only transfers. - Rejected invalid chip-select numbers instead of mapping them to SS1. - Rejected unsupported dual/quad full-duplex generic SPI transfers. - Fixed checkpatch style issues. Chi-Wen Weng (2): dt-bindings: spi: nuvoton,ma35d1-qspi: Add Nuvoton MA35D1 QSPI spi: ma35d1-qspi: Add Nuvoton MA35D1 QSPI controller support .../bindings/spi/nuvoton,ma35d1-qspi.yaml | 62 ++ drivers/spi/Kconfig | 10 + drivers/spi/Makefile | 1 + drivers/spi/spi-ma35d1-qspi.c | 622 ++++++++++++++++++ 4 files changed, 695 insertions(+) create mode 100644 Documentation/devicetree/bindings/spi/nuvoton,ma35d1-qspi.yaml create mode 100644 drivers/spi/spi-ma35d1-qspi.c -- 2.25.1