From patchwork Fri Sep 15 10:48:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manikandan Muralidharan X-Patchwork-Id: 13386863 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 10029EE6457 for ; Fri, 15 Sep 2023 10:49:26 +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=qYVPYfb4nvbSWra+7xH8oCRBYxZWGTDr4bc28kohsf4=; b=vMBNxivjggBN4h 83p5K8hz2elbsFMmWtGZxGajbgKHwJXYC4kB4fFeAzNd4XyeHMWP5NNLhRYae+m5W66puT32ObGpY wbYGw0v/xwAWzlEk/rDneKo+homu58fB3DML7XRQLziU1jVunpk50d4qgpdK47sOadd4ePEkuX0IT XJaUHcj29LV2cwevu9NijGrAG37ZVAav9/QXmfbEuFlM2NBz+M98/Q5ue6L/nJBCrRvyERuayiYzA GOubpGrZZ8NQw8rcOzh4eHEr81vpF0fttnx8RjuYzu1u3XQgBW8JHdj1jhzE0QZDO/N48aj0o6nYJ 5rWYJtYqpmuUNd0jttag==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qh6Nh-00ATzz-1O; Fri, 15 Sep 2023 10:49:01 +0000 Received: from esa.microchip.iphmx.com ([68.232.154.123]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qh6Ne-00ATw3-1D for linux-arm-kernel@lists.infradead.org; Fri, 15 Sep 2023 10:48:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1694774938; x=1726310938; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=kOVTLNWDqfOVwrIwey7uiqf1pGWo1Bl1GlH5YpX1HbE=; b=Gc1F4/+bWz9Z6s1+5fExqnTkFx0JAGJeQT//PIqmsPfkiYPdPFUGkYJJ f1h3krsf6t+mXYBOe1iMu5C8aGkrJeppQ+zRL7Uy8PUVqKx2F6qB5OLNT t8uKHjMBIwsMPegcplxp0TxXM//z/f8gZje6W6jJkRMYtODFMvpxX1GGg zRG8/pdA7Vs+R27v/sQ5IScLGigiDtPY+MG+CP7joxqJ3AYktyS00LHqY uRAB1MgMeM8jXEegjO/hbHPUUzx1QsxPeR+YEmeJ8K0/a8LKJl42M1XeB AIYbyVFZYse7tDc1qcGSmNynrASpCPgP/OwgOChHJ8/q1tVt8rQn08NLt A==; X-CSE-ConnectionGUID: U0ykML+bTMil71KHYckU0A== X-CSE-MsgGUID: v+Z4ELqZQaGG6Gasb00Nng== X-ThreatScanner-Verdict: Negative X-IronPort-AV: E=Sophos;i="6.02,148,1688454000"; d="scan'208";a="4711949" X-Amp-Result: SKIPPED(no attachment in message) Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa4.microchip.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 15 Sep 2023 03:48:52 -0700 Received: from chn-vm-ex02.mchp-main.com (10.10.85.144) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Fri, 15 Sep 2023 03:48:52 -0700 Received: from che-lt-i67131.microchip.com (10.10.85.11) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server id 15.1.2507.21 via Frontend Transport; Fri, 15 Sep 2023 03:48:45 -0700 From: Manikandan Muralidharan To: , , , , , , , , , CC: , , , , , , , Manikandan Muralidharan Subject: [PATCH v5 0/8] Add support for XLCDC to sam9x7 SoC family. Date: Fri, 15 Sep 2023 16:18:41 +0530 Message-ID: <20230915104849.187146-1-manikandan.m@microchip.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230915_034858_497121_5ED5328E X-CRM114-Status: GOOD ( 11.40 ) 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 patch series aims to add support for XLCDC IP of sam9x7 SoC family to the DRM subsystem.XLCDC IP has additional registers and new configuration bits compared to the existing register set of HLCDC IP. The new compatible string "microchip,sam9x75-xlcdc" is defined for sam9x75 variant of the sam9x7 SoC family.The is_xlcdc flag under driver data and IP specific driver ops helps to differentiate the XLCDC and existing HLCDC code within the same driver. changes in v5: * return value of regmap_read_poll_timeout is checked in failure case. * HLCDC and XLCDC specific driver functions are now invoked using its IP specific driver ops w/o the need of checking is_xlcdc flag. * Removed empty spaces and blank lines. changes in v4: * fixed kernel warnings reported by kernel test robot. changes in v3: * Removed de-referencing the value of is_xlcdc flag multiple times in a single function. * Removed cpu_relax() call when using regmap_read_poll_timeout. * Updated xfactor and yfactor equations using shift operators * Defined CSC co-efficients in an array for code readability. changes in v2: * Change the driver compatible name from "microchip,sam9x7-xlcdc" to "microchip,sam9x75-xlcdc". * Move is_xlcdc flag to driver data. * Remove unsed Macro definitions. * Add co-developed-bys tags * Replace regmap_read() with regmap_read_poll_timeout() call * Split code into two helpers for code readablitity. Durai Manickam KR (1): drm: atmel-hlcdc: Define SAM9X7 SoC XLCDC specific registers Manikandan Muralidharan (7): mfd: atmel-hlcdc: Add compatible for sam9x75 XLCD controller drm: atmel-hlcdc: add flag and driver ops to differentiate XLCDC and HLCDC IP drm: atmel-hlcdc: add LCD controller layer definition for sam9x75 drm: atmel_hlcdc: Add support for XLCDC in atmel LCD driver drm: atmel-hlcdc: add DPI mode support for XLCDC drm: atmel-hlcdc: add vertical and horizontal scaling support for XLCDC drm: atmel-hlcdc: add support for DSI output formats .../gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 176 +++++++-- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 125 +++++++ drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 114 ++++++ .../gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 337 +++++++++++++++--- drivers/mfd/atmel-hlcdc.c | 1 + include/linux/mfd/atmel-hlcdc.h | 10 + 6 files changed, 665 insertions(+), 98 deletions(-)