From patchwork Wed Feb 1 07:47:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 9549049 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 7C32360425 for ; Wed, 1 Feb 2017 07:49:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6D57528338 for ; Wed, 1 Feb 2017 07:49:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6245928375; Wed, 1 Feb 2017 07:49:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 9C19828338 for ; Wed, 1 Feb 2017 07:49:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 40B3B6E7A4; Wed, 1 Feb 2017 07:48:06 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5669D6E777 for ; Wed, 1 Feb 2017 07:48:02 +0000 (UTC) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OKO00CYER00FA50@mailout2.w1.samsung.com> for dri-devel@lists.freedesktop.org; Wed, 01 Feb 2017 07:48:00 +0000 (GMT) Received: from eusmges3.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170201074759eucas1p2d667520eda7eaa4a2eb8b20d0c24af42~fGkOm26v11805618056eucas1p2Z; Wed, 1 Feb 2017 07:47:59 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3.samsung.com (EUCPMTA) with SMTP id E4.0D.09557.FA291985; Wed, 1 Feb 2017 07:47:59 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170201074759eucas1p107726f25c44315de8687401823a04e93~fGkNw_qGM1436014360eucas1p1g; Wed, 1 Feb 2017 07:47:59 +0000 (GMT) X-AuditID: cbfec7f2-f790f6d000002555-64-589192afb0ec Received: from eusync1.samsung.com ( [203.254.199.211]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 56.95.06687.3F291985; Wed, 1 Feb 2017 07:49:07 +0000 (GMT) Received: from AMDC2768.DIGITAL.local ([106.120.43.17]) by eusync1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OKO00GROQZTN370@eusync1.samsung.com>; Wed, 01 Feb 2017 07:47:58 +0000 (GMT) From: Andrzej Hajda To: Archit Taneja , dri-devel@lists.freedesktop.org Subject: [PATCH v3 23/25] drm/bridge/sii8620: add HSIC initialization code Date: Wed, 01 Feb 2017 08:47:50 +0100 Message-id: <1485935272-17337-24-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 2.7.4 In-reply-to: <1485935272-17337-1-git-send-email-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprBIsWRmVeSWpSXmKPExsWy7djP87rrJ02MMDixRMKiqeMtq8WVr+/Z HJg8Lvf1Mnnc7z7OFMAUxWWTkpqTWZZapG+XwJXR3TOPrWCPRMXjt9dZGhhPinQxcnJICJhI vL19kwnCFpO4cG89WxcjF4eQwFJGiVkrbzBBOJ8ZJR7su8IG0/Hz8xaoxDJGiX1fL7BCOP8Z JY7cf84KUsUmoCnxd/NNsA4RAW+JOav7GEFsYQEvibkLvoDZLAKqEovnbwfbzSvgIvF92n9m iA1yEjfPdYLZnEDx5wvnsIAskBBYwSbRdm0hUAMHkCMrsekAVL2LxPHuNSwQtrDEq+Nb2CFs GYnOjoNMEL3djBKf+k+wQzhTGCX+fZgB1W0tcfj4RbCrmQX4JCZtm84MsYBXoqNNCKLEQ+LV 5PVQ5Y4SWxZ8gXp/OqPEpC8vGScwSi9gZFjFKJJaWpybnlpsrFecmFtcmpeul5yfu4kRGF+n /x3/tIPx6wmrQ4wCHIxKPLwfTk+IEGJNLCuuzD3EKMHBrCTCO6N/YoQQb0piZVVqUX58UWlO avEhRmkOFiVx3j0LroQLCaQnlqRmp6YWpBbBZJk4OKUaGCevalHuTFu5abdT0iw9qf3WgXfP ds8rC99n4VNwtHGWj1CUzP5f25R0arcnJ/17FZPJ+/Vx9TK5PMZXF6bKT4mqfrXewLrga0b7 hd3e6kZPqz4GPTA8flWDS6q70XztwXkiuxqlJBRaxXfOm/PZOu4k8+xdcyzjVF8odVosXitR e1Z/76IJE5RYijMSDbWYi4oTAaKzwQerAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrGLMWRmVeSWpSXmKPExsVy+t/xy7qfJ02MMNi0R8eiqeMtq8WVr+/Z HJg8Lvf1Mnnc7z7OFMAU5WaTkZqYklqkkJqXnJ+SmZduqxQa4qZroaSQl5ibaqsUoesbEqSk UJaYUwrkGRmgAQfnAPdgJX27BLeM7p55bAV7JCoev73O0sB4UqSLkZNDQsBE4ufnLUwQtpjE hXvr2boYuTiEBJYwSky9sJMdwmlkkrh98ClYFZuApsTfzTfZQGwRAW+JOav7GEFsYQEvibkL voDZLAKqEovnbwer5xVwkfg+7T8zxAY5iZvnOsFsTqD484VzWEBsIQFniW93Z7FPYORZwMiw ilEktbQ4Nz232FCvODG3uDQvXS85P3cTIzDMth37uXkH46WNwYcYBTgYlXh4P5yeECHEmlhW XJl7iFGCg1lJhHdG/8QIId6UxMqq1KL8+KLSnNTiQ4ymQEdNZJYSTc4HxkBeSbyhiaG5paGR sYWFuZGRkjhvyYcr4UIC6YklqdmpqQWpRTB9TBycUg2M3p4r3i6cFhRbHHfqfejxy9vvxv5y bW+8PePIz3Vndonsmll2M7dF/Y/Zo98+sy/6eOz5wHnjzV1+y6sFR2z+XmZ+InQs9PalMv4d 3Hdmb0x9usZP7fuLOnEfL59Xm7av95DZ9ODXO4bYl48KUubMddEJM+/lLnnF1rmXL9iusvt7 xu62JVXCDkosxRmJhlrMRcWJAMqWnchJAgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170201074759eucas1p107726f25c44315de8687401823a04e93 X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 X-Local-Sender: =?UTF-8?B?QW5kcnplaiBIYWpkYRtTUlBPTC1LZXJuZWwgKFRQKRvsgrw=?= =?UTF-8?B?7ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?QW5kcnplaiBIYWpkYRtTUlBPTC1LZXJuZWwgKFRQKRtTYW1z?= =?UTF-8?B?dW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170201074759eucas1p107726f25c44315de8687401823a04e93 X-RootMTR: 20170201074759eucas1p107726f25c44315de8687401823a04e93 References: <1485935272-17337-1-git-send-email-a.hajda@samsung.com> X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP In case of MHL3 HSIC should be initialized. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/bridge/sil-sii8620.c | 38 ++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/bridge/sil-sii8620.h | 10 ++++++---- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/bridge/sil-sii8620.c b/drivers/gpu/drm/bridge/sil-sii8620.c index 54ea864..be7be3c 100644 --- a/drivers/gpu/drm/bridge/sil-sii8620.c +++ b/drivers/gpu/drm/bridge/sil-sii8620.c @@ -489,12 +489,50 @@ static void sii8620_sink_detected(struct sii8620 *ctx, int ret) sink_str[ctx->sink_type], sink_name); } +static void sii8620_hsic_init(struct sii8620 *ctx) +{ + if (!sii8620_is_mhl3(ctx)) + return; + + sii8620_write(ctx, REG_FCGC, + BIT_FCGC_HSIC_HOSTMODE | BIT_FCGC_HSIC_ENABLE); + sii8620_setbits(ctx, REG_HRXCTRL3, + BIT_HRXCTRL3_HRX_STAY_RESET | BIT_HRXCTRL3_STATUS_EN, ~0); + sii8620_setbits(ctx, REG_TTXNUMB, MSK_TTXNUMB_TTX_NUMBPS, 4); + sii8620_setbits(ctx, REG_TRXCTRL, BIT_TRXCTRL_TRX_FROM_SE_COC, ~0); + sii8620_setbits(ctx, REG_HTXCTRL, BIT_HTXCTRL_HTX_DRVCONN1, 0); + sii8620_setbits(ctx, REG_KEEPER, MSK_KEEPER_MODE, VAL_KEEPER_MODE_HOST); + sii8620_write_seq_static(ctx, + REG_TDMLLCTL, 0, + REG_UTSRST, BIT_UTSRST_HRX_SRST | BIT_UTSRST_HTX_SRST | + BIT_UTSRST_KEEPER_SRST | BIT_UTSRST_FC_SRST, + REG_UTSRST, BIT_UTSRST_HRX_SRST | BIT_UTSRST_HTX_SRST, + REG_HRXINTL, 0xff, + REG_HRXINTH, 0xff, + REG_TTXINTL, 0xff, + REG_TTXINTH, 0xff, + REG_TRXINTL, 0xff, + REG_TRXINTH, 0xff, + REG_HTXINTL, 0xff, + REG_HTXINTH, 0xff, + REG_FCINTR0, 0xff, + REG_FCINTR1, 0xff, + REG_FCINTR2, 0xff, + REG_FCINTR3, 0xff, + REG_FCINTR4, 0xff, + REG_FCINTR5, 0xff, + REG_FCINTR6, 0xff, + REG_FCINTR7, 0xff + ); +} + static void sii8620_edid_read(struct sii8620 *ctx, int ret) { if (ret < 0) return; sii8620_set_upstream_edid(ctx); + sii8620_hsic_init(ctx); sii8620_enable_hpd(ctx); } diff --git a/drivers/gpu/drm/bridge/sil-sii8620.h b/drivers/gpu/drm/bridge/sil-sii8620.h index c5a7c18..038d33e 100644 --- a/drivers/gpu/drm/bridge/sil-sii8620.h +++ b/drivers/gpu/drm/bridge/sil-sii8620.h @@ -353,7 +353,7 @@ #define REG_TTXNUMB 0x0116 #define MSK_TTXNUMB_TTX_AFFCTRL_3_0 0xf0 #define BIT_TTXNUMB_TTX_COM1_AT_SYNC_WAIT BIT(3) -#define MSK_TTXNUMB_TTX_NUMBPS_2_0 0x07 +#define MSK_TTXNUMB_TTX_NUMBPS 0x07 /* TDM TX NUMSPISYM, default value: 0x04 */ #define REG_TTXSPINUMS 0x0117 @@ -433,12 +433,14 @@ /* HSIC Keeper, default value: 0x00 */ #define REG_KEEPER 0x0181 -#define MSK_KEEPER_KEEPER_MODE_1_0 0x03 +#define MSK_KEEPER_MODE 0x03 +#define VAL_KEEPER_MODE_HOST 0 +#define VAL_KEEPER_MODE_DEVICE 2 /* HSIC Flow Control General, default value: 0x02 */ #define REG_FCGC 0x0183 -#define BIT_FCGC_HSIC_FC_HOSTMODE BIT(1) -#define BIT_FCGC_HSIC_FC_ENABLE BIT(0) +#define BIT_FCGC_HSIC_HOSTMODE BIT(1) +#define BIT_FCGC_HSIC_ENABLE BIT(0) /* HSIC Flow Control CTR13, default value: 0xfc */ #define REG_FCCTR13 0x0191