From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Subject: [PATCH v4 09/28] tty: serial: Add Actions Semi Owl UART earlycon Date: Tue, 6 Jun 2017 02:54:07 +0200 Message-ID: <20170606005426.26446-10-afaerber@suse.de> References: <20170606005426.26446-1-afaerber@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170606005426.26446-1-afaerber@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: linux-arm-kernel@lists.infradead.org Cc: support@lemaker.org, =?UTF-8?q?=E5=BC=A0=E5=A4=A9=E7=9B=8A?= , Greg Kroah-Hartman , 96boards@ucrobotics.com, linux-kernel@vger.kernel.org, Thomas Liau , mp-cs@actions-semi.com, linux-serial@vger.kernel.org, =?UTF-8?q?=E5=88=98=E7=82=9C?= , Jiri Slaby , =?UTF-8?q?Andreas=20F=C3=A4rber?= , =?UTF-8?q?=E5=BC=A0=E4=B8=9C=E9=A3=8E?= List-Id: linux-serial@vger.kernel.org VGhpcyBpbXBsZW1lbnRzIGFuIGVhcmx5Y29uIGZvciBBY3Rpb25zIFNlbWkgUzUwMC9TOTAwIFNv Q3MuCgpCYXNlZCBvbiBMZU1ha2VyIGxpbnV4LWFjdGlvbnMgdHJlZS4KClNpZ25lZC1vZmYtYnk6 IEFuZHJlYXMgRsOkcmJlciA8YWZhZXJiZXJAc3VzZS5kZT4KLS0tCiB2MyAtPiB2NDogVW5jaGFu Z2VkCiAKIHYyIC0+IHYzOgogKiBBZG9wdGVkIEJJVCgpIG1hY3JvCiAKIHYxIC0+IHYyOgogKiBF eHRlbmRlZCBLY29uZmlnIGhlbHAgdG8gbWVudGlvbiBlYXJseWNvbiAoQXJuZCkKICogU3BlbGxl ZCBvdXQgQWN0aW9ucyBTZW1pY29uZHVjdG9yIGluIEtjb25maWcgaGVscAogKiBBZG9wdGVkICJh Y3Rpb25zIiB2ZW5kb3IgcHJlZml4CiAKIGRyaXZlcnMvdHR5L3NlcmlhbC9LY29uZmlnICAgIHwg IDE5ICsrKysrKwogZHJpdmVycy90dHkvc2VyaWFsL01ha2VmaWxlICAgfCAgIDEgKwogZHJpdmVy cy90dHkvc2VyaWFsL293bC11YXJ0LmMgfCAxMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE1NSBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy90dHkvc2VyaWFsL293bC11YXJ0LmMKCmRpZmYgLS1naXQg YS9kcml2ZXJzL3R0eS9zZXJpYWwvS2NvbmZpZyBiL2RyaXZlcnMvdHR5L3NlcmlhbC9LY29uZmln CmluZGV4IDVjODg1MGY3YTJhMC4uMzhmOTBlYTQ1Y2Y3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3R0 eS9zZXJpYWwvS2NvbmZpZworKysgYi9kcml2ZXJzL3R0eS9zZXJpYWwvS2NvbmZpZwpAQCAtMTY4 OCw2ICsxNjg4LDI1IEBAIGNvbmZpZyBTRVJJQUxfTVZFQlVfQ09OU09MRQogCSAgYW5kIHdhcm5p bmdzIGFuZCB3aGljaCBhbGxvd3MgbG9naW5zIGluIHNpbmdsZSB1c2VyIG1vZGUpCiAJICBPdGhl cndpc2UsIHNheSAnTicuCiAKK2NvbmZpZyBTRVJJQUxfT1dMCisJYm9vbCAiQWN0aW9ucyBTZW1p IE93bCBzZXJpYWwgcG9ydCBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJDSF9BQ1RJT05TIHx8IENP TVBJTEVfVEVTVAorCXNlbGVjdCBTRVJJQUxfQ09SRQorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIGlz IGZvciBBY3Rpb25zIFNlbWljb25kdWN0b3IgUzUwMC9TOTAwIFNvQydzIFVBUlQuCisJICBTYXkg J1knIGhlcmUgaWYgeW91IHdpc2ggdG8gdXNlIHRoZSBvbi1ib2FyZCBzZXJpYWwgcG9ydC4KKwkg IE90aGVyd2lzZSwgc2F5ICdOJy4KKworY29uZmlnIFNFUklBTF9PV0xfQ09OU09MRQorCWJvb2wg IkNvbnNvbGUgb24gQWN0aW9ucyBTZW1pIE93bCBzZXJpYWwgcG9ydCIKKwlkZXBlbmRzIG9uIFNF UklBTF9PV0w9eQorCXNlbGVjdCBTRVJJQUxfQ09SRV9DT05TT0xFCisJc2VsZWN0IFNFUklBTF9F QVJMWUNPTgorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2lzaCB0 byB1c2UgQWN0aW9ucyBTZW1pY29uZHVjdG9yIFM1MDAvUzkwMCBVQVJUCisJICBhcyB0aGUgc3lz dGVtIGNvbnNvbGUuIE9ubHkgZWFybHljb24gaXMgaW1wbGVtZW50ZWQgY3VycmVudGx5LgorCiBl bmRtZW51CiAKIGNvbmZpZyBTRVJJQUxfTUNUUkxfR1BJTwpkaWZmIC0tZ2l0IGEvZHJpdmVycy90 dHkvc2VyaWFsL01ha2VmaWxlIGIvZHJpdmVycy90dHkvc2VyaWFsL01ha2VmaWxlCmluZGV4IDUz YzAzZTAwNTEzMi4uZmU4OGE3NWQ5YTU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3R0eS9zZXJpYWwv TWFrZWZpbGUKKysrIGIvZHJpdmVycy90dHkvc2VyaWFsL01ha2VmaWxlCkBAIC05Miw2ICs5Miw3 IEBAIG9iai0kKENPTkZJR19TRVJJQUxfU1RNMzIpCSs9IHN0bTMyLXVzYXJ0Lm8KIG9iai0kKENP TkZJR19TRVJJQUxfTVZFQlVfVUFSVCkJKz0gbXZlYnUtdWFydC5vCiBvYmotJChDT05GSUdfU0VS SUFMX1BJQzMyKQkrPSBwaWMzMl91YXJ0Lm8KIG9iai0kKENPTkZJR19TRVJJQUxfTVBTMl9VQVJU KQkrPSBtcHMyLXVhcnQubworb2JqLSQoQ09ORklHX1NFUklBTF9PV0wpCSs9IG93bC11YXJ0Lm8K IAogIyBHUElPTElCIGhlbHBlcnMgZm9yIG1vZGVtIGNvbnRyb2wgbGluZXMKIG9iai0kKENPTkZJ R19TRVJJQUxfTUNUUkxfR1BJTykJKz0gc2VyaWFsX21jdHJsX2dwaW8ubwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy90dHkvc2VyaWFsL293bC11YXJ0LmMgYi9kcml2ZXJzL3R0eS9zZXJpYWwvb3dsLXVh cnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjFiODAwODc5N2Ex YgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvdHR5L3NlcmlhbC9vd2wtdWFydC5jCkBAIC0w LDAgKzEsMTM1IEBACisvKgorICogQWN0aW9ucyBTZW1pIE93bCBmYW1pbHkgc2VyaWFsIGNvbnNv bGUKKyAqCisgKiBDb3B5cmlnaHQgMjAxMyBBY3Rpb25zIFNlbWkgSW5jLgorICogQXV0aG9yOiBB Y3Rpb25zIFNlbWksIEluYy4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxNyBBbmRyZWFz IEbDpHJiZXIKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyICB0aGUgdGVybXMgb2Yg IHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICog RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vu c2UsIG9yIChhdCB5b3VyCisgKiBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dy YW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisj aW5jbHVkZSA8bGludXgvY29uc29sZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5j bHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxs aW51eC9vZi5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUg PGxpbnV4L3NlcmlhbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CisKKyNkZWZp bmUgT1dMX1VBUlRfQ1RMCTB4MDAwCisjZGVmaW5lIE9XTF9VQVJUX1RYREFUCTB4MDA4CisjZGVm aW5lIE9XTF9VQVJUX1NUQVQJMHgwMGMKKworI2RlZmluZSBPV0xfVUFSVF9DVExfVFJGU19UWAkJ QklUKDE0KQorI2RlZmluZSBPV0xfVUFSVF9DVExfRU4JCQlCSVQoMTUpCisjZGVmaW5lIE9XTF9V QVJUX0NUTF9SWElFCQlCSVQoMTgpCisjZGVmaW5lIE9XTF9VQVJUX0NUTF9UWElFCQlCSVQoMTkp CisKKyNkZWZpbmUgT1dMX1VBUlRfU1RBVF9SSVAJCUJJVCgwKQorI2RlZmluZSBPV0xfVUFSVF9T VEFUX1RJUAkJQklUKDEpCisjZGVmaW5lIE9XTF9VQVJUX1NUQVRfVEZGVQkJQklUKDYpCisjZGVm aW5lIE9XTF9VQVJUX1NUQVRfVFJGTF9NQVNLCQkoMHgxZiA8PCAxMSkKKyNkZWZpbmUgT1dMX1VB UlRfU1RBVF9VVEJCCQlCSVQoMTcpCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBvd2xfdWFydF93cml0 ZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCB1MzIgdmFsLCB1bnNpZ25lZCBpbnQgb2ZmKQorewor CXdyaXRlbCh2YWwsIHBvcnQtPm1lbWJhc2UgKyBvZmYpOworfQorCitzdGF0aWMgaW5saW5lIHUz MiBvd2xfdWFydF9yZWFkKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHVuc2lnbmVkIGludCBvZmYp Cit7CisJcmV0dXJuIHJlYWRsKHBvcnQtPm1lbWJhc2UgKyBvZmYpOworfQorCisjaWZkZWYgQ09O RklHX1NFUklBTF9PV0xfQ09OU09MRQorCitzdGF0aWMgdm9pZCBvd2xfY29uc29sZV9wdXRjaGFy KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCBjaCkKK3sKKwlpZiAoIXBvcnQtPm1lbWJhc2Up CisJCXJldHVybjsKKworCXdoaWxlIChvd2xfdWFydF9yZWFkKHBvcnQsIE9XTF9VQVJUX1NUQVQp ICYgT1dMX1VBUlRfU1RBVF9URkZVKQorCQljcHVfcmVsYXgoKTsKKworCW93bF91YXJ0X3dyaXRl KHBvcnQsIGNoLCBPV0xfVUFSVF9UWERBVCk7Cit9CisKK3N0YXRpYyB2b2lkIG93bF91YXJ0X3Bv cnRfd3JpdGUoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgY29uc3QgY2hhciAqcywKKwkJCQl1X2lu dCBjb3VudCkKK3sKKwl1MzIgb2xkX2N0bCwgdmFsOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJ aW50IGxvY2tlZDsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCWlmIChwb3J0LT5zeXNy cSkKKwkJbG9ja2VkID0gMDsKKwllbHNlIGlmIChvb3BzX2luX3Byb2dyZXNzKQorCQlsb2NrZWQg PSBzcGluX3RyeWxvY2soJnBvcnQtPmxvY2spOworCWVsc2UgeworCQlzcGluX2xvY2soJnBvcnQt PmxvY2spOworCQlsb2NrZWQgPSAxOworCX0KKworCW9sZF9jdGwgPSBvd2xfdWFydF9yZWFkKHBv cnQsIE9XTF9VQVJUX0NUTCk7CisJdmFsID0gb2xkX2N0bCB8IE9XTF9VQVJUX0NUTF9UUkZTX1RY OworCS8qIGRpc2FibGUgSVJRICovCisJdmFsICY9IH4oT1dMX1VBUlRfQ1RMX1JYSUUgfCBPV0xf VUFSVF9DVExfVFhJRSk7CisJb3dsX3VhcnRfd3JpdGUocG9ydCwgdmFsLCBPV0xfVUFSVF9DVEwp OworCisJdWFydF9jb25zb2xlX3dyaXRlKHBvcnQsIHMsIGNvdW50LCBvd2xfY29uc29sZV9wdXRj aGFyKTsKKworCS8qIHdhaXQgdW50aWwgYWxsIGNvbnRlbnRzIGhhdmUgYmVlbiBzZW50IG91dCAq LworCXdoaWxlIChvd2xfdWFydF9yZWFkKHBvcnQsIE9XTF9VQVJUX1NUQVQpICYgT1dMX1VBUlRf U1RBVF9UUkZMX01BU0spCisJCWNwdV9yZWxheCgpOworCisJLyogY2xlYXIgSVJRIHBlbmRpbmcg Ki8KKwl2YWwgPSBvd2xfdWFydF9yZWFkKHBvcnQsIE9XTF9VQVJUX1NUQVQpOworCXZhbCB8PSBP V0xfVUFSVF9TVEFUX1RJUCB8IE9XTF9VQVJUX1NUQVRfUklQOworCW93bF91YXJ0X3dyaXRlKHBv cnQsIHZhbCwgT1dMX1VBUlRfU1RBVCk7CisKKwlvd2xfdWFydF93cml0ZShwb3J0LCBvbGRfY3Rs LCBPV0xfVUFSVF9DVEwpOworCisJaWYgKGxvY2tlZCkKKwkJc3Bpbl91bmxvY2soJnBvcnQtPmxv Y2spOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBvd2xf dWFydF9lYXJseV9jb25zb2xlX3dyaXRlKHN0cnVjdCBjb25zb2xlICpjbywKKwkJCQkJIGNvbnN0 IGNoYXIgKnMsCisJCQkJCSB1X2ludCBjb3VudCkKK3sKKwlzdHJ1Y3QgZWFybHljb25fZGV2aWNl ICpkZXYgPSBjby0+ZGF0YTsKKworCW93bF91YXJ0X3BvcnRfd3JpdGUoJmRldi0+cG9ydCwgcywg Y291bnQpOworfQorCitzdGF0aWMgaW50IF9faW5pdAorb3dsX3VhcnRfZWFybHlfY29uc29sZV9z ZXR1cChzdHJ1Y3QgZWFybHljb25fZGV2aWNlICpkZXZpY2UsIGNvbnN0IGNoYXIgKm9wdCkKK3sK KwlpZiAoIWRldmljZS0+cG9ydC5tZW1iYXNlKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWRldmlj ZS0+Y29uLT53cml0ZSA9IG93bF91YXJ0X2Vhcmx5X2NvbnNvbGVfd3JpdGU7CisKKwlyZXR1cm4g MDsKK30KK09GX0VBUkxZQ09OX0RFQ0xBUkUob3dsLCAiYWN0aW9ucyxvd2wtdWFydCIsCisJCSAg ICBvd2xfdWFydF9lYXJseV9jb25zb2xlX3NldHVwKTsKKworI2VuZGlmIC8qIENPTkZJR19TRVJJ QUxfT1dMX0NPTlNPTEUgKi8KLS0gCjIuMTIuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK