From patchwork Tue Jul 30 15:01:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marc Gonzalez X-Patchwork-Id: 13747520 Received: from ns.iliad.fr (ns.iliad.fr [212.27.33.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 581D11A2C2A; Tue, 30 Jul 2024 15:01:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.27.33.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722351722; cv=none; b=qUQWXqgPvPjp/iSdf811iorZV2CUf90kZl71cBt+dk7TSRa5o7UO1fYMXWKr+2HnHAn57alkr8TFp1eRmoIupYTU7CORr8GvYJB+9c3wCfyAeDtYv6KPdBxsWQZU0nTowOC9lae0qNNC2JOYmFSPUlWxzNKhlFjN6PPOPfD6haE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722351722; c=relaxed/simple; bh=OBy8O2Q3Rcrbpz2I8iDBgN9IOSfB4/NWSOoDb2Dvzxg=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=lDQj8jYSnLRmLOISA2AOFm8DSwENnR9nxtBMGlpeK5XyQreTtHYLGJiqx3YSvyBSmAavp4M+J2O0NFq/HMpETE9F7DZBxCfAscKFZAN6UhBylw0uJJnrcOOSgzbAZdsAbnXRR5KyMuKEe0jngA5OammxhHmGWr6/6nYrAmEX1fc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=freebox.fr; spf=pass smtp.mailfrom=srs.iliad.fr; arc=none smtp.client-ip=212.27.33.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=freebox.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=srs.iliad.fr Received: from ns.iliad.fr (localhost [127.0.0.1]) by ns.iliad.fr (Postfix) with ESMTP id 4DF5F20C77; Tue, 30 Jul 2024 17:01:51 +0200 (CEST) Received: from [127.0.1.1] (freebox.vlq16.iliad.fr [213.36.7.13]) by ns.iliad.fr (Postfix) with ESMTP id 35DCC20547; Tue, 30 Jul 2024 17:01:51 +0200 (CEST) From: Marc Gonzalez Subject: [PATCH v4 0/2] Basic support for TI TDP158 Date: Tue, 30 Jul 2024 17:01:30 +0200 Message-Id: <20240730-tdp158-v4-0-da69001bdea2@freebox.fr> Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAEoAqWYC/2XNTQ6DIBCG4as0rEvDn0K76j2aLgRmKhs1YIiN8 e5FF62Ny2/C8zKTBDFAIrfTTCLkkELflaHOJ+LapnsBDb5sIphQrOaajn7glaGKG8GYr51jlpT HQwQM0xZ6PMtuQxr7+N66ma/XQyJzyqjHqwHUHlzt7xgBbD9dMJK1kcXOierrRHGNtFIpzTQ2+ uDk3v3+k8WhFWidYUaq+s8ty/IBQxaMrA0BAAA= To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, Arnaud Vrac , Pierre-Hugues Husson , Dmitry Baryshkov , Konrad Dybcio , Marc Gonzalez X-Mailer: b4 0.13.0 TDP158 is an AC-coupled DVI / HDMI to TMDS level shifting Redriver. Like the TFP410, the TDP158 can be set up in 2 different ways: 1) hard-coding its configuration settings using pin-strapping resistors 2) placing it on an I2C bus, and defer set-up until run-time The mode is selected by pin 8 = I2C_EN I2C_EN = 1 ==> I2C Control Mode I2C_EN = 0 ==> Pin Strap Mode On our board, I2C_EN is pulled high (hard-wired). --- Changes in v4: - Rebase series on top of v6.11-rc1 - Add blurb about I2C vs pin strap mode in cover letter - Add blurb about I2C vs pin strap mode in binding commit message - Add blurb about I2C mode in driver commit message - Add comment in binding explaining when reg is required - Add comment in binding describing Operation Enable / Reset Pin - Link to v3: https://lore.kernel.org/r/20240627-tdp158-v3-0-fb2fbc808346@freebox.fr Changes in v3: - Add 'select DRM_PANEL_BRIDGE' in driver Kconfig - Fix checkpatch errors - log errors using dev_err (so save dev pointer) - expand a few error messages - expand commit messages with info from the datasheet - mark regulators as required in the DT binding - Link to v2: https://lore.kernel.org/r/20240625-tdp158-v2-0-a3b344707fa7@freebox.fr Changes in v2: - Don't overload simple-bridge, spin new minimal driver - New driver, new binding - Default device settings work fine for us, so we don't tweak registers - Link to v1: https://lore.kernel.org/r/20240617-tdp158-v1-0-df98ef7dec6d@freebox.fr - Link to v0b: https://lore.kernel.org/r/b41f2f86-0d99-4199-92a9-42cbb9d6a6d5@freebox.fr/ - Link to v0a: https://lore.kernel.org/r/d3de652f-ce89-4f57-b900-07b11f8bf8f9@free.fr/ --- Marc Gonzalez (2): dt-bindings: display: bridge: add TI TDP158 drm/bridge: add support for TI TDP158 .../bindings/display/bridge/ti,tdp158.yaml | 57 +++++++++++ drivers/gpu/drm/bridge/Kconfig | 7 ++ drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ti-tdp158.c | 108 +++++++++++++++++++++ 4 files changed, 173 insertions(+) --- base-commit: c6072668fcfb13295b600747dbd89f00da1a4ed9 change-id: 20240617-tdp158-418200d6cc0b Best regards,