From patchwork Thu Oct 20 10:29:49 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sekhar Nori X-Patchwork-Id: 9386533 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 6BDA0607D0 for ; Thu, 20 Oct 2016 10:32:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5AF8529300 for ; Thu, 20 Oct 2016 10:32:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4F44829308; Thu, 20 Oct 2016 10:32:21 +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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C9A1529300 for ; Thu, 20 Oct 2016 10:32:19 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bxAcW-0003ne-Up; Thu, 20 Oct 2016 10:30:44 +0000 Received: from bear.ext.ti.com ([198.47.19.11]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bxAcO-000363-IL for linux-arm-kernel@lists.infradead.org; Thu, 20 Oct 2016 10:30:40 +0000 Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by bear.ext.ti.com (8.13.7/8.13.7) with ESMTP id u9KATvNt017931; Thu, 20 Oct 2016 05:29:57 -0500 Received: from DLEE70.ent.ti.com (dlemailx.itg.ti.com [157.170.170.113]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id u9KATvxA022811; Thu, 20 Oct 2016 05:29:57 -0500 Received: from dlep32.itg.ti.com (157.170.170.100) by DLEE70.ent.ti.com (157.170.170.113) with Microsoft SMTP Server id 14.3.294.0; Thu, 20 Oct 2016 05:29:56 -0500 Received: from [172.24.190.171] (ileax41-snat.itg.ti.com [10.172.224.153]) by dlep32.itg.ti.com (8.14.3/8.13.8) with ESMTP id u9KATnQ5016932; Thu, 20 Oct 2016 05:29:50 -0500 Subject: Re: [PATCH 2/2] ARM: dts: da850: add a node for the LCD controller To: Tomi Valkeinen , Bartosz Golaszewski References: <1475672732-17111-1-git-send-email-bgolaszewski@baylibre.com> <65fde145-0820-794d-d345-621f66cdacc0@ti.com> <7a2ffcd0-fe1d-c887-53b7-7cb5e1e61222@ti.com> <4975084.EGQPv58AK6@avalon> <6c6fcceb-c6f2-219d-492a-a8b38fd83093@ti.com> From: Sekhar Nori Message-ID: <5b76ed89-cb1a-8ab2-bfbd-0a7bcf80de33@ti.com> Date: Thu, 20 Oct 2016 15:59:49 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20161020_033036_958394_8D871E59 X-CRM114-Status: GOOD ( 19.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Karl Beldan , linux-devicetree , David Airlie , Kevin Hilman , Michael Turquette , Jyri Sarha , Russell King , linux-drm , LKML , Rob Herring , Karl Beldan , Laurent Pinchart , Maxime Ripard , Frank Rowand , arm-soc Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP On Thursday 20 October 2016 03:51 PM, Tomi Valkeinen wrote: > On 20/10/16 13:07, Sekhar Nori wrote: > >> Per me, compatible property is an ordered list precisely for the reason >> that things should continue to "work" with as closely matched driver as >> possible. So even if someone is running a kernel which does not >> recognize "ti,da850-tilcdc", it should still be able to probe the driver >> based on "ti,am33xx-tilcdc" and provide as close to full functionality >> as possible. >> >> That said, I will not insist on keeping it around if Tomi is >> uncomfortable. And having read the binding documentation accepted by >> Jyri, it actually says the compatible property should be __one of__ >> "ti,am33xx-tilcdc" or "ti,da850-tilcdc". > > Well, they are just not compatible as far as I know. If the LCDC on > DA850 would be identified as AM335x LCDC, and used as such, it would not > work at all. They have different registers, AM335x LCDC has registers > that do not exist on DA850. > > With our driver it happens to work, because the driver looks at the IP > revision in the registers, and then decides that this IP is not AM335x > LCDC even if the dts says so. But I see that as a driver "feature", > nothing that the .dts can depend on. > > Perhaps it might work the other way around, using DA850 driver on > AM335x, as DA850 LCDC is a kind of subset of AM335x LCDC. But I'm not > sure even about that. Alright, thanks for the detailed explanation. I dropped the "ti,am33xx- tilcdc" from the list and here is the updated patch I am queuing for reference. Thanks, Sekhar --8<-- Author: Karl Beldan AuthorDate: Wed Oct 5 15:05:32 2016 +0200 Commit: Sekhar Nori CommitDate: Thu Oct 20 15:57:21 2016 +0530 ARM: dts: da850: add a node for the LCD controller Add pins used by the LCD controller and a disabled LCDC node to be reused in device trees including da850.dtsi. Signed-off-by: Karl Beldan [Bartosz: - added the commit description - changed the dt node name to a generic one - added a da850-specific compatible string - removed the tilcdc,panel node - moved the pins definitions to da850.dtsi as suggested by Sekhar Nori (was in: da850-lcdk.dts)] Signed-off-by: Bartosz Golaszewski [nsekhar@ti.com: fix compatible property and remove interrupt-parent] Signed-off-by: Sekhar Nori diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi index f79e1b91c680..901d5c98d5f0 100644 --- a/arch/arm/boot/dts/da850.dtsi +++ b/arch/arm/boot/dts/da850.dtsi @@ -186,6 +186,27 @@ 0xc 0x88888888 0xffffffff >; }; + lcd_pins: pinmux_lcd_pins { + pinctrl-single,bits = < + /* + * LCD_D[2], LCD_D[3], LCD_D[4], LCD_D[5], + * LCD_D[6], LCD_D[7] + */ + 0x40 0x22222200 0xffffff00 + /* + * LCD_D[10], LCD_D[11], LCD_D[12], LCD_D[13], + * LCD_D[14], LCD_D[15], LCD_D[0], LCD_D[1] + */ + 0x44 0x22222222 0xffffffff + /* LCD_D[8], LCD_D[9] */ + 0x48 0x00000022 0x000000ff + + /* LCD_PCLK */ + 0x48 0x02000000 0x0f000000 + /* LCD_AC_ENB_CS, LCD_VSYNC, LCD_HSYNC */ + 0x4c 0x02000022 0x0f0000ff + >; + }; }; edma0: edma@0 { @@ -399,6 +420,13 @@ <&edma0 0 1>; dma-names = "tx", "rx"; }; + + display: display@213000 { + compatible = "ti,da850-tilcdc"; + reg = <0x213000 0x1000>; + interrupts = <52>; + status = "disabled"; + }; }; aemif: aemif@68000000 { compatible = "ti,da850-aemif";