From mboxrd@z Thu Jan 1 00:00:00 1970 From: jsarha@ti.com (Jyri Sarha) Date: Thu, 1 Sep 2016 12:09:04 +0300 Subject: [PATCH v4 0/8] drm/tilcdc: Address LCDC rev 2 color errata + other fixes Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Changes since v3: - "drm/tilcdc: Write DMA base and ceiling address with single instruction" - Adjust comments, no functional changes - "drm/tilcdc: Add blue-and-red-crossed devicetree property" - Remove "default" from recognized property values - Clean up commit description - "ARM: dts: am335x-boneblack: Add blue-and-red-wiring -property to LCDC node" - Minor comment adjustmen Changes since v2: - Fiddle with color wiring propety once more, now it follows this Tomi's comment: - No property set: driver advertises RG16 and RG24. This is wrong, but that's what the current status is, right? - Property set to "default" or "straight" or whatever: driver says RG16 and BG24 - Property set to "crossed": driver says BG16 and RG24 - Add v2 version of "drm/tilcdc: Write DMA base and ceiling address with..." - The first version was sent individually, this second version has __iowmb(); and __cpu_to_le64(); added to tilcdc_write64() Changes since v1: - Change the blue-and-red-wiring property to boolean blue-and-red-crossed - This breaks to little backward compatibility the earlier series had, but makes the binding more straight forward - This changes requires changes to am335x-evm and am335x-evmsk dts-files - The old beaglebone-black dts files remain compatible, but the patch suggests in commenst on how to support 24-bit RGB mode with BBB The first patch ("drm/tilcdc: Remove drm_helper_disable_unused_functions() call") is completely independent fix. The red and blue components are reversed between 24 and 16 bit modes on am335x LCDC output pins. To get 24 RGB format the wires red and blue wires has to be crossed and this in turn causes 16 colors output to be in BGR format. With straight wiring the 16 color is RGB and 24 bit is BGR. These patches try to deal with the issue in reasonable manner. For more details see section 3.1.1 in AM335x Silicon Errata: http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprz360 Jyri Sarha (8): drm/tilcdc: Remove drm_helper_disable_unused_functions() call drm/tilcdc: Write DMA base and ceiling address with single instruction drm/tilcdc: Add blue-and-red-crossed devicetree property drm/tilcdc: Choose console BPP that supports RGB ARM: dts: am335x-boneblack: Add blue-and-red-wiring -property to LCDC node ARM: dts: am335x-evm: Add blue-and-red-wiring -property to lcdc node ARM: dts: am335x-evmsk: Whitespace cleanup of lcdc related nodes ARM: dts: am335x-evmsk: Add blue-and-red-wiring -property to lcdc node .../devicetree/bindings/display/tilcdc/tilcdc.txt | 22 +++++++++ arch/arm/boot/dts/am335x-boneblack.dts | 11 +++++ arch/arm/boot/dts/am335x-evm.dts | 2 + arch/arm/boot/dts/am335x-evmsk.dts | 42 ++++++++-------- drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 10 +++- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 57 +++++++++++++++++----- drivers/gpu/drm/tilcdc/tilcdc_drv.h | 5 +- drivers/gpu/drm/tilcdc/tilcdc_external.c | 7 ++- drivers/gpu/drm/tilcdc/tilcdc_external.h | 2 +- drivers/gpu/drm/tilcdc/tilcdc_panel.c | 2 - drivers/gpu/drm/tilcdc/tilcdc_plane.c | 9 ++-- drivers/gpu/drm/tilcdc/tilcdc_regs.h | 14 ++++++ drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 2 - 13 files changed, 136 insertions(+), 49 deletions(-) -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jyri Sarha Subject: [PATCH v4 0/8] drm/tilcdc: Address LCDC rev 2 color errata + other fixes Date: Thu, 1 Sep 2016 12:09:04 +0300 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, bcousson@baylibre.com, tony@atomide.com, linux-arm-kernel@lists.infradead.org Cc: Jyri Sarha , peter.ujfalusi@ti.com, tomi.valkeinen@ti.com, kbeldan@baylibre.com, laurent.pinchart@ideasonboard.com List-Id: devicetree@vger.kernel.org Q2hhbmdlcyBzaW5jZSB2MzoKLSAiZHJtL3RpbGNkYzogV3JpdGUgRE1BIGJhc2UgYW5kIGNlaWxp bmcgYWRkcmVzcyB3aXRoIHNpbmdsZSBpbnN0cnVjdGlvbiIKICAtIEFkanVzdCBjb21tZW50cywg bm8gZnVuY3Rpb25hbCBjaGFuZ2VzCi0gImRybS90aWxjZGM6IEFkZCBibHVlLWFuZC1yZWQtY3Jv c3NlZCBkZXZpY2V0cmVlIHByb3BlcnR5IgogIC0gUmVtb3ZlICJkZWZhdWx0IiBmcm9tIHJlY29n bml6ZWQgcHJvcGVydHkgdmFsdWVzCiAgLSBDbGVhbiB1cCBjb21taXQgZGVzY3JpcHRpb24KLSAi QVJNOiBkdHM6IGFtMzM1eC1ib25lYmxhY2s6IEFkZCBibHVlLWFuZC1yZWQtd2lyaW5nIC1wcm9w ZXJ0eSB0byBMQ0RDIG5vZGUiCiAgLSBNaW5vciBjb21tZW50IGFkanVzdG1lbiAKCkNoYW5nZXMg c2luY2UgdjI6Ci0gRmlkZGxlIHdpdGggY29sb3Igd2lyaW5nIHByb3BldHkgb25jZSBtb3JlLCBu b3cgaXQgZm9sbG93cyB0aGlzIFRvbWkncwogIGNvbW1lbnQ6CiAgLSBObyBwcm9wZXJ0eSBzZXQ6 IGRyaXZlciBhZHZlcnRpc2VzIFJHMTYgYW5kIFJHMjQuIFRoaXMgaXMKICAgIHdyb25nLCBidXQg dGhhdCdzIHdoYXQgdGhlIGN1cnJlbnQgc3RhdHVzIGlzLCByaWdodD8KICAtIFByb3BlcnR5IHNl dCB0byAiZGVmYXVsdCIgb3IgInN0cmFpZ2h0IiBvciB3aGF0ZXZlcjogZHJpdmVyCiAgICBzYXlz IFJHMTYgYW5kIEJHMjQKICAtIFByb3BlcnR5IHNldCB0byAiY3Jvc3NlZCI6IGRyaXZlciBzYXlz IEJHMTYgYW5kIFJHMjQKLSBBZGQgdjIgdmVyc2lvbiBvZiAiZHJtL3RpbGNkYzogV3JpdGUgRE1B IGJhc2UgYW5kIGNlaWxpbmcgYWRkcmVzcyB3aXRoLi4uIgogIC0gVGhlIGZpcnN0IHZlcnNpb24g d2FzIHNlbnQgaW5kaXZpZHVhbGx5LCB0aGlzIHNlY29uZCB2ZXJzaW9uIGhhcwogICAgX19pb3dt YigpOyBhbmQgX19jcHVfdG9fbGU2NCgpOyBhZGRlZCB0byB0aWxjZGNfd3JpdGU2NCgpCgpDaGFu Z2VzIHNpbmNlIHYxOgotIENoYW5nZSB0aGUgYmx1ZS1hbmQtcmVkLXdpcmluZyBwcm9wZXJ0eSB0 byBib29sZWFuIGJsdWUtYW5kLXJlZC1jcm9zc2VkCiAgLSBUaGlzIGJyZWFrcyB0byBsaXR0bGUg YmFja3dhcmQgY29tcGF0aWJpbGl0eSB0aGUgZWFybGllciBzZXJpZXMgaGFkLCBidXQKICAgIG1h a2VzIHRoZSBiaW5kaW5nIG1vcmUgc3RyYWlnaHQgZm9yd2FyZAogIC0gVGhpcyBjaGFuZ2VzIHJl cXVpcmVzIGNoYW5nZXMgdG8gYW0zMzV4LWV2bSBhbmQgYW0zMzV4LWV2bXNrIGR0cy1maWxlcwog IC0gVGhlIG9sZCBiZWFnbGVib25lLWJsYWNrIGR0cyBmaWxlcyByZW1haW4gY29tcGF0aWJsZSwg YnV0IHRoZSBwYXRjaAogICAgc3VnZ2VzdHMgaW4gY29tbWVuc3Qgb24gaG93IHRvIHN1cHBvcnQg MjQtYml0IFJHQiBtb2RlIHdpdGggQkJCCgpUaGUgZmlyc3QgcGF0Y2ggKCJkcm0vdGlsY2RjOiBS ZW1vdmUgZHJtX2hlbHBlcl9kaXNhYmxlX3VudXNlZF9mdW5jdGlvbnMoKQpjYWxsIikgaXMgY29t cGxldGVseSBpbmRlcGVuZGVudCBmaXguCgpUaGUgcmVkIGFuZCBibHVlIGNvbXBvbmVudHMgYXJl IHJldmVyc2VkIGJldHdlZW4gMjQgYW5kIDE2IGJpdCBtb2RlcwpvbiBhbTMzNXggTENEQyBvdXRw dXQgcGlucy4gVG8gZ2V0IDI0IFJHQiBmb3JtYXQgdGhlIHdpcmVzIHJlZCBhbmQKYmx1ZSB3aXJl cyBoYXMgdG8gYmUgY3Jvc3NlZCBhbmQgdGhpcyBpbiB0dXJuIGNhdXNlcyAxNiBjb2xvcnMgb3V0 cHV0CnRvIGJlIGluIEJHUiBmb3JtYXQuIFdpdGggc3RyYWlnaHQgd2lyaW5nIHRoZSAxNiBjb2xv ciBpcyBSR0IgYW5kIDI0CmJpdCBpcyBCR1IuIFRoZXNlIHBhdGNoZXMgdHJ5IHRvIGRlYWwgd2l0 aCB0aGUgaXNzdWUgaW4gcmVhc29uYWJsZQptYW5uZXIuCgpGb3IgbW9yZSBkZXRhaWxzIHNlZSBz ZWN0aW9uIDMuMS4xIGluIEFNMzM1eCBTaWxpY29uIEVycmF0YToKaHR0cDovL3d3dy50aS5jb20v Z2VuZXJhbC9kb2NzL2xpdC9nZXRsaXRlcmF0dXJlLnRzcD9iYXNlTGl0ZXJhdHVyZU51bWJlcj1z cHJ6MzYwCgpKeXJpIFNhcmhhICg4KToKICBkcm0vdGlsY2RjOiBSZW1vdmUgZHJtX2hlbHBlcl9k aXNhYmxlX3VudXNlZF9mdW5jdGlvbnMoKSBjYWxsCiAgZHJtL3RpbGNkYzogV3JpdGUgRE1BIGJh c2UgYW5kIGNlaWxpbmcgYWRkcmVzcyB3aXRoIHNpbmdsZSBpbnN0cnVjdGlvbgogIGRybS90aWxj ZGM6IEFkZCBibHVlLWFuZC1yZWQtY3Jvc3NlZCBkZXZpY2V0cmVlIHByb3BlcnR5CiAgZHJtL3Rp bGNkYzogQ2hvb3NlIGNvbnNvbGUgQlBQIHRoYXQgc3VwcG9ydHMgUkdCCiAgQVJNOiBkdHM6IGFt MzM1eC1ib25lYmxhY2s6IEFkZCBibHVlLWFuZC1yZWQtd2lyaW5nIC1wcm9wZXJ0eSB0byBMQ0RD CiAgICBub2RlCiAgQVJNOiBkdHM6IGFtMzM1eC1ldm06IEFkZCBibHVlLWFuZC1yZWQtd2lyaW5n IC1wcm9wZXJ0eSB0byBsY2RjIG5vZGUKICBBUk06IGR0czogYW0zMzV4LWV2bXNrOiBXaGl0ZXNw YWNlIGNsZWFudXAgb2YgbGNkYyByZWxhdGVkIG5vZGVzCiAgQVJNOiBkdHM6IGFtMzM1eC1ldm1z azogQWRkIGJsdWUtYW5kLXJlZC13aXJpbmcgLXByb3BlcnR5IHRvIGxjZGMgbm9kZQoKIC4uLi9k ZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvdGlsY2RjL3RpbGNkYy50eHQgIHwgMjIgKysrKysr KysrCiBhcmNoL2FybS9ib290L2R0cy9hbTMzNXgtYm9uZWJsYWNrLmR0cyAgICAgICAgICAgICB8 IDExICsrKysrCiBhcmNoL2FybS9ib290L2R0cy9hbTMzNXgtZXZtLmR0cyAgICAgICAgICAgICAg ICAgICB8ICAyICsKIGFyY2gvYXJtL2Jvb3QvZHRzL2FtMzM1eC1ldm1zay5kdHMgICAgICAgICAg ICAgICAgIHwgNDIgKysrKysrKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxj ZGNfY3J0Yy5jICAgICAgICAgICAgICAgfCAxMCArKystCiBkcml2ZXJzL2dwdS9kcm0vdGlsY2Rj L3RpbGNkY19kcnYuYyAgICAgICAgICAgICAgICB8IDU3ICsrKysrKysrKysrKysrKysrLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX2Rydi5oICAgICAgICAgICAgICAgIHwgIDUg Ky0KIGRyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX2V4dGVybmFsLmMgICAgICAgICAgIHwg IDcgKystCiBkcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19leHRlcm5hbC5oICAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19wYW5lbC5jICAgICAgICAg ICAgICB8ICAyIC0KIGRyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX3BsYW5lLmMgICAgICAg ICAgICAgIHwgIDkgKystLQogZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfcmVncy5oICAg ICAgICAgICAgICAgfCAxNCArKysrKysKIGRyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX3Rm cDQxMC5jICAgICAgICAgICAgIHwgIDIgLQogMTMgZmlsZXMgY2hhbmdlZCwgMTM2IGluc2VydGlv bnMoKyksIDQ5IGRlbGV0aW9ucygtKQoKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK