From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (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 6C2F93033E5 for ; Mon, 26 Jan 2026 08:59:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769417957; cv=none; b=FdaWshei1sql9s5AS9IMBnOiGo2d9y7rS1MlYcxdCanuqNKmMmt07jnAInu+vYGl1+WlBp54kKIQsAy1vzRez/d4nX92E1OPyfs0Hz/Xp3DorV8vXr2GYY6pWDgVYeRUKQ66c80xeTIh0eycnzZ9MNnrJU7ymo51+H169fPe2ag= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769417957; c=relaxed/simple; bh=sfECNrXqjbV8dOHwg33uBRPR61OqwrseK8uJ9XStgSc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=qVZjB+HFAdOHc0Da434cfir21Z5Un6pYbzVdqKBvIRDWNU1Z/xH0q0L/eWOw/6eYrMz0F8lEgHi4pMBWesYglpfp5TSREUX3/uXuckoUkaI3/EdRkaVbZ/rg5R4j6xHJp00Cf409oxmhYx1aie3VjCZxoHIXkJ7xMEVzPypT/kA= 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=aS2d3Xmr; arc=none smtp.client-ip=209.85.216.47 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="aS2d3Xmr" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-34f2a0c4574so3646841a91.1 for ; Mon, 26 Jan 2026 00:59:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769417956; x=1770022756; 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=oQ9aFobDUemcPRrLlp/PuTWIeXOZx5LQW0AdEMjMZ8c=; b=aS2d3Xmrun7bJyxxscp2xLJmRja/pTJlaJ0P3CN0YTrnlEIZTxL/tIoO9h4qlDnCGk VAyjes5m/AMKlWJ0OmxuyZ5hYgJsi8VOm+iVFl0HANT+lSc/QGr+SVncY8RXZZ9QHWRl zpR0s2l0BDioNgXcONFRbz8UjfMz//H3sF6a/oH/IiHqhECLBq1Yplp3Bshb4hCOCKIx euby5hmdFDZNoZLIdl7JwBM4eNmry3/deU96bbhh+dI4y1XSCrg1bGNpJd2EWEUpLT8w lxIhfBtJnBh0aew12+n4Z1aQOOlpJeOXpbNsox+8s3GsL7+RYEfilZlo6fInXOposxb4 i3vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769417956; x=1770022756; 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=oQ9aFobDUemcPRrLlp/PuTWIeXOZx5LQW0AdEMjMZ8c=; b=qD6AB8+xRUKdqVO4rYt2m6tWhby7bYDpTyQOCInJGDi2fOQyPjdqzZAZiWn78QAK3V ERdExkH2wzJjcBaRLEvcj6SCr6AhXUXiP0KNAzGjRhN9hce0/wb8Ki8z67jdOJ8Z5EMS rzhu/0iuVdedt5Y4pV8FkNkhJbTQRJl4tarb7Rj/iQxPz6FpIZl8OpwhDw/5RAt/kVaM V2QDoNyuKgPN7GB3qjX6T0C+gaRkndmydUC+AEWP2OSSbbRIrmEaoeKda8+RrfynZag9 XKfr5MDldjHH8HZEsyhEJim3IsLJi1ot5v920mGvKTagr1WvnW/AzMzt0eNt44DnDjdF 4SuA== X-Forwarded-Encrypted: i=1; AJvYcCUW8Tmdd+PIhvIdwK9Oj82/nJ4AuxBGgxZmfh0QWvtCdm6G2mM3vx5BLxXSbwb3aso4QPAc8MGDYduFeK0=@vger.kernel.org X-Gm-Message-State: AOJu0Yy588NvNu+QGsdNquLbN6Es/IcA2lQOdQo+BS3Sa3JIz31Zaem6 rUcSMoL9WliCRSWbDtpAi1Vn1frodOCDf55AFoHZ4fnVk7hjPqGZRwEp X-Gm-Gg: AZuq6aLlPR0aBOXVF3NKzq92qgLlEEvaWnO3Pg/gr/xxNarR/dRjld1+Ps0LbwvTojQ oiNBBwI4BRtUMt3cTtkWwTcL3nmvpIYDMbZssiiMP5Zeq7MR7kav8oCjj47TJ43cW/fhwzkUEcr mMZNCl4qtWptFaELwdQMYZagbKJoXcRvLO44hkpBig/Uk4J9o23/oc3ReiBPzy3i0b7VPsa97E/ JkGean23MBTJ/ZTX4k7419RVRX7vwQkXYI17w+Y3GAmhZ2dhLOzDsFVdFwx76A97zmWVxm/uFKN SieNlCHmyPa591hujvVbJz7ecUe32xeXM/8/r/a55crcnXb8gDVbFKk6d++LyH3pRp35TlruGyQ rFryy08AsMHs7yePFevIDp+6l1brORcJHN8J+gGpJ064lWeNhfZOSapnQv1bUem81pB55Qu+Iwc +IGXOloBBaJyJPni/YP1Ld8slpJ7GGG5UYjakphY8d3mbEe79ekd2L2Lbn9DIPWTpRS/4xPB/g X-Received: by 2002:a17:90b:4a11:b0:349:2154:eef4 with SMTP id 98e67ed59e1d1-353c40b84dfmr2930111a91.5.1769417955671; Mon, 26 Jan 2026 00:59:15 -0800 (PST) Received: from localhost.localdomain (60-250-196-139.hinet-ip.hinet.net. [60.250.196.139]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3536dc3e0ecsm8251798a91.10.2026.01.26.00.59.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Jan 2026 00:59:15 -0800 (PST) From: Joey Lu To: airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: ychuang3@nuvoton.com, schung@nuvoton.com, yclu4@nuvoton.com, a0987203069@gmail.com, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/3] drm: nuvoton: Add MA35D1 display controller support Date: Mon, 26 Jan 2026 16:57:24 +0800 Message-ID: <20260126085727.2568958-1-a0987203069@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Hi all, This series adds DRM support for the Display Control Unit (DCU) found in Nuvoton MA35D1 SoCs. The DCU is a DPI-based display controller intended to be used with external panels or bridges. The driver integrates with the DRM bridge framework and supports atomic modesetting. The series consists of three patches: Add Device Tree binding documentation for the MA35D1 DCU Enable the display controller in the MA35D1 SoC dtsi and SOM dts Add the DRM driver for the MA35D1 display controller This has been tested using modetest with a DPI panel and verified to expose modes and perform atomic modesetting correctly. Best regards, Joey Lu Joey Lu (3): dt-bindings: display: nuvoton: add MA35D1 DCU binding arm64: dts: nuvoton: ma35d1: add display controller support drm/nuvoton: add MA35D1 display controller driver .../bindings/display/nuvoton,ma35d1-dcu.yaml | 74 ++ .../boot/dts/nuvoton/ma35d1-som-256m.dts | 42 + arch/arm64/boot/dts/nuvoton/ma35d1.dtsi | 26 + drivers/gpu/drm/Kconfig | 1 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/nuvoton/Kconfig | 21 + drivers/gpu/drm/nuvoton/Makefile | 7 + drivers/gpu/drm/nuvoton/ma35_crtc.c | 445 +++++++++ drivers/gpu/drm/nuvoton/ma35_crtc.h | 78 ++ drivers/gpu/drm/nuvoton/ma35_drm.c | 389 ++++++++ drivers/gpu/drm/nuvoton/ma35_drm.h | 48 + drivers/gpu/drm/nuvoton/ma35_interface.c | 192 ++++ drivers/gpu/drm/nuvoton/ma35_interface.h | 30 + drivers/gpu/drm/nuvoton/ma35_plane.c | 904 ++++++++++++++++++ drivers/gpu/drm/nuvoton/ma35_plane.h | 226 +++++ drivers/gpu/drm/nuvoton/ma35_regs.h | 88 ++ 16 files changed, 2572 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/nuvoton,ma35d1-dcu.yaml create mode 100644 drivers/gpu/drm/nuvoton/Kconfig create mode 100644 drivers/gpu/drm/nuvoton/Makefile create mode 100644 drivers/gpu/drm/nuvoton/ma35_crtc.c create mode 100644 drivers/gpu/drm/nuvoton/ma35_crtc.h create mode 100644 drivers/gpu/drm/nuvoton/ma35_drm.c create mode 100644 drivers/gpu/drm/nuvoton/ma35_drm.h create mode 100644 drivers/gpu/drm/nuvoton/ma35_interface.c create mode 100644 drivers/gpu/drm/nuvoton/ma35_interface.h create mode 100644 drivers/gpu/drm/nuvoton/ma35_plane.c create mode 100644 drivers/gpu/drm/nuvoton/ma35_plane.h create mode 100644 drivers/gpu/drm/nuvoton/ma35_regs.h -- 2.43.0