From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sakari Ailus Subject: [PATCH v3 00/23] V4L2 fwnode rework; support for default configuration Date: Thu, 13 Sep 2018 00:29:19 +0300 Message-ID: <20180912212942.19641-1-sakari.ailus@linux.intel.com> 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: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, jacopo@jmondi.org, dri-devel@lists.freedesktop.org, slongerbeam@gmail.com, niklas.soderlund@ragnatech.se List-Id: devicetree@vger.kernel.org SGVsbG8gZXZlcnlvbmUsCgpJJ3ZlIGxvbmcgdGhvdWdodCB0aGUgVjRMMiBmd25vZGUgZnJhbWV3 b3JrIHJlcXVpcmVzIHNvbWUgd29yayAoaXQncyBidWdneQphbmQgaXQgZG9lcyBub3QgYWRlcXVh dGVseSBzZXJ2ZSBjb21tb24gbmVlZHMpLiBUaGlzIHNldCBzaG91bGQgYWRkcmVzcyBpbgpwYXJ0 aWN1bGFyIHRoZXNlIG1hdHRlcnM6CgotIE1vc3QgZGV2aWNlcyBzdXBwb3J0IGEgcGFydGljdWxh ciBtZWRpYSBidXMgdHlwZSBidXQgdGhlIFY0TDIgZndub2RlCiAgZnJhbWV3b3JrIHdhcyBub3Qg YWJsZSB0byB1c2Ugc3VjaCBpbmZvcm1hdGlvbiwgYnV0IGluc3RlYWQgdHJpZWQgdG8KICBndWVz cyB0aGUgYnVzIHR5cGUgd2l0aCB2YXJ5aW5nIGxldmVscyBvZiBzdWNjZXNzIHdoaWxlIGRyaXZl cnMKICBnZW5lcmFsbHkgaWdub3JlZCB0aGUgcmVzdWx0cy4gVGhpcyBwYXRjaHNldCBtYWtlcyB0 aGF0IHBvc3NpYmxlIC0tLQogIHNldHRpbmcgYSBidXMgdHlwZSBlbmFibGVzIHBhcnNpbmcgY29u ZmlndXJhdGlvbiBmb3Igb25seSB0aGF0IGJ1cy4KICBGYWlsaW5nIHRoYXQgY2hlY2sgcmVzdWx0 cyBpbiByZXR1cm5pbmcgLUVOWElPIHRvIGJlIHJldHVybmVkLgoKLSBTdXBwb3J0IHNwZWNpZnlp bmcgZGVmYXVsdCBjb25maWd1cmF0aW9uLiBJZiB0aGUgZW5kcG9pbnQgaGFzIG5vCiAgY29uZmln dXJhdGlvbiwgdGhlIGRlZmF1bHRzIHNldCBieSB0aGUgZHJpdmVyIChhcyBkb2N1bWVudGVkIGlu IERUCiAgYmluZGluZ3MpIHdpbGwgcHJldmFpbC4gQW55IGF2YWlsYWJsZSBjb25maWd1cmF0aW9u IHdpbGwgc3RpbGwgYmUgcmVhZAogIGZyb20gdGhlIGVuZHBvaW50IGFzIG9uZSBjb3VsZCBleHBl Y3QuIEEgY29tbW9uIHVzZSBjYXNlIGZvciB0aGlzIGlzCiAgZS5nLiB0aGUgbnVtYmVyIG9mIENT SS0yIGxhbmVzLiBGZXcgZGV2aWNlcyBzdXBwb3J0IGxhbmUgbWFwcGluZywgYW5kCiAgZGVmYXVs dCAxOjEgbWFwcGluZyBpcyBwcm92aWRlZCBpbiBhYnNlbmNlIG9mIGEgdmFsaWQgZGVmYXVsdCBv cgogIGNvbmZpZ3VyYXRpb24gcmVhZCBPRi4KCi0gRGVidWdnaW5nIGluZm9ybWF0aW9uIGlzIGdy ZWF0bHkgaW1wcm92ZWQuCgotIFJlY29nbml0aW9uIG9mIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVu IENTSS0yIEQtUEhZIGFuZCBDLVBIWS4gQWxsCiAgY3VycmVudGx5IHN1cHBvcnRlZCBoYXJkd2Fy ZSAob3IgYXQgbGVhc3QgZHJpdmVycykgaXMgRC1QSFkgb25seSwgc28KICB0aGlzIGNoYW5nZSBp cyBzdGlsbCBlYXN5LgoKVGhlIHNtaWFwcCBkcml2ZXIgaXMgY29udmVydGVkIHRvIHVzZSB0aGUg bmV3IGZ1bmN0aW9uYWxpdHkuIFRoaXMgcGF0Y2hzZXQKZG9lcyBub3QgYWRkcmVzcyByZW1haW5p bmcgaXNzdWVzIHN1Y2ggYXMgc3VwcG9ydGluZyBzZXR0aW5nIGRlZmF1bHRzIGZvcgplLmcuIGJy aWRnZSBkcml2ZXJzIHdpdGggbXVsdGlwbGUgcG9ydHMsIGJ1dCB3aXRoIFN0ZXZlIExvbmdlcmJl YW0ncwpwYXRjaHNldCB3ZSdyZSBtdWNoIGNsb3NlciB0byB0aGF0IGdvYWwuIEkndmUgcmViYXNl ZCB0aGlzIHNldCBvbiB0b3Agb2YKU3RldmUncy4gQWxiZWl0IHRoZSB0d28gZGVhbCB3aXRoIHRo ZSBzYW1lIGZpbGVzLCB0aGVyZSB3ZXJlIG9ubHkgYSBmZXcKdHJpdmlhbCBjb25mbGljdHMuCgpO b3RlIHRoYXQgSSd2ZSBvbmx5IHRlc3RlZCBwYXJzaW5nIGVuZHBvaW50cyBmb3IgdGhlIENTSS0y IGJ1cyAobm8KcGFyYWxsZWwgSUYgaGFyZHdhcmUpLiBKYWNvcG8gaGFzIHRlc3RlZCBhbiBlYXJs aWVyIHZlcnNpb24gb2YgdGhlIHNldAp3aXRoIGEgZmV3IGNoYW5nZXMgdG8gdGhlIHBhcmFsbGVs IGJ1cyBoYW5kbGluZyBjb21wYXJlZCB0byB0aGlzIG9uZS4KCkNvbW1lbnRzIGFyZSB3ZWxjb21l LgoKSSd2ZSBwdXNoZWQgdGhlIHBhdGNoZXMgKGluY2x1ZGluZyBTdGV2ZSdzKSBoZXJlOgoKPFVS TDpodHRwczovL2dpdC5saW51eHR2Lm9yZy9zYWlsdXMvbWVkaWFfdHJlZS5naXQvbG9nLz9oPXY0 bDItZndub2RlLW5leHQ+CgpzaW5jZSB2MToKCi0gUmViYXNlIGl0IGFsbCBvbiBjdXJyZW50IG1l ZGlhIHRyZWUgbWFzdGVyIC0tLSB0aGVyZSB3YXMgYSBjb25mbGljdCBpbgogIGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vcWNvbS9jYW1zcy9jYW1zcy5jIGluIFN0ZXZlJ3MgcGF0Y2ggIm1lZGlhOgog IHBsYXRmb3JtOiBTd2l0Y2ggdG8gdjRsMl9hc3luY19ub3RpZmllcl9hZGRfc3ViZGV2IjsgSSBo b3BlIHRoZQogIHJlc29sdXRpb24gd2FzIGZpbmUuCgotIERlZmF1bHQgdG8gQnQuNjU2IGJ1cyBp biBndWVzc2luZyB0aGUgYnVzIHR5cGUgaWYgbm8gcHJvcGVydGllcwogIHN1Z2dlc3Rpbmcgb3Ro ZXJ3aXNlIGFyZSBzZXQuIEluIHYxIGFuZCBlcnJvciB3YXMgcmV0dXJuZWQsIHdoaWNoIHdvdWxk CiAgaGF2ZSBiZWVuIHRyb3VibGVzb21lIGZvciB0aGUgZXhpc3RpbmcgZHJpdmVycy4KCi0gU2V0 IHRoZSBidXNfdHlwZSBmaWVsZCB0byB6ZXJvIChpLmUuIGd1ZXNzKSBmb3IgZXhpc3RpbmcgY2Fs bGVycyBvZgogIHY0bDJfZndub2RlX2VuZHBvaW50XyhhbGxvY18pcGFyc2UuCgotIEltcHJvdmVk IGRvY3VtZW50YXRpb24gZm9yIHY0bDJfZndub2RlX2VuZHBvaW50X3BhcnNlIGFuZAogIHY0bDJf Zndub2RlX2VuZHBvaW50X2FsbG9jX3BhcnNlLgoKc2luY2UgdjI6CgotIFJlbmFtZSBWNEwyX01C VVNfQ1NJMiB0byBWNEwyX01CVVNfQ1NJMl9EUEhZIGFsc28gaW4KICBkcml2ZXJzL2dwdS9pcHUt djMvaXB1LWNzaS5jLgoKLSBVc2UgMCBpbnN0ZWFkIG9mIFY0TDJfTUJVU19VTktOT1dOIGluCiAg djRsMl9hc3luY19ub3RpZmllcl9md25vZGVfcGFyc2VfZW5kcG9pbnQoKS4gVGhpcyBpcyBwYXJ0 aWFsbHkgZHVlIHRvCiAgVjRMMl9NQlVTX1VOS05PV04gYmVpbmcgaW50cm9kdWNlZCBhZnRlciB0 aGUgY2hhbmdlIGlzIGRvbmUuCgotIEluaXRpYWxpc2UgYnVzX3R5cGUgdG8gemVybyBpbiBxdWl0 ZSBhIGZldyBWNEwyIGZ3bm9kZSBlbmRwb2ludHMgaW4KICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEv aW14L2lteC1tZWRpYS1jc2kuYyAodGhhbmtzIHRvIFN0ZXZlIGZvciB0aGUKICBjaGFuZ2VzKS4K ClNha2FyaSBBaWx1cyAoMjMpOgogIHY0bDogZndub2RlOiBBZGQgZGVidWcgcHJpbnRzIGZvciBW NEwyIGVuZHBvaW50IHByb3BlcnR5IHBhcnNpbmcKICB2NGw6IGZ3bm9kZTogVXNlIGZ3bm9kZV9n cmFwaF9mb3JfZWFjaF9lbmRwb2ludAogIHY0bDogZndub2RlOiBUaGUgQ1NJLTIgY2xvY2sgaXMg Y29udGludW91cyBpZiBpdCdzIG5vdCBub24tY29udGludW91cwogIGR0LWJpbmRpbmdzOiBtZWRp YTogU3BlY2lmeSBidXMgdHlwZSBmb3IgTUlQSSBELVBIWSwgb3RoZXJzLAogICAgZXhwbGljaXRs eQogIHY0bDogZndub2RlOiBBZGQgZGVmaW5pdGlvbnMgZm9yIENTSS0yIEQtUEhZLCBwYXJhbGxl bCBhbmQgQnQuNjU2CiAgICBidXNzZXMKICB2NGw6IG1lZGlhYnVzOiBSZWNvZ25pc2UgQ1NJLTIg RC1QSFkgYW5kIEMtUEhZCiAgdjRsOiBmd25vZGU6IExldCB0aGUgY2FsbGVyIHByb3ZpZGUgVjRM MiBmd25vZGUgZW5kcG9pbnQKICB2NGw6IGZ3bm9kZTogRGV0ZWN0IGJ1cyB0eXBlIGNvcnJlY3Rs eQogIHY0bDogZndub2RlOiBNYWtlIHVzZSBvZiBuZXdseSBzcGVjaWZpZWQgYnVzIHR5cGVzCiAg djRsOiBmd25vZGU6IFJlYWQgbGFuZSBpbnZlcnNpb24gaW5mb3JtYXRpb24gZGVzcGl0ZSBsYW5l IG51bWJlcmluZwogIHY0bDogZndub2RlOiBPbmx5IGFzc2lnbiBjb25maWd1cmF0aW9uIGlmIHRo ZXJlIGlzIG5vIGVycm9yCiAgdjRsOiBmd25vZGU6IFN1cHBvcnQgZHJpdmVyLWRlZmluZWQgbGFu ZSBtYXBwaW5nIGRlZmF1bHRzCiAgdjRsOiBmd25vZGU6IFN1cHBvcnQgZGVmYXVsdCBDU0ktMiBs YW5lIG1hcHBpbmcgZm9yIGRyaXZlcnMKICB2NGw6IGZ3bm9kZTogUGFyc2UgdGhlIGdyYXBoIGVu ZHBvaW50IGFzIGxhc3QKICB2NGw6IGZ3bm9kZTogVXNlIGRlZmF1bHQgcGFyYWxsZWwgZmxhZ3MK ICB2NGw6IGZ3bm9kZTogSW5pdGlhbGlzZSB0aGUgVjRMMiBmd25vZGUgZW5kcG9pbnRzIHRvIHpl cm8KICB2NGw6IGZ3bm9kZTogT25seSB6ZXJvIHRoZSBzdHJ1Y3QgaWYgYnVzIHR5cGUgaXMgc2V0 IHRvCiAgICBWNEwyX01CVVNfVU5LTk9XTgogIHY0bDogZndub2RlOiBVc2UgbWVkaWEgYnVzIHR5 cGUgZm9yIGJ1cyBwYXJzZXIgc2VsZWN0aW9uCiAgdjRsOiBmd25vZGU6IFByaW50IGJ1cyB0eXBl CiAgdjRsOiBmd25vZGU6IFVzZSBWNEwyIGZ3bm9kZSBlbmRwb2ludCBtZWRpYSBidXMgdHlwZSBp ZiBzZXQKICB2NGw6IGZ3bm9kZTogU3VwcG9ydCBwYXJzaW5nIG9mIENTSS0yIEMtUEhZIGVuZHBv aW50cwogIHY0bDogZndub2RlOiBVcGRhdGUgVjRMMiBmd25vZGUgZW5kcG9pbnQgcGFyc2luZyBk b2N1bWVudGF0aW9uCiAgc21pYXBwOiBRdWVyeSB0aGUgVjRMMiBlbmRwb2ludCBmb3IgYSBzcGVj aWZpYyBidXMgdHlwZQoKIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL21lZGlhL3ZpZGVvLWludGVy ZmFjZXMudHh0IHwgICA0ICstCiBkcml2ZXJzL2dwdS9pcHUtdjMvaXB1LWNzaS5jICAgICAgICAg ICAgICAgICAgICAgICB8ICAgNiArLQogZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE4MC5jICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvbWVkaWEvaTJjL2Fkdjc2MDQuYyAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBkcml2ZXJzL21lZGlhL2kyYy9tdDl2MDMy LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogZHJpdmVycy9tZWRpYS9pMmMvb3Yy NjU5LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTQgKy0KIGRyaXZlcnMvbWVkaWEvaTJj L292NTY0MC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICstCiBkcml2ZXJzL21lZGlh L2kyYy9vdjU2NDUuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogZHJpdmVycy9t ZWRpYS9pMmMvb3Y1NjQ3LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZl cnMvbWVkaWEvaTJjL292NzI1MS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICstCiBk cml2ZXJzL21lZGlhL2kyYy9vdjc2NzAuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAr LQogZHJpdmVycy9tZWRpYS9pMmMvczVjNzNtMy9zNWM3M20zLWNvcmUuYyAgICAgICAgICAgfCAg IDQgKy0KIGRyaXZlcnMvbWVkaWEvaTJjL3M1azViYWYuYyAgICAgICAgICAgICAgICAgICAgICAg IHwgICA2ICstCiBkcml2ZXJzL21lZGlhL2kyYy9zNWs2YWEuYyAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMiArLQogZHJpdmVycy9tZWRpYS9pMmMvc21pYXBwL3NtaWFwcC1jb3JlLmMgICAg ICAgICAgICAgfCAgMzQgKy0KIGRyaXZlcnMvbWVkaWEvaTJjL3NvY19jYW1lcmEvb3Y1NjQyLmMg ICAgICAgICAgICAgIHwgICAyICstCiBkcml2ZXJzL21lZGlhL2kyYy90YzM1ODc0My5jICAgICAg ICAgICAgICAgICAgICAgICB8ICAyOCArLQogZHJpdmVycy9tZWRpYS9pMmMvdGRhMTk5N3guYyAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvbWVkaWEvaTJjL3R2cDUxNHgu YyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBkcml2ZXJzL21lZGlhL2kyYy90dnA1 MTUwLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogZHJpdmVycy9tZWRpYS9pMmMv dHZwNzAwMi5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvbWVkaWEv cGNpL2ludGVsL2lwdTMvaXB1My1jaW8yLmMgICAgICAgICAgIHwgICAyICstCiBkcml2ZXJzL21l ZGlhL3BsYXRmb3JtL2FtNDM3eC9hbTQzN3gtdnBmZS5jICAgICAgICB8ICAgMiArLQogZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MuYyAgICAgICAgICAgfCAgIDMgKy0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNpLmMgICAgICAgICAgIHwgICAyICst CiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NhZGVuY2UvY2Rucy1jc2kycnguYyAgICAgICB8ICAg NCArLQogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9jYWRlbmNlL2NkbnMtY3NpMnR4LmMgICAgICAg fCAgIDQgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZGF2aW5jaS92cGlmX2NhcHR1cmUuYyAg ICAgIHwgICAyICstCiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWVkaWEtZGV2 LmMgICAgICB8ICAgMiArLQogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL21pcGkt Y3Npcy5jICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbWFydmVsbC1jY2lj L21jYW0tY29yZS5jICAgIHwgICA0ICstCiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwt Y2NpYy9tbXAtZHJpdmVyLmMgICB8ICAgMiArLQogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFw M2lzcC9pc3AuYyAgICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0v cHhhX2NhbWVyYS5jICAgICAgICAgICAgICAgIHwgICA0ICstCiBkcml2ZXJzL21lZGlhL3BsYXRm b3JtL3JjYXItdmluL3JjYXItY3NpMi5jICAgICAgICB8ICAgNCArLQogZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9yZW5lc2FzLWNldS5jICAgICAgICAgICAgICAgfCAgIDMgKy0KIGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vc29jX2NhbWVyYS9zb2NfbWVkaWFidXMuYyAgIHwgICAyICstCiBkcml2ZXJz L21lZGlhL3BsYXRmb3JtL3N0bTMyL3N0bTMyLWRjbWkuYyAgICAgICAgICB8ICAgNCArLQogZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS90aS12cGUvY2FsLmMgICAgICAgICAgICAgICAgfCAgIDIgKy0K IGRyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItZndub2RlLmMgICAgICAgICAgICAgIHwgNTA4 ICsrKysrKysrKysrKysrKystLS0tLQogZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteC9pbXgtbWVk aWEtY3NpLmMgICAgICAgICAgfCAgMTAgKy0KIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9pbXgvaW14 Ni1taXBpLWNzaTIuYyAgICAgICAgIHwgICAyICstCiBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaW14 MDc0L2lteDA3NC5jICAgICAgICAgICAgICB8ICAgMiArLQogaW5jbHVkZS9tZWRpYS92NGwyLWZ3 bm9kZS5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgNjAgKystCiBpbmNsdWRlL21lZGlhL3Y0 bDItbWVkaWFidXMuaCAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArLQogNDUgZmlsZXMgY2hh bmdlZCwgNTQyIGluc2VydGlvbnMoKyksIDIyNiBkZWxldGlvbnMoLSkKCi0tIAoyLjExLjAKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:40824 "EHLO hillosipuli.retiisi.org.uk" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727007AbeIMCgI (ORCPT ); Wed, 12 Sep 2018 22:36:08 -0400 From: Sakari Ailus To: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, slongerbeam@gmail.com, niklas.soderlund@ragnatech.se, jacopo@jmondi.org, p.zabel@pengutronix.de, dri-devel@lists.freedesktop.org Subject: [PATCH v3 00/23] V4L2 fwnode rework; support for default configuration Date: Thu, 13 Sep 2018 00:29:19 +0300 Message-Id: <20180912212942.19641-1-sakari.ailus@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-media-owner@vger.kernel.org List-ID: Hello everyone, I've long thought the V4L2 fwnode framework requires some work (it's buggy and it does not adequately serve common needs). This set should address in particular these matters: - Most devices support a particular media bus type but the V4L2 fwnode framework was not able to use such information, but instead tried to guess the bus type with varying levels of success while drivers generally ignored the results. This patchset makes that possible --- setting a bus type enables parsing configuration for only that bus. Failing that check results in returning -ENXIO to be returned. - Support specifying default configuration. If the endpoint has no configuration, the defaults set by the driver (as documented in DT bindings) will prevail. Any available configuration will still be read from the endpoint as one could expect. A common use case for this is e.g. the number of CSI-2 lanes. Few devices support lane mapping, and default 1:1 mapping is provided in absence of a valid default or configuration read OF. - Debugging information is greatly improved. - Recognition of the differences between CSI-2 D-PHY and C-PHY. All currently supported hardware (or at least drivers) is D-PHY only, so this change is still easy. The smiapp driver is converted to use the new functionality. This patchset does not address remaining issues such as supporting setting defaults for e.g. bridge drivers with multiple ports, but with Steve Longerbeam's patchset we're much closer to that goal. I've rebased this set on top of Steve's. Albeit the two deal with the same files, there were only a few trivial conflicts. Note that I've only tested parsing endpoints for the CSI-2 bus (no parallel IF hardware). Jacopo has tested an earlier version of the set with a few changes to the parallel bus handling compared to this one. Comments are welcome. I've pushed the patches (including Steve's) here: since v1: - Rebase it all on current media tree master --- there was a conflict in drivers/media/platform/qcom/camss/camss.c in Steve's patch "media: platform: Switch to v4l2_async_notifier_add_subdev"; I hope the resolution was fine. - Default to Bt.656 bus in guessing the bus type if no properties suggesting otherwise are set. In v1 and error was returned, which would have been troublesome for the existing drivers. - Set the bus_type field to zero (i.e. guess) for existing callers of v4l2_fwnode_endpoint_(alloc_)parse. - Improved documentation for v4l2_fwnode_endpoint_parse and v4l2_fwnode_endpoint_alloc_parse. since v2: - Rename V4L2_MBUS_CSI2 to V4L2_MBUS_CSI2_DPHY also in drivers/gpu/ipu-v3/ipu-csi.c. - Use 0 instead of V4L2_MBUS_UNKNOWN in v4l2_async_notifier_fwnode_parse_endpoint(). This is partially due to V4L2_MBUS_UNKNOWN being introduced after the change is done. - Initialise bus_type to zero in quite a few V4L2 fwnode endpoints in drivers/staging/media/imx/imx-media-csi.c (thanks to Steve for the changes). Sakari Ailus (23): v4l: fwnode: Add debug prints for V4L2 endpoint property parsing v4l: fwnode: Use fwnode_graph_for_each_endpoint v4l: fwnode: The CSI-2 clock is continuous if it's not non-continuous dt-bindings: media: Specify bus type for MIPI D-PHY, others, explicitly v4l: fwnode: Add definitions for CSI-2 D-PHY, parallel and Bt.656 busses v4l: mediabus: Recognise CSI-2 D-PHY and C-PHY v4l: fwnode: Let the caller provide V4L2 fwnode endpoint v4l: fwnode: Detect bus type correctly v4l: fwnode: Make use of newly specified bus types v4l: fwnode: Read lane inversion information despite lane numbering v4l: fwnode: Only assign configuration if there is no error v4l: fwnode: Support driver-defined lane mapping defaults v4l: fwnode: Support default CSI-2 lane mapping for drivers v4l: fwnode: Parse the graph endpoint as last v4l: fwnode: Use default parallel flags v4l: fwnode: Initialise the V4L2 fwnode endpoints to zero v4l: fwnode: Only zero the struct if bus type is set to V4L2_MBUS_UNKNOWN v4l: fwnode: Use media bus type for bus parser selection v4l: fwnode: Print bus type v4l: fwnode: Use V4L2 fwnode endpoint media bus type if set v4l: fwnode: Support parsing of CSI-2 C-PHY endpoints v4l: fwnode: Update V4L2 fwnode endpoint parsing documentation smiapp: Query the V4L2 endpoint for a specific bus type .../devicetree/bindings/media/video-interfaces.txt | 4 +- drivers/gpu/ipu-v3/ipu-csi.c | 6 +- drivers/media/i2c/adv7180.c | 2 +- drivers/media/i2c/adv7604.c | 2 +- drivers/media/i2c/mt9v032.c | 2 +- drivers/media/i2c/ov2659.c | 14 +- drivers/media/i2c/ov5640.c | 4 +- drivers/media/i2c/ov5645.c | 2 +- drivers/media/i2c/ov5647.c | 2 +- drivers/media/i2c/ov7251.c | 4 +- drivers/media/i2c/ov7670.c | 2 +- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 4 +- drivers/media/i2c/s5k5baf.c | 6 +- drivers/media/i2c/s5k6aa.c | 2 +- drivers/media/i2c/smiapp/smiapp-core.c | 34 +- drivers/media/i2c/soc_camera/ov5642.c | 2 +- drivers/media/i2c/tc358743.c | 28 +- drivers/media/i2c/tda1997x.c | 2 +- drivers/media/i2c/tvp514x.c | 2 +- drivers/media/i2c/tvp5150.c | 2 +- drivers/media/i2c/tvp7002.c | 2 +- drivers/media/pci/intel/ipu3/ipu3-cio2.c | 2 +- drivers/media/platform/am437x/am437x-vpfe.c | 2 +- drivers/media/platform/atmel/atmel-isc.c | 3 +- drivers/media/platform/atmel/atmel-isi.c | 2 +- drivers/media/platform/cadence/cdns-csi2rx.c | 4 +- drivers/media/platform/cadence/cdns-csi2tx.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 2 +- drivers/media/platform/exynos4-is/media-dev.c | 2 +- drivers/media/platform/exynos4-is/mipi-csis.c | 2 +- drivers/media/platform/marvell-ccic/mcam-core.c | 4 +- drivers/media/platform/marvell-ccic/mmp-driver.c | 2 +- drivers/media/platform/omap3isp/isp.c | 2 +- drivers/media/platform/pxa_camera.c | 4 +- drivers/media/platform/rcar-vin/rcar-csi2.c | 4 +- drivers/media/platform/renesas-ceu.c | 3 +- drivers/media/platform/soc_camera/soc_mediabus.c | 2 +- drivers/media/platform/stm32/stm32-dcmi.c | 4 +- drivers/media/platform/ti-vpe/cal.c | 2 +- drivers/media/v4l2-core/v4l2-fwnode.c | 508 ++++++++++++++++----- drivers/staging/media/imx/imx-media-csi.c | 10 +- drivers/staging/media/imx/imx6-mipi-csi2.c | 2 +- drivers/staging/media/imx074/imx074.c | 2 +- include/media/v4l2-fwnode.h | 60 ++- include/media/v4l2-mediabus.h | 8 +- 45 files changed, 542 insertions(+), 226 deletions(-) -- 2.11.0