Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3048780pxk; Mon, 7 Sep 2020 01:22:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxVjUI5iWNY2At9dihGe/7Wa7r4FQJ9vV+kN0uQsplWf/C0wB9JvcI5nEhLsRU2Sk0EjRgf X-Received: by 2002:a50:e004:: with SMTP id e4mr20402054edl.114.1599466968893; Mon, 07 Sep 2020 01:22:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599466968; cv=none; d=google.com; s=arc-20160816; b=IJBm6jpCL++v1+WLNcvInIGCgFlaNzmzVO1fduULJ88XLbW36VDKG58di9A4PgGyB9 U2YGNvkJqqdN0ZzdDt/Qh+VFS6xTJfhHrd5sBcSL78JwPXNIyVEhJBWqCv+ZB9/Hr0Zn FsuJ4aFCZg3lQ2NVvUXRBoCBKP0Ybf0atTSc0bcyP+q/c5lCpz1dxbxtuLV5jA8uWkr1 /lRchp/WQM9Xll3RESJbvAb49lFN7Qap0/Qrfxog0EwuYA559gV7FMfGtwmFQ7jYnGaU 9Kmu+mwo+65GqupjbMgMlVDG2iS2Wi/QQ+wAVbziftIF0yxORXcy01fgWNAdrb83VhjO bcqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=XVkpcj81glnSnuras7YrChzwHxX/+ElP6dnTPDpVflM=; b=Q+ykm+4BXJKK4y5xEWco/a6GLDTy3N2RBs9CrJ/BYvZ68Sp3g7Xl2lFys+wEy0oeDN g803Sr5JKfcQQO4c4azhPTjqUsJO9+4MqQ6NirgDoRsATrr6dZBbUygsfRnkRChjutfm 9UJTlyOQkWNr8aDrUut024qo1wVDloXnkYLS5bTIjNQ9Os5Ml07hLaoDhBlgciuaFQle xXqkojXNsp1CmMakWmYpiN4JBUBOQFIu2m6mXmIzBBpfg6CW/0Nq3uaEbl6jiKiyvzM4 gf25m5SL3y0YxPBsYTDdqrP/zVHSjgmpZ9W8FapytnidS89m+4VPkG+acpSryqtrYXSw yNUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=eq8pdz4b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l18si9396417ejr.492.2020.09.07.01.22.26; Mon, 07 Sep 2020 01:22:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=eq8pdz4b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728036AbgIGISr (ORCPT + 99 others); Mon, 7 Sep 2020 04:18:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42242 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727981AbgIGISc (ORCPT ); Mon, 7 Sep 2020 04:18:32 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A5497C061573 for ; Mon, 7 Sep 2020 01:18:31 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id a9so13295849wmm.2 for ; Mon, 07 Sep 2020 01:18:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=XVkpcj81glnSnuras7YrChzwHxX/+ElP6dnTPDpVflM=; b=eq8pdz4bEvw8Drm9IiyKHHS/9tFdgbwA08m44Eo5/3AjXDsoVvgB9xtCqI9yTDhZHe JWhhbtGcwt6X672OqK0uhjV9ZpDs1Wdnkrdm8HSe0aMBznreCxHk7OroTON3aUfddLm1 NC7fuE0Ak5aP4nwxtYkewvg/z0Jq9O03FCVjJetdv4XeVtDXiq+/CAXBQIDTxuM4AraI A0oDMSoo3d7XD6D3VHC5oDtBsyl3T/aSCS37kU3emyahVkV4GBseZ06BTPRVOUCjQQHw UdA8A5B3ZNrRfqyEoUmZH8v1Ac+suW/fzeN/twc47tAJbxfPkd7NYADS+cFIg3nobAEI 5k0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=XVkpcj81glnSnuras7YrChzwHxX/+ElP6dnTPDpVflM=; b=jfNHUuR9ANtL57CsYL3GrjpM46I7uAB4h4Q/+HbVhoZifTWo8ui37PjZ/IIddD0aMl AoSG4qFu/FyOVaEg9jfMQtjIeYPIrB4gIORDYILfNR1dc3ekIbJadUhdtFZUVu1/uR5P bpBOJsZzgxUklFM3DpWmdHLt0c8TxqGQNLqMos3Uzffgbxk5gaVeHqYh840YLtupN8mt ln3KYhUGsQsUC8JuX5i/adz5lHeiK54h9vMkTSXNRSH+xhiebns076NXHlFeHa8CtDFD tEqPDa0vd/10JTAGbsqjOOnsWYyMkDc2xeIZqAPbPPRmUx/hizYASAm838FkgWzlQkrT ySaA== X-Gm-Message-State: AOAM5324dGP/zKgTOYYh+gtUzexDeNXc/FvLyU3MeeVFBmz40dp1Lk7G SFrNVQGeMlrdAgYTECuhyX7KOg== X-Received: by 2002:a1c:988d:: with SMTP id a135mr19191231wme.8.1599466710211; Mon, 07 Sep 2020 01:18:30 -0700 (PDT) Received: from bender.baylibre.local ([2a01:e35:2ec0:82b0:5405:9623:e2f1:b2ac]) by smtp.gmail.com with ESMTPSA id q186sm28032205wma.45.2020.09.07.01.18.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2020 01:18:29 -0700 (PDT) From: Neil Armstrong To: daniel@ffwll.ch Cc: dri-devel@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org, Neil Armstrong Subject: [PATCH 0/6] drm/meson: add support for AXG & MIPI-DSI Date: Mon, 7 Sep 2020 10:18:19 +0200 Message-Id: <20200907081825.1654-1-narmstrong@baylibre.com> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The Amlogic AXG SoC family has a downgraded VPU with the following changes : - Only a single OSD plane, no overlay video plane - The primary plane doesn't support HW scaling - The pixels are read directly from DDR without any Canvas module - Doesn't support HDMI or CVBS - Ouputs only with ENCL encoder to a DPI-to-DSI Synopsys DW-MIPI-DSI transceiver The Amlogic AXg SoCs embeds a Synopsys DW-MIPI-DSI transceiver (ver 1.21a), with a custom glue managing the IP resets, clock and data input similar to the DW-HDMI Glue on other Amlogic SoCs. This adds support for the Glue managing the transceiver, mimicing the init flow provided by Amlogic to setup the ENCl encoder, the glue, the transceiver, the digital D-PHY and the Analog PHY in the proper way. The DW-MIPI-DSI transceiver + D-PHY are directly clocked by the VCLK2 clock, which pixel clock is derived and feeds the ENCL encoder and the VIU pixel reader. An optional "MEAS" clock can be enabled to measure the delay between each vsync feeding the DW-MIPI-DSI transceiver. Neil Armstrong (6): dt-bindings: display: amlogic,meson-vpu: add bindings for VPU found in AXG SoCs dt-bindings: display: add Amlogic MIPI DSI Host Controller bindings drm/meson: add support for VPU found in AXG SoCs drm/meson: venc: add ENCL encoder setup for MIPI-DSI output drm/meson: remove useless recursive components matching drm/meson: add support for MIPI-DSI transceiver .../display/amlogic,meson-dw-mipi-dsi.yaml | 115 ++++ .../bindings/display/amlogic,meson-vpu.yaml | 36 +- drivers/gpu/drm/meson/Kconfig | 7 + drivers/gpu/drm/meson/Makefile | 1 + drivers/gpu/drm/meson/meson_crtc.c | 8 +- drivers/gpu/drm/meson/meson_drv.c | 163 ++--- drivers/gpu/drm/meson/meson_drv.h | 10 +- drivers/gpu/drm/meson/meson_dw_mipi_dsi.c | 562 ++++++++++++++++++ drivers/gpu/drm/meson/meson_plane.c | 74 ++- drivers/gpu/drm/meson/meson_registers.h | 1 + drivers/gpu/drm/meson/meson_venc.c | 230 ++++++- drivers/gpu/drm/meson/meson_venc.h | 6 + drivers/gpu/drm/meson/meson_viu.c | 50 +- drivers/gpu/drm/meson/meson_vpp.c | 6 +- drivers/gpu/drm/meson/meson_vpp.h | 2 + 15 files changed, 1176 insertions(+), 95 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/amlogic,meson-dw-mipi-dsi.yaml create mode 100644 drivers/gpu/drm/meson/meson_dw_mipi_dsi.c -- 2.22.0