Message ID | 1444911181-21696-4-git-send-email-B48286@freescale.com |
---|---|
State | Superseded |
Headers | show |
On Thu, 2015-10-15 at 20:12 +0800, Zhiqiang Hou wrote: > From: Mingkai Hu <Mingkai.Hu@freescale.com> > > LS1043a is an SoC with 4 ARMv8 A53 cores and most other IP blocks > similar to LS1021a which complies to Chassis 2.1 spec. > > Following levels of DTSI/DTS files have been created for the > LS1043A SoC family: > > - fsl-ls1043a.dtsi: > DTS-Include file for FSL LS1043A SoC. > > Signed-off-by: Li Yang <leoli@freescale.com> > Signed-off-by: Hou Zhiqiang <B48286@freescale.com> > Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com> > Signed-off-by: Wenbin Song <Wenbin.Song@freescale.com> > --- > V4: > - Add soc node with simple-bus compatible. > - Add property interrupt-affinity for armv8 pmuv3 node. > > V3: > - Add device tree node for SATA. > - Remove properity enable-method for all cpu node. > Remove reserved memory region for spin-table. > > V2: > - Add secondary core boot method. > - Move out the sysclk node from the clockgen node. > - Correct the reg size of GICC. > > arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 525 > +++++++++++++++++++++++++ > 1 file changed, 525 insertions(+) > create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > new file mode 100644 > index 0000000..1a5bf79 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > @@ -0,0 +1,525 @@ > +/* > + * Device Tree Include file for Freescale Layerscape-1043A family SoC. > + * > + * Copyright 2014-2015, Freescale Semiconductor > + * > + * Mingkai Hu <Mingkai.hu@freescale.com> > + * > + * This file is dual-licensed: you can use it either under the terms > + * of the GPLv2 or the X11 license, at your option. Note that this dual > + * licensing only applies to this file, and not this project as a > + * whole. > + * > + * a) This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of the > + * License, or (at your option) any later version. > + * > + * This library is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * Or, alternatively, > + * > + * b) Permission is hereby granted, free of charge, to any person > + * obtaining a copy of this software and associated documentation > + * files (the "Software"), to deal in the Software without > + * restriction, including without limitation the rights to use, > + * copy, modify, merge, publish, distribute, sublicense, and/or > + * sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following > + * conditions: > + * > + * The above copyright notice and this permission notice shall be > + * included in all copies or substantial portions of the Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES > + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT > + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, > + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > + * OTHER DEALINGS IN THE SOFTWARE. > + */ > + > +/ { > + compatible = "fsl,ls1043a"; > + interrupt-parent = <&gic>; > + #address-cells = <2>; > + #size-cells = <2>; > + > + cpus { > + #address-cells = <2>; > + #size-cells = <0>; > + > + /* > + * We expect the enable-method for cpu's to be "psci", but this > + * is dependent on the SoC FW, which will fill this in. > + * > + * Currently supported enable-method is psci v0.2 > + */ > + cpu0: cpu@0{ > + device_type = "cpu"; > + compatible = "arm,cortex-a53"; > + reg = <0x0 0x0>; > + clocks = <&clockgen 1 0>; > + }; > + > + cpu1: cpu@1{ > + device_type = "cpu"; > + compatible = "arm,cortex-a53"; > + reg = <0x0 0x1>; > + clocks = <&clockgen 1 0>; > + }; > + > + cpu2: cpu@2{ > + device_type = "cpu"; > + compatible = "arm,cortex-a53"; > + reg = <0x0 0x2>; > + clocks = <&clockgen 1 0>; > + }; > + > + cpu3: cpu@3{ > + device_type = "cpu"; > + compatible = "arm,cortex-a53"; > + reg = <0x0 0x3>; > + clocks = <&clockgen 1 0>; > + }; > + }; > + > + memory@80000000{ > + device_type = "memory"; > + reg = <0x0 0x80000000 0 0x80000000>; > + /* DRAM space 1, size: 2GiB DRAM */ > + }; > + > + sysclk: sysclk { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <100000000>; > + clock-output-names = "sysclk"; > + }; > + > + soc { > + compatible = "simple-bus"; > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + clockgen: clocking@1ee1000{ > + compatible = "fsl,ls1043a-clockgen"; > + reg = <0x0 0x1ee1000 0x0 0x1000>; > + #clock-cells = <2>; > + clocks = <&sysclk>; > + }; > + > + timer { > + compatible = "arm,armv8-timer"; > + interrupts = <1 13 0x1>, /* Physical Secure PPI */ > + <1 14 0x1>, /* Physical Non-Secure PPI */ > + <1 11 0x1>, /* Virtual PPI */ > + <1 10 0x1>; /* Hypervisor PPI */ > + }; > + > + pmu { > + compatible = "arm,armv8-pmuv3"; > + interrupts = <0 106 0x4>, > + <0 107 0x4>, > + <0 95 0x4>, > + <0 97 0x4>; > + interrupt-affinity = <&cpu0>, > + <&cpu1>, > + <&cpu2>, > + <&cpu3>; > + }; > + > + gic: interrupt-controller@1400000{ > + compatible = "arm,gic-400"; > + #interrupt-cells = <3>; > + interrupt-controller; > + reg = <0x0 0x1401000 0 0x1000>, /* GICD */ > + <0x0 0x1402000 0 0x2000>, /* GICC */ > + <0x0 0x1404000 0 0x2000>, /* GICH */ > + <0x0 0x1406000 0 0x2000>; /* GICV */ > + interrupts = <1 9 0xf08>; > + }; The recently posted ls2080 device tree patch puts pmu, gic, etc. under the root node rather than the soc node. Where should they go? At least it should be consistent... -Scott -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> -----Original Message----- > From: Wood Scott-B07421 > Sent: Friday, October 16, 2015 4:46 AM > To: Hou Zhiqiang-B48286 > Cc: linux-arm-kernel@lists.infradead.org; catalin.marinas@arm.com; > will.deacon@arm.com; linux-i2c@vger.kernel.org; linux- > watchdog@vger.kernel.org; linux-doc@vger.kernel.org; linux- > clk@vger.kernel.org; mark.rutland@arm.com; linux@roeck-us.net; wsa@the- > dreams.de; wim@iguana.be; corbet@lwn.net; mturquette@baylibre.com; > sboyd@codeaurora.org; Hu Mingkai-B21284; Xie Shaohui-B21989; Sharma > Bhupesh-B45370; Song Wenbin-B53747; Li Yang-Leo-R58472; Sharma Bhupesh- > B45370 > Subject: Re: [PATCH V4 4/6] arm64/ls1043a: add DTS for Freescale LS1043A > SoC > > On Thu, 2015-10-15 at 20:12 +0800, Zhiqiang Hou wrote: > > From: Mingkai Hu <Mingkai.Hu@freescale.com> > > > > LS1043a is an SoC with 4 ARMv8 A53 cores and most other IP blocks > > similar to LS1021a which complies to Chassis 2.1 spec. > > > > Following levels of DTSI/DTS files have been created for the LS1043A > > SoC family: > > > > - fsl-ls1043a.dtsi: > > DTS-Include file for FSL LS1043A SoC. > > > > Signed-off-by: Li Yang <leoli@freescale.com> > > Signed-off-by: Hou Zhiqiang <B48286@freescale.com> > > Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com> > > Signed-off-by: Wenbin Song <Wenbin.Song@freescale.com> > > --- > > V4: > > - Add soc node with simple-bus compatible. > > - Add property interrupt-affinity for armv8 pmuv3 node. > > > > V3: > > - Add device tree node for SATA. > > - Remove properity enable-method for all cpu node. > > Remove reserved memory region for spin-table. > > > > V2: > > - Add secondary core boot method. > > - Move out the sysclk node from the clockgen node. > > - Correct the reg size of GICC. > > > > arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 525 > > +++++++++++++++++++++++++ > > 1 file changed, 525 insertions(+) > > create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > > new file mode 100644 > > index 0000000..1a5bf79 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > > @@ -0,0 +1,525 @@ > > +/* > > + * Device Tree Include file for Freescale Layerscape-1043A family SoC. > > + * > > + * Copyright 2014-2015, Freescale Semiconductor > > + * > > + * Mingkai Hu <Mingkai.hu@freescale.com> > > + * > > + * This file is dual-licensed: you can use it either under the terms > > + * of the GPLv2 or the X11 license, at your option. Note that this > > +dual > > + * licensing only applies to this file, and not this project as a > > + * whole. > > + * > > + * a) This library is free software; you can redistribute it and/or > > + * modify it under the terms of the GNU General Public License as > > + * published by the Free Software Foundation; either version 2 of > the > > + * License, or (at your option) any later version. > > + * > > + * This library is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > + * > > + * Or, alternatively, > > + * > > + * b) Permission is hereby granted, free of charge, to any person > > + * obtaining a copy of this software and associated documentation > > + * files (the "Software"), to deal in the Software without > > + * restriction, including without limitation the rights to use, > > + * copy, modify, merge, publish, distribute, sublicense, and/or > > + * sell copies of the Software, and to permit persons to whom the > > + * Software is furnished to do so, subject to the following > > + * conditions: > > + * > > + * The above copyright notice and this permission notice shall be > > + * included in all copies or substantial portions of the Software. > > + * > > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > > + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES > > + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > > + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT > > + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, > > + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > > + * OTHER DEALINGS IN THE SOFTWARE. > > + */ > > + > > +/ { > > + compatible = "fsl,ls1043a"; > > + interrupt-parent = <&gic>; > > + #address-cells = <2>; > > + #size-cells = <2>; > > + > > + cpus { > > + #address-cells = <2>; > > + #size-cells = <0>; > > + > > + /* > > + * We expect the enable-method for cpu's to be "psci", > but this > > + * is dependent on the SoC FW, which will fill this in. > > + * > > + * Currently supported enable-method is psci v0.2 > > + */ > > + cpu0: cpu@0{ > > + device_type = "cpu"; > > + compatible = "arm,cortex-a53"; > > + reg = <0x0 0x0>; > > + clocks = <&clockgen 1 0>; > > + }; > > + > > + cpu1: cpu@1{ > > + device_type = "cpu"; > > + compatible = "arm,cortex-a53"; > > + reg = <0x0 0x1>; > > + clocks = <&clockgen 1 0>; > > + }; > > + > > + cpu2: cpu@2{ > > + device_type = "cpu"; > > + compatible = "arm,cortex-a53"; > > + reg = <0x0 0x2>; > > + clocks = <&clockgen 1 0>; > > + }; > > + > > + cpu3: cpu@3{ > > + device_type = "cpu"; > > + compatible = "arm,cortex-a53"; > > + reg = <0x0 0x3>; > > + clocks = <&clockgen 1 0>; > > + }; > > + }; > > + > > + memory@80000000{ > > + device_type = "memory"; > > + reg = <0x0 0x80000000 0 0x80000000>; > > + /* DRAM space 1, size: 2GiB DRAM */ > > + }; > > + > > + sysclk: sysclk { > > + compatible = "fixed-clock"; > > + #clock-cells = <0>; > > + clock-frequency = <100000000>; > > + clock-output-names = "sysclk"; > > + }; > > + > > + soc { > > + compatible = "simple-bus"; > > + #address-cells = <2>; > > + #size-cells = <2>; > > + ranges; > > + > > + clockgen: clocking@1ee1000{ > > + compatible = "fsl,ls1043a-clockgen"; > > + reg = <0x0 0x1ee1000 0x0 0x1000>; > > + #clock-cells = <2>; > > + clocks = <&sysclk>; > > + }; > > + > > + timer { > > + compatible = "arm,armv8-timer"; > > + interrupts = <1 13 0x1>, /* Physical Secure PPI > */ > > + <1 14 0x1>, /* Physical Non-Secure > PPI */ > > + <1 11 0x1>, /* Virtual PPI */ > > + <1 10 0x1>; /* Hypervisor PPI */ > > + }; > > + > > + pmu { > > + compatible = "arm,armv8-pmuv3"; > > + interrupts = <0 106 0x4>, > > + <0 107 0x4>, > > + <0 95 0x4>, > > + <0 97 0x4>; > > + interrupt-affinity = <&cpu0>, > > + <&cpu1>, > > + <&cpu2>, > > + <&cpu3>; > > + }; > > + > > + gic: interrupt-controller@1400000{ > > + compatible = "arm,gic-400"; > > + #interrupt-cells = <3>; > > + interrupt-controller; > > + reg = <0x0 0x1401000 0 0x1000>, /* GICD */ > > + <0x0 0x1402000 0 0x2000>, /* GICC */ > > + <0x0 0x1404000 0 0x2000>, /* GICH */ > > + <0x0 0x1406000 0 0x2000>; /* GICV */ > > + interrupts = <1 9 0xf08>; > > + }; > > The recently posted ls2080 device tree patch puts pmu, gic, etc. under > the root node rather than the soc node. Where should they go? At least > it should be consistent... > There is also discussion between Ron and Stuart about this, but no conclusion about where to put pmu, gic node. Is there any specific reason to put them out of the SoC? Thanks, Mingkai
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV29vZCBTY290dC1CMDc0 MjENCj4gU2VudDogMjAxNeW5tDEw5pyIMTbml6UgNDo0Ng0KPiBUbzogSG91IFpoaXFpYW5nLUI0 ODI4Ng0KPiBDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBjYXRhbGlu Lm1hcmluYXNAYXJtLmNvbTsNCj4gd2lsbC5kZWFjb25AYXJtLmNvbTsgbGludXgtaTJjQHZnZXIu a2VybmVsLm9yZzsgbGludXgtDQo+IHdhdGNoZG9nQHZnZXIua2VybmVsLm9yZzsgbGludXgtZG9j QHZnZXIua2VybmVsLm9yZzsgbGludXgtDQo+IGNsa0B2Z2VyLmtlcm5lbC5vcmc7IG1hcmsucnV0 bGFuZEBhcm0uY29tOyBsaW51eEByb2Vjay11cy5uZXQ7IHdzYUB0aGUtDQo+IGRyZWFtcy5kZTsg d2ltQGlndWFuYS5iZTsgY29yYmV0QGx3bi5uZXQ7IG10dXJxdWV0dGVAYmF5bGlicmUuY29tOw0K PiBzYm95ZEBjb2RlYXVyb3JhLm9yZzsgSHUgTWluZ2thaS1CMjEyODQ7IFhpZSBTaGFvaHVpLUIy MTk4OTsgU2hhcm1hDQo+IEJodXBlc2gtQjQ1MzcwOyBTb25nIFdlbmJpbi1CNTM3NDc7IExpIFlh bmctTGVvLVI1ODQ3MjsgU2hhcm1hIEJodXBlc2gtDQo+IEI0NTM3MA0KPiBTdWJqZWN0OiBSZTog W1BBVENIIFY0IDQvNl0gYXJtNjQvbHMxMDQzYTogYWRkIERUUyBmb3IgRnJlZXNjYWxlIExTMTA0 M0ENCj4gU29DDQo+IA0KPiBPbiBUaHUsIDIwMTUtMTAtMTUgYXQgMjA6MTIgKzA4MDAsIFpoaXFp YW5nIEhvdSB3cm90ZToNCj4gPiBGcm9tOiBNaW5na2FpIEh1IDxNaW5na2FpLkh1QGZyZWVzY2Fs ZS5jb20+DQo+ID4NCj4gPiBMUzEwNDNhIGlzIGFuIFNvQyB3aXRoIDQgQVJNdjggQTUzIGNvcmVz IGFuZCBtb3N0IG90aGVyIElQIGJsb2Nrcw0KPiA+IHNpbWlsYXIgdG8gTFMxMDIxYSB3aGljaCBj b21wbGllcyB0byBDaGFzc2lzIDIuMSBzcGVjLg0KPiA+DQo+ID4gRm9sbG93aW5nIGxldmVscyBv ZiBEVFNJL0RUUyBmaWxlcyBoYXZlIGJlZW4gY3JlYXRlZCBmb3IgdGhlIExTMTA0M0ENCj4gPiBT b0MgZmFtaWx5Og0KPiA+DQo+ID4gLSBmc2wtbHMxMDQzYS5kdHNpOg0KPiA+ICAgRFRTLUluY2x1 ZGUgZmlsZSBmb3IgRlNMIExTMTA0M0EgU29DLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogTGkg WWFuZyA8bGVvbGlAZnJlZXNjYWxlLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBIb3UgWmhpcWlh bmcgPEI0ODI4NkBmcmVlc2NhbGUuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IE1pbmdrYWkgSHUg PE1pbmdrYWkuSHVAZnJlZXNjYWxlLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZW5iaW4gU29u ZyA8V2VuYmluLlNvbmdAZnJlZXNjYWxlLmNvbT4NCj4gPiAtLS0NCj4gPiBWNDoNCj4gPiAgLSBB ZGQgc29jIG5vZGUgd2l0aCBzaW1wbGUtYnVzIGNvbXBhdGlibGUuDQo+ID4gIC0gQWRkIHByb3Bl cnR5IGludGVycnVwdC1hZmZpbml0eSBmb3IgYXJtdjggcG11djMgbm9kZS4NCj4gPg0KPiA+IFYz Og0KPiA+ICAtIEFkZCBkZXZpY2UgdHJlZSBub2RlIGZvciBTQVRBLg0KPiA+ICAtIFJlbW92ZSBw cm9wZXJpdHkgZW5hYmxlLW1ldGhvZCBmb3IgYWxsIGNwdSBub2RlLg0KPiA+ICAgIFJlbW92ZSBy ZXNlcnZlZCBtZW1vcnkgcmVnaW9uIGZvciBzcGluLXRhYmxlLg0KPiA+DQo+ID4gVjI6DQo+ID4g IC0gQWRkIHNlY29uZGFyeSBjb3JlIGJvb3QgbWV0aG9kLg0KPiA+ICAtIE1vdmUgb3V0IHRoZSBz eXNjbGsgbm9kZSBmcm9tIHRoZSBjbG9ja2dlbiBub2RlLg0KPiA+ICAtIENvcnJlY3QgdGhlIHJl ZyBzaXplIG9mIEdJQ0MuDQo+ID4NCj4gPiAgYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUv ZnNsLWxzMTA0M2EuZHRzaSB8IDUyNQ0KPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysNCj4g PiAgMSBmaWxlIGNoYW5nZWQsIDUyNSBpbnNlcnRpb25zKCspDQo+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBhcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDQzYS5kdHNpDQo+ID4N Cj4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA0 M2EuZHRzaQ0KPiA+IGIvYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA0M2Eu ZHRzaQ0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMC4uMWE1YmY3 OQ0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVz Y2FsZS9mc2wtbHMxMDQzYS5kdHNpDQo+ID4gQEAgLTAsMCArMSw1MjUgQEANCj4gPiArLyoNCj4g PiArICogRGV2aWNlIFRyZWUgSW5jbHVkZSBmaWxlIGZvciBGcmVlc2NhbGUgTGF5ZXJzY2FwZS0x MDQzQSBmYW1pbHkgU29DLg0KPiA+ICsgKg0KPiA+ICsgKiBDb3B5cmlnaHQgMjAxNC0yMDE1LCBG cmVlc2NhbGUgU2VtaWNvbmR1Y3Rvcg0KPiA+ICsgKg0KPiA+ICsgKiBNaW5na2FpIEh1IDxNaW5n a2FpLmh1QGZyZWVzY2FsZS5jb20+DQo+ID4gKyAqDQo+ID4gKyAqIFRoaXMgZmlsZSBpcyBkdWFs LWxpY2Vuc2VkOiB5b3UgY2FuIHVzZSBpdCBlaXRoZXIgdW5kZXIgdGhlIHRlcm1zDQo+ID4gKyAq IG9mIHRoZSBHUEx2MiBvciB0aGUgWDExIGxpY2Vuc2UsIGF0IHlvdXIgb3B0aW9uLiBOb3RlIHRo YXQgdGhpcw0KPiA+ICtkdWFsDQo+ID4gKyAqIGxpY2Vuc2luZyBvbmx5IGFwcGxpZXMgdG8gdGhp cyBmaWxlLCBhbmQgbm90IHRoaXMgcHJvamVjdCBhcyBhDQo+ID4gKyAqIHdob2xlLg0KPiA+ICsg Kg0KPiA+ICsgKiAgYSkgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcg0KPiA+ICsgKiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMNCj4gPiArICogICAgIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9m DQo+IHRoZQ0KPiA+ICsgKiAgICAgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4NCj4gPiArICoNCj4gPiArICogICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiA+ICsgKiAgICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YNCj4gPiArICogICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUNCj4gPiArICogICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuDQo+ID4gKyAqDQo+ID4gKyAqIE9yLCBhbHRlcm5hdGl2ZWx5 LA0KPiA+ICsgKg0KPiA+ICsgKiAgYikgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24NCj4gPiArICogICAgIG9idGFpbmluZyBhIGNvcHkg b2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uDQo+ID4gKyAqICAg ICBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0 DQo+ID4gKyAqICAgICByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0 aGUgcmlnaHRzIHRvIHVzZSwNCj4gPiArICogICAgIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp c2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcg0KPiA+ICsgKiAgICAgc2VsbCBjb3Bp ZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUNCj4g PiArICogICAgIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUg Zm9sbG93aW5nDQo+ID4gKyAqICAgICBjb25kaXRpb25zOg0KPiA+ICsgKg0KPiA+ICsgKiAgICAg VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh bGwgYmUNCj4gPiArICogICAgIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg cG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLg0KPiA+ICsgKg0KPiA+ICsgKiAgICAgVEhFIFNPRlRX QVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsDQo+ ID4gKyAqICAgICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gVEhFIFdBUlJBTlRJRVMNCj4gPiArICogICAgIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EDQo+ID4gKyAqICAgICBOT05JTkZSSU5HRU1F TlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVA0KPiA+ICsgKiAg ICAgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC SUxJVFksDQo+ID4gKyAqICAgICBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9S VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcNCj4gPiArICogICAgIEZST00sIE9VVCBPRiBPUiBJTiBD T05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1INCj4gPiArICogICAgIE9U SEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4NCj4gPiArICovDQo+ID4gKw0KPiA+ICsvIHsN Cj4gPiArICAgICBjb21wYXRpYmxlID0gImZzbCxsczEwNDNhIjsNCj4gPiArICAgICBpbnRlcnJ1 cHQtcGFyZW50ID0gPCZnaWM+Ow0KPiA+ICsgICAgICNhZGRyZXNzLWNlbGxzID0gPDI+Ow0KPiA+ ICsgICAgICNzaXplLWNlbGxzID0gPDI+Ow0KPiA+ICsNCj4gPiArICAgICBjcHVzIHsNCj4gPiAr ICAgICAgICAgICAgICNhZGRyZXNzLWNlbGxzID0gPDI+Ow0KPiA+ICsgICAgICAgICAgICAgI3Np emUtY2VsbHMgPSA8MD47DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgLyoNCj4gPiArICAgICAg ICAgICAgICAqIFdlIGV4cGVjdCB0aGUgZW5hYmxlLW1ldGhvZCBmb3IgY3B1J3MgdG8gYmUgInBz Y2kiLA0KPiBidXQgdGhpcw0KPiA+ICsgICAgICAgICAgICAgICogaXMgZGVwZW5kZW50IG9uIHRo ZSBTb0MgRlcsIHdoaWNoIHdpbGwgZmlsbCB0aGlzIGluLg0KPiA+ICsgICAgICAgICAgICAgICoN Cj4gPiArICAgICAgICAgICAgICAqIEN1cnJlbnRseSBzdXBwb3J0ZWQgZW5hYmxlLW1ldGhvZCBp cyBwc2NpIHYwLjINCj4gPiArICAgICAgICAgICAgICAqLw0KPiA+ICsgICAgICAgICAgICAgY3B1 MDogIGNwdUAwew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBkZXZpY2VfdHlwZSA9ICJjcHUi Ow0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTUz IjsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4MCAweDA+Ow0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICBjbG9ja3MgPSA8JmNsb2NrZ2VuIDEgMD47DQo+ID4gKyAgICAgICAg ICAgICB9Ow0KPiA+ICsNCj4gPiArICAgICAgICAgICAgIGNwdTE6ICBjcHVAMXsNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgZGV2aWNlX3R5cGUgPSAiY3B1IjsNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgY29tcGF0aWJsZSA9ICJhcm0sY29ydGV4LWE1MyI7DQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgIHJlZyA9IDwweDAgMHgxPjsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgY2xv Y2tzID0gPCZjbG9ja2dlbiAxIDA+Ow0KPiA+ICsgICAgICAgICAgICAgfTsNCj4gPiArDQo+ID4g KyAgICAgICAgICAgICBjcHUyOiAgY3B1QDJ7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGRl dmljZV90eXBlID0gImNwdSI7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUg PSAiYXJtLGNvcnRleC1hNTMiOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHgw IDB4Mj47DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNsb2NrcyA9IDwmY2xvY2tnZW4gMSAw PjsNCj4gPiArICAgICAgICAgICAgIH07DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgY3B1Mzog IGNwdUAzew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBkZXZpY2VfdHlwZSA9ICJjcHUiOw0K PiA+ICsgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTUzIjsN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4MCAweDM+Ow0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICBjbG9ja3MgPSA8JmNsb2NrZ2VuIDEgMD47DQo+ID4gKyAgICAgICAgICAg ICB9Ow0KPiA+ICsgICAgIH07DQo+ID4gKw0KPiA+ICsgICAgICBtZW1vcnlAODAwMDAwMDB7DQo+ ID4gKyAgICAgICAgICAgICBkZXZpY2VfdHlwZSA9ICJtZW1vcnkiOw0KPiA+ICsgICAgICAgICAg ICAgcmVnID0gPDB4MCAweDgwMDAwMDAwIDAgMHg4MDAwMDAwMD47DQo+ID4gKyAgICAgICAgICAg ICAgICAgICAvKiBEUkFNIHNwYWNlIDEsIHNpemU6IDJHaUIgRFJBTSAqLw0KPiA+ICsgICAgIH07 DQo+ID4gKw0KPiA+ICsgICAgIHN5c2Nsazogc3lzY2xrIHsNCj4gPiArICAgICAgICAgICAgIGNv bXBhdGlibGUgPSAiZml4ZWQtY2xvY2siOw0KPiA+ICsgICAgICAgICAgICAgI2Nsb2NrLWNlbGxz ID0gPDA+Ow0KPiA+ICsgICAgICAgICAgICAgY2xvY2stZnJlcXVlbmN5ID0gPDEwMDAwMDAwMD47 DQo+ID4gKyAgICAgICAgICAgICBjbG9jay1vdXRwdXQtbmFtZXMgPSAic3lzY2xrIjsNCj4gPiAr ICAgICB9Ow0KPiA+ICsNCj4gPiArICAgICBzb2Mgew0KPiA+ICsgICAgICAgICAgICAgY29tcGF0 aWJsZSA9ICJzaW1wbGUtYnVzIjsNCj4gPiArICAgICAgICAgICAgICNhZGRyZXNzLWNlbGxzID0g PDI+Ow0KPiA+ICsgICAgICAgICAgICAgI3NpemUtY2VsbHMgPSA8Mj47DQo+ID4gKyAgICAgICAg ICAgICByYW5nZXM7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgY2xvY2tnZW46ICBjbG9ja2lu Z0AxZWUxMDAwew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gImZzbCxs czEwNDNhLWNsb2NrZ2VuIjsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4MCAw eDFlZTEwMDAgMHgwIDB4MTAwMD47DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICNjbG9jay1j ZWxscyA9IDwyPjsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgY2xvY2tzID0gPCZzeXNjbGs+ Ow0KPiA+ICsgICAgICAgICAgICAgfTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICB0aW1lciB7 DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYXJtLGFybXY4LXRpbWVy IjsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0cyA9IDwxIDEzIDB4MT4sIC8q IFBoeXNpY2FsIFNlY3VyZSBQUEkNCj4gKi8NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDwxIDE0IDB4MT4sIC8qIFBoeXNpY2FsIE5vbi1TZWN1cmUNCj4gUFBJICovDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MSAxMSAweDE+LCAvKiBWaXJ0 dWFsIFBQSSAqLw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDEgMTAg MHgxPjsgLyogSHlwZXJ2aXNvciBQUEkgKi8NCj4gPiArICAgICAgICAgICAgIH07DQo+ID4gKw0K PiA+ICsgICAgICAgICAgICAgcG11IHsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgY29tcGF0 aWJsZSA9ICJhcm0sYXJtdjgtcG11djMiOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBpbnRl cnJ1cHRzID0gPDAgMTA2IDB4ND4sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8MCAxMDcgMHg0PiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwwIDk1IDB4ND4sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MCA5 NyAweDQ+Ow0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQtYWZmaW5pdHkgPSA8 JmNwdTA+LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 JmNwdTE+LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 JmNwdTI+LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 JmNwdTM+Ow0KPiA+ICsgICAgICAgICAgICAgfTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICBn aWM6ICBpbnRlcnJ1cHQtY29udHJvbGxlckAxNDAwMDAwew0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICBjb21wYXRpYmxlID0gImFybSxnaWMtNDAwIjsNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgI2ludGVycnVwdC1jZWxscyA9IDwzPjsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgaW50 ZXJydXB0LWNvbnRyb2xsZXI7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDwweDAg MHgxNDAxMDAwIDAgMHgxMDAwPiwgLyogR0lDRCAqLw0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICA8MHgwIDB4MTQwMjAwMCAwIDB4MjAwMD4sIC8qIEdJQ0MgKi8NCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgPDB4MCAweDE0MDQwMDAgMCAweDIwMDA+LCAvKiBHSUNIICov DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDwweDAgMHgxNDA2MDAwIDAgMHgyMDAw PjsgLyogR0lDViAqLw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHRzID0gPDEg OSAweGYwOD47DQo+ID4gKyAgICAgICAgICAgICB9Ow0KPiANCj4gVGhlIHJlY2VudGx5IHBvc3Rl ZCBsczIwODAgZGV2aWNlIHRyZWUgcGF0Y2ggcHV0cyBwbXUsIGdpYywgZXRjLiB1bmRlcg0KPiB0 aGUgcm9vdCBub2RlIHJhdGhlciB0aGFuIHRoZSBzb2Mgbm9kZS4gIFdoZXJlIHNob3VsZCB0aGV5 IGdvPyAgQXQgbGVhc3QNCj4gaXQgc2hvdWxkIGJlIGNvbnNpc3RlbnQuLi4NCg0KV2h5IHRyZWF0 IHBtdSwgZ2ljIGFuZCB0aW1lciBhcyBzcGVjaWFsPyBXaG8gY2FuIGV4cGxhaW4gaXQ/DQpJIGZp bmQgc29tZSB2ZW5kZXJzIHB1dCB0aGUgZ2ljIGFuZC9vciB0aW1lciBub2RlIHVuZGVyIHRoZSBz b2Mgbm9kZSwgc3VjaCBhcw0KYXJjaC9hcm02NC9ib290L2R0cy9tYXJ2ZWxsL2JlcmxpbjRjdC5k dHNpLA0KYXJjaC9hcm02NC9ib290L2R0cy9tZWRpYXRlay9tdDgxNzMuZHRzaSBhbmQNCmFyY2gv YXJtNjQvYm9vdC9kdHMvcWNvbS9tc204OTE2LmR0c2kuDQpTbyBJIHB1dCB0aGVtIHVuZGVybmVh dGggdGhlIHNvYyBub2RlLg0KDQpUaGFua3MsDQpaaGlxaWFuZw0K -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
PiBGcm9tOiBIb3UgWmhpcWlhbmctQjQ4Mjg2DQo+IFNlbnQ6IEZyaWRheSwgT2N0b2JlciAxNiwg MjAxNSA5OjA3IEFNDQo+IA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ IEZyb206IFdvb2QgU2NvdHQtQjA3NDIxDQo+ID4gU2VudDogMjAxNeW5tDEw5pyIMTbml6UgNDo0 Ng0KPiA+IFRvOiBIb3UgWmhpcWlhbmctQjQ4Mjg2DQo+ID4gQ2M6IGxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZzsgY2F0YWxpbi5tYXJpbmFzQGFybS5jb207DQo+ID4gd2lsbC5k ZWFjb25AYXJtLmNvbTsgbGludXgtaTJjQHZnZXIua2VybmVsLm9yZzsgbGludXgtDQo+ID4gd2F0 Y2hkb2dAdmdlci5rZXJuZWwub3JnOyBsaW51eC1kb2NAdmdlci5rZXJuZWwub3JnOyBsaW51eC0N Cj4gPiBjbGtAdmdlci5rZXJuZWwub3JnOyBtYXJrLnJ1dGxhbmRAYXJtLmNvbTsgbGludXhAcm9l Y2stdXMubmV0Ow0KPiA+IHdzYUB0aGUtIGRyZWFtcy5kZTsgd2ltQGlndWFuYS5iZTsgY29yYmV0 QGx3bi5uZXQ7DQo+ID4gbXR1cnF1ZXR0ZUBiYXlsaWJyZS5jb207IHNib3lkQGNvZGVhdXJvcmEu b3JnOyBIdSBNaW5na2FpLUIyMTI4NDsgWGllDQo+ID4gU2hhb2h1aS1CMjE5ODk7IFNoYXJtYSBC aHVwZXNoLUI0NTM3MDsgU29uZyBXZW5iaW4tQjUzNzQ3OyBMaQ0KPiA+IFlhbmctTGVvLVI1ODQ3 MjsgU2hhcm1hIEJodXBlc2gtDQo+ID4gQjQ1MzcwDQo+ID4gU3ViamVjdDogUmU6IFtQQVRDSCBW NCA0LzZdIGFybTY0L2xzMTA0M2E6IGFkZCBEVFMgZm9yIEZyZWVzY2FsZQ0KPiA+IExTMTA0M0Eg U29DDQo+ID4NCj4gPiBPbiBUaHUsIDIwMTUtMTAtMTUgYXQgMjA6MTIgKzA4MDAsIFpoaXFpYW5n IEhvdSB3cm90ZToNCj4gPiA+IEZyb206IE1pbmdrYWkgSHUgPE1pbmdrYWkuSHVAZnJlZXNjYWxl LmNvbT4NCj4gPiA+DQo+ID4gPiBMUzEwNDNhIGlzIGFuIFNvQyB3aXRoIDQgQVJNdjggQTUzIGNv cmVzIGFuZCBtb3N0IG90aGVyIElQIGJsb2Nrcw0KPiA+ID4gc2ltaWxhciB0byBMUzEwMjFhIHdo aWNoIGNvbXBsaWVzIHRvIENoYXNzaXMgMi4xIHNwZWMuDQo+ID4gPg0KPiA+ID4gRm9sbG93aW5n IGxldmVscyBvZiBEVFNJL0RUUyBmaWxlcyBoYXZlIGJlZW4gY3JlYXRlZCBmb3IgdGhlIExTMTA0 M0ENCj4gPiA+IFNvQyBmYW1pbHk6DQo+ID4gPg0KPiA+ID4gLSBmc2wtbHMxMDQzYS5kdHNpOg0K PiA+ID4gICBEVFMtSW5jbHVkZSBmaWxlIGZvciBGU0wgTFMxMDQzQSBTb0MuDQo+ID4gPg0KPiA+ ID4gU2lnbmVkLW9mZi1ieTogTGkgWWFuZyA8bGVvbGlAZnJlZXNjYWxlLmNvbT4NCj4gPiA+IFNp Z25lZC1vZmYtYnk6IEhvdSBaaGlxaWFuZyA8QjQ4Mjg2QGZyZWVzY2FsZS5jb20+DQo+ID4gPiBT aWduZWQtb2ZmLWJ5OiBNaW5na2FpIEh1IDxNaW5na2FpLkh1QGZyZWVzY2FsZS5jb20+DQo+ID4g PiBTaWduZWQtb2ZmLWJ5OiBXZW5iaW4gU29uZyA8V2VuYmluLlNvbmdAZnJlZXNjYWxlLmNvbT4N Cj4gPiA+IC0tLQ0KPiA+ID4gVjQ6DQo+ID4gPiAgLSBBZGQgc29jIG5vZGUgd2l0aCBzaW1wbGUt YnVzIGNvbXBhdGlibGUuDQo+ID4gPiAgLSBBZGQgcHJvcGVydHkgaW50ZXJydXB0LWFmZmluaXR5 IGZvciBhcm12OCBwbXV2MyBub2RlLg0KPiA+ID4NCj4gPiA+IFYzOg0KPiA+ID4gIC0gQWRkIGRl dmljZSB0cmVlIG5vZGUgZm9yIFNBVEEuDQo+ID4gPiAgLSBSZW1vdmUgcHJvcGVyaXR5IGVuYWJs ZS1tZXRob2QgZm9yIGFsbCBjcHUgbm9kZS4NCj4gPiA+ICAgIFJlbW92ZSByZXNlcnZlZCBtZW1v cnkgcmVnaW9uIGZvciBzcGluLXRhYmxlLg0KPiA+ID4NCj4gPiA+IFYyOg0KPiA+ID4gIC0gQWRk IHNlY29uZGFyeSBjb3JlIGJvb3QgbWV0aG9kLg0KPiA+ID4gIC0gTW92ZSBvdXQgdGhlIHN5c2Ns ayBub2RlIGZyb20gdGhlIGNsb2NrZ2VuIG5vZGUuDQo+ID4gPiAgLSBDb3JyZWN0IHRoZSByZWcg c2l6ZSBvZiBHSUNDLg0KPiA+ID4NCj4gPiA+ICBhcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2Fs ZS9mc2wtbHMxMDQzYS5kdHNpIHwgNTI1DQo+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysr DQo+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDUyNSBpbnNlcnRpb25zKCspDQo+ID4gPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IGFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwNDNhLmR0 c2kNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2Nh bGUvZnNsLWxzMTA0M2EuZHRzaQ0KPiA+ID4gYi9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2Fs ZS9mc2wtbHMxMDQzYS5kdHNpDQo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gaW5k ZXggMDAwMDAwMC4uMWE1YmY3OQ0KPiA+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gKysrIGIvYXJj aC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA0M2EuZHRzaQ0KPiA+ID4gQEAgLTAs MCArMSw1MjUgQEANCj4gPiA+ICsvKg0KPiA+ID4gKyAqIERldmljZSBUcmVlIEluY2x1ZGUgZmls ZSBmb3IgRnJlZXNjYWxlIExheWVyc2NhcGUtMTA0M0EgZmFtaWx5DQo+IFNvQy4NCj4gPiA+ICsg Kg0KPiA+ID4gKyAqIENvcHlyaWdodCAyMDE0LTIwMTUsIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9y DQo+ID4gPiArICoNCj4gPiA+ICsgKiBNaW5na2FpIEh1IDxNaW5na2FpLmh1QGZyZWVzY2FsZS5j b20+DQo+ID4gPiArICoNCj4gPiA+ICsgKiBUaGlzIGZpbGUgaXMgZHVhbC1saWNlbnNlZDogeW91 IGNhbiB1c2UgaXQgZWl0aGVyIHVuZGVyIHRoZQ0KPiA+ID4gK3Rlcm1zDQo+ID4gPiArICogb2Yg dGhlIEdQTHYyIG9yIHRoZSBYMTEgbGljZW5zZSwgYXQgeW91ciBvcHRpb24uIE5vdGUgdGhhdCB0 aGlzDQo+ID4gPiArZHVhbA0KPiA+ID4gKyAqIGxpY2Vuc2luZyBvbmx5IGFwcGxpZXMgdG8gdGhp cyBmaWxlLCBhbmQgbm90IHRoaXMgcHJvamVjdCBhcyBhDQo+ID4gPiArICogd2hvbGUuDQo+ID4g PiArICoNCj4gPiA+ICsgKiAgYSkgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcg0KPiA+ID4gKyAqICAgICBtb2RpZnkgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KPiBhcw0KPiA+ID4g KyAqICAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMg0KPiBvZg0KPiA+IHRoZQ0KPiA+ID4gKyAqICAgICBMaWNlbnNlLCBvciAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KPiA+ID4gKyAqDQo+ID4gPiArICogICAg IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUN Cj4gdXNlZnVsLA0KPiA+ID4gKyAqICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eQ0KPiBvZg0KPiA+ID4gKyAqICAgICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQo+ ID4gPiArICogICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu DQo+ID4gPiArICoNCj4gPiA+ICsgKiBPciwgYWx0ZXJuYXRpdmVseSwNCj4gPiA+ICsgKg0KPiA+ ID4gKyAqICBiKSBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg dG8gYW55IHBlcnNvbg0KPiA+ID4gKyAqICAgICBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29m dHdhcmUgYW5kIGFzc29jaWF0ZWQNCj4gZG9jdW1lbnRhdGlvbg0KPiA+ID4gKyAqICAgICBmaWxl cyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0DQo+ID4g PiArICogICAgIHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBy aWdodHMgdG8gdXNlLA0KPiA+ID4gKyAqICAgICBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo LCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3INCj4gPiA+ICsgKiAgICAgc2VsbCBjb3Bp ZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbQ0KPiB0aGUN Cj4gPiA+ICsgKiAgICAgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv IHRoZSBmb2xsb3dpbmcNCj4gPiA+ICsgKiAgICAgY29uZGl0aW9uczoNCj4gPiA+ICsgKg0KPiA+ ID4gKyAqICAgICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u IG5vdGljZSBzaGFsbA0KPiBiZQ0KPiA+ID4gKyAqICAgICBpbmNsdWRlZCBpbiBhbGwgY29waWVz IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQ0KPiBTb2Z0d2FyZS4NCj4gPiA+ICsgKg0K PiA+ID4gKyAqICAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkNCj4gS0lORCwNCj4gPiA+ICsgKiAgICAgRVhQUkVTUyBPUiBJTVBMSUVE LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRQ0KPiBXQVJSQU5USUVTDQo+ID4gPiAr ICogICAgIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UgQU5EDQo+ID4gPiArICogICAgIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwg VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUDQo+ID4gPiArICogICAgIEhPTERFUlMgQkUgTElBQkxF IEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLA0KPiA+ID4gKyAqICAg ICBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFS SVNJTkcNCj4gPiA+ICsgKiAgICAgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU SEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUg0KPiA+ID4gKyAqICAgICBPVEhFUiBERUFMSU5HUyBJ TiBUSEUgU09GVFdBUkUuDQo+ID4gPiArICovDQo+ID4gPiArDQo+ID4gPiArLyB7DQo+ID4gPiAr ICAgICBjb21wYXRpYmxlID0gImZzbCxsczEwNDNhIjsNCj4gPiA+ICsgICAgIGludGVycnVwdC1w YXJlbnQgPSA8JmdpYz47DQo+ID4gPiArICAgICAjYWRkcmVzcy1jZWxscyA9IDwyPjsNCj4gPiA+ ICsgICAgICNzaXplLWNlbGxzID0gPDI+Ow0KPiA+ID4gKw0KPiA+ID4gKyAgICAgY3B1cyB7DQo+ ID4gPiArICAgICAgICAgICAgICNhZGRyZXNzLWNlbGxzID0gPDI+Ow0KPiA+ID4gKyAgICAgICAg ICAgICAjc2l6ZS1jZWxscyA9IDwwPjsNCj4gPiA+ICsNCj4gPiA+ICsgICAgICAgICAgICAgLyoN Cj4gPiA+ICsgICAgICAgICAgICAgICogV2UgZXhwZWN0IHRoZSBlbmFibGUtbWV0aG9kIGZvciBj cHUncyB0byBiZSAicHNjaSIsDQo+ID4gYnV0IHRoaXMNCj4gPiA+ICsgICAgICAgICAgICAgICog aXMgZGVwZW5kZW50IG9uIHRoZSBTb0MgRlcsIHdoaWNoIHdpbGwgZmlsbCB0aGlzIGluLg0KPiA+ ID4gKyAgICAgICAgICAgICAgKg0KPiA+ID4gKyAgICAgICAgICAgICAgKiBDdXJyZW50bHkgc3Vw cG9ydGVkIGVuYWJsZS1tZXRob2QgaXMgcHNjaSB2MC4yDQo+ID4gPiArICAgICAgICAgICAgICAq Lw0KPiA+ID4gKyAgICAgICAgICAgICBjcHUwOiAgY3B1QDB7DQo+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgZGV2aWNlX3R5cGUgPSAiY3B1IjsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICBjb21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTUzIjsNCj4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICByZWcgPSA8MHgwIDB4MD47DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgY2xvY2tz ID0gPCZjbG9ja2dlbiAxIDA+Ow0KPiA+ID4gKyAgICAgICAgICAgICB9Ow0KPiA+ID4gKw0KPiA+ ID4gKyAgICAgICAgICAgICBjcHUxOiAgY3B1QDF7DQo+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgZGV2aWNlX3R5cGUgPSAiY3B1IjsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBjb21w YXRpYmxlID0gImFybSxjb3J0ZXgtYTUzIjsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBy ZWcgPSA8MHgwIDB4MT47DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgY2xvY2tzID0gPCZj bG9ja2dlbiAxIDA+Ow0KPiA+ID4gKyAgICAgICAgICAgICB9Ow0KPiA+ID4gKw0KPiA+ID4gKyAg ICAgICAgICAgICBjcHUyOiAgY3B1QDJ7DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgZGV2 aWNlX3R5cGUgPSAiY3B1IjsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxl ID0gImFybSxjb3J0ZXgtYTUzIjsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICByZWcgPSA8 MHgwIDB4Mj47DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgY2xvY2tzID0gPCZjbG9ja2dl biAxIDA+Ow0KPiA+ID4gKyAgICAgICAgICAgICB9Ow0KPiA+ID4gKw0KPiA+ID4gKyAgICAgICAg ICAgICBjcHUzOiAgY3B1QDN7DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3R5 cGUgPSAiY3B1IjsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gImFy bSxjb3J0ZXgtYTUzIjsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHgwIDB4 Mz47DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgY2xvY2tzID0gPCZjbG9ja2dlbiAxIDA+ Ow0KPiA+ID4gKyAgICAgICAgICAgICB9Ow0KPiA+ID4gKyAgICAgfTsNCj4gPiA+ICsNCj4gPiA+ ICsgICAgICBtZW1vcnlAODAwMDAwMDB7DQo+ID4gPiArICAgICAgICAgICAgIGRldmljZV90eXBl ID0gIm1lbW9yeSI7DQo+ID4gPiArICAgICAgICAgICAgIHJlZyA9IDwweDAgMHg4MDAwMDAwMCAw IDB4ODAwMDAwMDA+Ow0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAvKiBEUkFNIHNwYWNlIDEs IHNpemU6IDJHaUIgRFJBTSAqLw0KPiA+ID4gKyAgICAgfTsNCj4gPiA+ICsNCj4gPiA+ICsgICAg IHN5c2Nsazogc3lzY2xrIHsNCj4gPiA+ICsgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJmaXhl ZC1jbG9jayI7DQo+ID4gPiArICAgICAgICAgICAgICNjbG9jay1jZWxscyA9IDwwPjsNCj4gPiA+ ICsgICAgICAgICAgICAgY2xvY2stZnJlcXVlbmN5ID0gPDEwMDAwMDAwMD47DQo+ID4gPiArICAg ICAgICAgICAgIGNsb2NrLW91dHB1dC1uYW1lcyA9ICJzeXNjbGsiOw0KPiA+ID4gKyAgICAgfTsN Cj4gPiA+ICsNCj4gPiA+ICsgICAgIHNvYyB7DQo+ID4gPiArICAgICAgICAgICAgIGNvbXBhdGli bGUgPSAic2ltcGxlLWJ1cyI7DQo+ID4gPiArICAgICAgICAgICAgICNhZGRyZXNzLWNlbGxzID0g PDI+Ow0KPiA+ID4gKyAgICAgICAgICAgICAjc2l6ZS1jZWxscyA9IDwyPjsNCj4gPiA+ICsgICAg ICAgICAgICAgcmFuZ2VzOw0KPiA+ID4gKw0KPiA+ID4gKyAgICAgICAgICAgICBjbG9ja2dlbjog IGNsb2NraW5nQDFlZTEwMDB7DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgY29tcGF0aWJs ZSA9ICJmc2wsbHMxMDQzYS1jbG9ja2dlbiI7DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAg cmVnID0gPDB4MCAweDFlZTEwMDAgMHgwIDB4MTAwMD47DQo+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgI2Nsb2NrLWNlbGxzID0gPDI+Ow0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNs b2NrcyA9IDwmc3lzY2xrPjsNCj4gPiA+ICsgICAgICAgICAgICAgfTsNCj4gPiA+ICsNCj4gPiA+ ICsgICAgICAgICAgICAgdGltZXIgew0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNvbXBh dGlibGUgPSAiYXJtLGFybXY4LXRpbWVyIjsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBp bnRlcnJ1cHRzID0gPDEgMTMgMHgxPiwgLyogUGh5c2ljYWwgU2VjdXJlDQo+ID4gPiArIFBQSQ0K PiA+ICovDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwxIDE0IDB4 MT4sIC8qIFBoeXNpY2FsDQo+ID4gPiArIE5vbi1TZWN1cmUNCj4gPiBQUEkgKi8NCj4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDEgMTEgMHgxPiwgLyogVmlydHVhbCBQ UEkgKi8NCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDEgMTAgMHgx PjsgLyogSHlwZXJ2aXNvciBQUEkgKi8NCj4gPiA+ICsgICAgICAgICAgICAgfTsNCj4gPiA+ICsN Cj4gPiA+ICsgICAgICAgICAgICAgcG11IHsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBj b21wYXRpYmxlID0gImFybSxhcm12OC1wbXV2MyI7DQo+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgaW50ZXJydXB0cyA9IDwwIDEwNiAweDQ+LA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8MCAxMDcgMHg0PiwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPDAgOTUgMHg0PiwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPDAgOTcgMHg0PjsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1 cHQtYWZmaW5pdHkgPSA8JmNwdTA+LA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDwmY3B1MT4sDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPCZjcHUyPiwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8JmNwdTM+Ow0KPiA+ID4gKyAgICAgICAgICAgICB9Ow0KPiA+ ID4gKw0KPiA+ID4gKyAgICAgICAgICAgICBnaWM6ICBpbnRlcnJ1cHQtY29udHJvbGxlckAxNDAw MDAwew0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYXJtLGdpYy00 MDAiOw0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICNpbnRlcnJ1cHQtY2VsbHMgPSA8Mz47 DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0LWNvbnRyb2xsZXI7DQo+ID4g PiArICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4MCAweDE0MDEwMDAgMCAweDEwMDA+LCAv KiBHSUNEICovDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgPDB4MCAweDE0MDIw MDAgMCAweDIwMDA+LCAvKiBHSUNDICovDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgPDB4MCAweDE0MDQwMDAgMCAweDIwMDA+LCAvKiBHSUNIICovDQo+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgPDB4MCAweDE0MDYwMDAgMCAweDIwMDA+OyAvKiBHSUNWICovDQo+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0cyA9IDwxIDkgMHhmMDg+Ow0KPiA+ ID4gKyAgICAgICAgICAgICB9Ow0KPiA+DQo+ID4gVGhlIHJlY2VudGx5IHBvc3RlZCBsczIwODAg ZGV2aWNlIHRyZWUgcGF0Y2ggcHV0cyBwbXUsIGdpYywgZXRjLiB1bmRlcg0KPiA+IHRoZSByb290 IG5vZGUgcmF0aGVyIHRoYW4gdGhlIHNvYyBub2RlLiAgV2hlcmUgc2hvdWxkIHRoZXkgZ28/ICBB dA0KPiA+IGxlYXN0IGl0IHNob3VsZCBiZSBjb25zaXN0ZW50Li4uDQo+IA0KPiBXaHkgdHJlYXQg cG11LCBnaWMgYW5kIHRpbWVyIGFzIHNwZWNpYWw/IFdobyBjYW4gZXhwbGFpbiBpdD8NCj4gSSBm aW5kIHNvbWUgdmVuZGVycyBwdXQgdGhlIGdpYyBhbmQvb3IgdGltZXIgbm9kZSB1bmRlciB0aGUg c29jIG5vZGUsDQo+IHN1Y2ggYXMgYXJjaC9hcm02NC9ib290L2R0cy9tYXJ2ZWxsL2JlcmxpbjRj dC5kdHNpLA0KPiBhcmNoL2FybTY0L2Jvb3QvZHRzL21lZGlhdGVrL210ODE3My5kdHNpIGFuZA0K PiBhcmNoL2FybTY0L2Jvb3QvZHRzL3Fjb20vbXNtODkxNi5kdHNpLg0KPiBTbyBJIHB1dCB0aGVt IHVuZGVybmVhdGggdGhlIHNvYyBub2RlLg0KDQpBcyB5b3Ugc2FpZCBpdCBkZXBlbmRzIG9uIHlv dXIgU09DIGFyY2hpdGVjdHVyZSBhbmQgYnVzIGxheW91dC4NCg0KMS4gQVJNdjggdGltZXIgaXMg YSBwZXItY29yZSB0aW1lciB3aXRoIGEgZ2xvYmFsIHRpbWViYXNlLCBzbyBpdCBkb2Vzbid0IG1h a2UgbXVjaCBzZW5zZQ0KdG8gcGxhY2UgaXQgdW5kZXIgL3NvYyBub2RlIGFzIHdlIGRvbid0IGtl ZXAgL2NwdXMgdW5kZXIgdGhlIC9zb2Mgbm9kZSBhcyB3ZWxsDQoNCjIuIFNpbWlsYXJseSBmb3Ig R0lDIGFuZCBUaW1lci4NCg0KSG93ZXZlciwgeW91ciBTb0MgYnVzIGxheW91dCBtaWdodCBiZSBk aWZmZXJlbnQuIFNvIGlmIHlvdSBoYXZlIGV4YWN0IGlkZWEgb2YgdGhlIGJ1cw0KbGF5b3V0IGZv ciB5b3VyIFNvQywgYmV0dGVyIHRvIHVzZSBleGFjdCBuYW1lcyBsaWtlIEFIQiwgQVBCIGFuZCBB WEkuDQoNClJlZmVyIHRvIElNWDI4IGJ1cyBvcmdhbml6YXRpb24gZXhhbXBsZSAoc2xpZGUgMjQv NDUpIGluICdkZXZpY2UtdHJlZSBmb3IgZHVtbWllcyBwZGYnIFsxXQ0KDQpbMV0gaHR0cHM6Ly9l dmVudHMubGludXhmb3VuZGF0aW9uLm9yZy9zaXRlcy9ldmVudHMvZmlsZXMvc2xpZGVzL3BldGF6 em9uaS1kZXZpY2UtdHJlZS1kdW1taWVzLnBkZg0K -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> -----Original Message----- > From: Sharma Bhupesh-B45370 > Sent: 2015年10月16日 13:12 > To: Hou Zhiqiang-B48286; Wood Scott-B07421 > Cc: linux-arm-kernel@lists.infradead.org; catalin.marinas@arm.com; > will.deacon@arm.com; linux-i2c@vger.kernel.org; linux- > watchdog@vger.kernel.org; linux-doc@vger.kernel.org; linux- > clk@vger.kernel.org; mark.rutland@arm.com; linux@roeck-us.net; wsa@the- > dreams.de; wim@iguana.be; corbet@lwn.net; mturquette@baylibre.com; > sboyd@codeaurora.org; Hu Mingkai-B21284; Xie Shaohui-B21989; Song Wenbin- > B53747; Li Yang-Leo-R58472 > Subject: RE: [PATCH V4 4/6] arm64/ls1043a: add DTS for Freescale LS1043A > SoC > > > From: Hou Zhiqiang-B48286 > > Sent: Friday, October 16, 2015 9:07 AM > > > > > > > -----Original Message----- > > > From: Wood Scott-B07421 > > > Sent: 2015年10月16日 4:46 > > > To: Hou Zhiqiang-B48286 > > > Cc: linux-arm-kernel@lists.infradead.org; catalin.marinas@arm.com; > > > will.deacon@arm.com; linux-i2c@vger.kernel.org; linux- > > > watchdog@vger.kernel.org; linux-doc@vger.kernel.org; linux- > > > clk@vger.kernel.org; mark.rutland@arm.com; linux@roeck-us.net; > > > wsa@the- dreams.de; wim@iguana.be; corbet@lwn.net; > > > mturquette@baylibre.com; sboyd@codeaurora.org; Hu Mingkai-B21284; > > > Xie Shaohui-B21989; Sharma Bhupesh-B45370; Song Wenbin-B53747; Li > > > Yang-Leo-R58472; Sharma Bhupesh- > > > B45370 > > > Subject: Re: [PATCH V4 4/6] arm64/ls1043a: add DTS for Freescale > > > LS1043A SoC > > > > > > On Thu, 2015-10-15 at 20:12 +0800, Zhiqiang Hou wrote: > > > > From: Mingkai Hu <Mingkai.Hu@freescale.com> > > > > > > > > LS1043a is an SoC with 4 ARMv8 A53 cores and most other IP blocks > > > > similar to LS1021a which complies to Chassis 2.1 spec. > > > > > > > > Following levels of DTSI/DTS files have been created for the > > > > LS1043A SoC family: > > > > > > > > - fsl-ls1043a.dtsi: > > > > DTS-Include file for FSL LS1043A SoC. > > > > > > > > Signed-off-by: Li Yang <leoli@freescale.com> > > > > Signed-off-by: Hou Zhiqiang <B48286@freescale.com> > > > > Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com> > > > > Signed-off-by: Wenbin Song <Wenbin.Song@freescale.com> > > > > --- > > > > V4: > > > > - Add soc node with simple-bus compatible. > > > > - Add property interrupt-affinity for armv8 pmuv3 node. > > > > > > > > V3: > > > > - Add device tree node for SATA. > > > > - Remove properity enable-method for all cpu node. > > > > Remove reserved memory region for spin-table. > > > > > > > > V2: > > > > - Add secondary core boot method. > > > > - Move out the sysclk node from the clockgen node. > > > > - Correct the reg size of GICC. > > > > > > > > arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 525 > > > > +++++++++++++++++++++++++ > > > > 1 file changed, 525 insertions(+) create mode 100644 > > > > arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > > > > > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > > > > new file mode 100644 > > > > index 0000000..1a5bf79 > > > > --- /dev/null > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi > > > > @@ -0,0 +1,525 @@ > > > > +/* > > > > + * Device Tree Include file for Freescale Layerscape-1043A family > > SoC. > > > > + * > > > > + * Copyright 2014-2015, Freescale Semiconductor > > > > + * > > > > + * Mingkai Hu <Mingkai.hu@freescale.com> > > > > + * > > > > + * This file is dual-licensed: you can use it either under the > > > > +terms > > > > + * of the GPLv2 or the X11 license, at your option. Note that > > > > +this dual > > > > + * licensing only applies to this file, and not this project as a > > > > + * whole. > > > > + * > > > > + * a) This library is free software; you can redistribute it > and/or > > > > + * modify it under the terms of the GNU General Public License > > as > > > > + * published by the Free Software Foundation; either version 2 > > of > > > the > > > > + * License, or (at your option) any later version. > > > > + * > > > > + * This library is distributed in the hope that it will be > > useful, > > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty > > of > > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See > the > > > > + * GNU General Public License for more details. > > > > + * > > > > + * Or, alternatively, > > > > + * > > > > + * b) Permission is hereby granted, free of charge, to any person > > > > + * obtaining a copy of this software and associated > > documentation > > > > + * files (the "Software"), to deal in the Software without > > > > + * restriction, including without limitation the rights to use, > > > > + * copy, modify, merge, publish, distribute, sublicense, > and/or > > > > + * sell copies of the Software, and to permit persons to whom > > the > > > > + * Software is furnished to do so, subject to the following > > > > + * conditions: > > > > + * > > > > + * The above copyright notice and this permission notice shall > > be > > > > + * included in all copies or substantial portions of the > > Software. > > > > + * > > > > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY > > KIND, > > > > + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE > > WARRANTIES > > > > + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > > > > + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT > > > > + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, > > > > + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, > ARISING > > > > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE > OR > > > > + * OTHER DEALINGS IN THE SOFTWARE. > > > > + */ > > > > + > > > > +/ { > > > > + compatible = "fsl,ls1043a"; > > > > + interrupt-parent = <&gic>; > > > > + #address-cells = <2>; > > > > + #size-cells = <2>; > > > > + > > > > + cpus { > > > > + #address-cells = <2>; > > > > + #size-cells = <0>; > > > > + > > > > + /* > > > > + * We expect the enable-method for cpu's to be > > > > + "psci", > > > but this > > > > + * is dependent on the SoC FW, which will fill this > in. > > > > + * > > > > + * Currently supported enable-method is psci v0.2 > > > > + */ > > > > + cpu0: cpu@0{ > > > > + device_type = "cpu"; > > > > + compatible = "arm,cortex-a53"; > > > > + reg = <0x0 0x0>; > > > > + clocks = <&clockgen 1 0>; > > > > + }; > > > > + > > > > + cpu1: cpu@1{ > > > > + device_type = "cpu"; > > > > + compatible = "arm,cortex-a53"; > > > > + reg = <0x0 0x1>; > > > > + clocks = <&clockgen 1 0>; > > > > + }; > > > > + > > > > + cpu2: cpu@2{ > > > > + device_type = "cpu"; > > > > + compatible = "arm,cortex-a53"; > > > > + reg = <0x0 0x2>; > > > > + clocks = <&clockgen 1 0>; > > > > + }; > > > > + > > > > + cpu3: cpu@3{ > > > > + device_type = "cpu"; > > > > + compatible = "arm,cortex-a53"; > > > > + reg = <0x0 0x3>; > > > > + clocks = <&clockgen 1 0>; > > > > + }; > > > > + }; > > > > + > > > > + memory@80000000{ > > > > + device_type = "memory"; > > > > + reg = <0x0 0x80000000 0 0x80000000>; > > > > + /* DRAM space 1, size: 2GiB DRAM */ > > > > + }; > > > > + > > > > + sysclk: sysclk { > > > > + compatible = "fixed-clock"; > > > > + #clock-cells = <0>; > > > > + clock-frequency = <100000000>; > > > > + clock-output-names = "sysclk"; > > > > + }; > > > > + > > > > + soc { > > > > + compatible = "simple-bus"; > > > > + #address-cells = <2>; > > > > + #size-cells = <2>; > > > > + ranges; > > > > + > > > > + clockgen: clocking@1ee1000{ > > > > + compatible = "fsl,ls1043a-clockgen"; > > > > + reg = <0x0 0x1ee1000 0x0 0x1000>; > > > > + #clock-cells = <2>; > > > > + clocks = <&sysclk>; > > > > + }; > > > > + > > > > + timer { > > > > + compatible = "arm,armv8-timer"; > > > > + interrupts = <1 13 0x1>, /* Physical Secure > > > > + PPI > > > */ > > > > + <1 14 0x1>, /* Physical > > > > + Non-Secure > > > PPI */ > > > > + <1 11 0x1>, /* Virtual PPI */ > > > > + <1 10 0x1>; /* Hypervisor PPI */ > > > > + }; > > > > + > > > > + pmu { > > > > + compatible = "arm,armv8-pmuv3"; > > > > + interrupts = <0 106 0x4>, > > > > + <0 107 0x4>, > > > > + <0 95 0x4>, > > > > + <0 97 0x4>; > > > > + interrupt-affinity = <&cpu0>, > > > > + <&cpu1>, > > > > + <&cpu2>, > > > > + <&cpu3>; > > > > + }; > > > > + > > > > + gic: interrupt-controller@1400000{ > > > > + compatible = "arm,gic-400"; > > > > + #interrupt-cells = <3>; > > > > + interrupt-controller; > > > > + reg = <0x0 0x1401000 0 0x1000>, /* GICD */ > > > > + <0x0 0x1402000 0 0x2000>, /* GICC */ > > > > + <0x0 0x1404000 0 0x2000>, /* GICH */ > > > > + <0x0 0x1406000 0 0x2000>; /* GICV */ > > > > + interrupts = <1 9 0xf08>; > > > > + }; > > > > > > The recently posted ls2080 device tree patch puts pmu, gic, etc. > > > under the root node rather than the soc node. Where should they go? > > > At least it should be consistent... > > > > Why treat pmu, gic and timer as special? Who can explain it? > > I find some venders put the gic and/or timer node under the soc node, > > such as arch/arm64/boot/dts/marvell/berlin4ct.dtsi, > > arch/arm64/boot/dts/mediatek/mt8173.dtsi and > > arch/arm64/boot/dts/qcom/msm8916.dtsi. > > So I put them underneath the soc node. > > As you said it depends on your SOC architecture and bus layout. > > 1. ARMv8 timer is a per-core timer with a global timebase, so it doesn't > make much sense to place it under /soc node as we don't keep /cpus under > the /soc node as well > > 2. Similarly for GIC and Timer. > > However, your SoC bus layout might be different. So if you have exact > idea of the bus layout for your SoC, better to use exact names like AHB, > APB and AXI. > Thanks for your clarify. > Refer to IMX28 bus organization example (slide 24/45) in 'device-tree for > dummies pdf' [1] > > [1] > https://events.linuxfoundation.org/sites/events/files/slides/petazzoni- > device-tree-dummies.pdf Thanks, Zhiqiang
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi new file mode 100644 index 0000000..1a5bf79 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi @@ -0,0 +1,525 @@ +/* + * Device Tree Include file for Freescale Layerscape-1043A family SoC. + * + * Copyright 2014-2015, Freescale Semiconductor + * + * Mingkai Hu <Mingkai.hu@freescale.com> + * + * This file is dual-licensed: you can use it either under the terms + * of the GPLv2 or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +/ { + compatible = "fsl,ls1043a"; + interrupt-parent = <&gic>; + #address-cells = <2>; + #size-cells = <2>; + + cpus { + #address-cells = <2>; + #size-cells = <0>; + + /* + * We expect the enable-method for cpu's to be "psci", but this + * is dependent on the SoC FW, which will fill this in. + * + * Currently supported enable-method is psci v0.2 + */ + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x0 0x0>; + clocks = <&clockgen 1 0>; + }; + + cpu1: cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x0 0x1>; + clocks = <&clockgen 1 0>; + }; + + cpu2: cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x0 0x2>; + clocks = <&clockgen 1 0>; + }; + + cpu3: cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x0 0x3>; + clocks = <&clockgen 1 0>; + }; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x80000000 0 0x80000000>; + /* DRAM space 1, size: 2GiB DRAM */ + }; + + sysclk: sysclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <100000000>; + clock-output-names = "sysclk"; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + + clockgen: clocking@1ee1000 { + compatible = "fsl,ls1043a-clockgen"; + reg = <0x0 0x1ee1000 0x0 0x1000>; + #clock-cells = <2>; + clocks = <&sysclk>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <1 13 0x1>, /* Physical Secure PPI */ + <1 14 0x1>, /* Physical Non-Secure PPI */ + <1 11 0x1>, /* Virtual PPI */ + <1 10 0x1>; /* Hypervisor PPI */ + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = <0 106 0x4>, + <0 107 0x4>, + <0 95 0x4>, + <0 97 0x4>; + interrupt-affinity = <&cpu0>, + <&cpu1>, + <&cpu2>, + <&cpu3>; + }; + + gic: interrupt-controller@1400000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; + interrupt-controller; + reg = <0x0 0x1401000 0 0x1000>, /* GICD */ + <0x0 0x1402000 0 0x2000>, /* GICC */ + <0x0 0x1404000 0 0x2000>, /* GICH */ + <0x0 0x1406000 0 0x2000>; /* GICV */ + interrupts = <1 9 0xf08>; + }; + + scfg: scfg@1570000 { + compatible = "fsl,ls1043a-scfg", "syscon"; + reg = <0x0 0x1570000 0x0 0x10000>; + big-endian; + }; + + dcfg: dcfg@1ee0000 { + compatible = "fsl,ls1043a-dcfg", "syscon"; + reg = <0x0 0x1ee0000 0x0 0x10000>; + }; + + ifc: ifc@1530000 { + compatible = "fsl,ifc", "simple-bus"; + reg = <0x0 0x1530000 0x0 0x10000>; + interrupts = <0 43 0x4>; + }; + + esdhc: esdhc@1560000 { + compatible = "fsl,ls1043a-esdhc", "fsl,esdhc"; + reg = <0x0 0x1560000 0x0 0x10000>; + interrupts = <0 62 0x4>; + clock-frequency = <0>; + voltage-ranges = <1800 1800 3300 3300>; + sdhci,auto-cmd12; + big-endian; + bus-width = <4>; + }; + + dspi0: dspi@2100000 { + compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x0 0x2100000 0x0 0x10000>; + interrupts = <0 64 0x4>; + clock-names = "dspi"; + clocks = <&clockgen 4 0>; + spi-num-chipselects = <5>; + big-endian; + status = "disabled"; + }; + + dspi1: dspi@2110000 { + compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x0 0x2110000 0x0 0x10000>; + interrupts = <0 65 0x4>; + clock-names = "dspi"; + clocks = <&clockgen 4 0>; + spi-num-chipselects = <5>; + big-endian; + status = "disabled"; + }; + + i2c0: i2c@2180000 { + compatible = "fsl,vf610-i2c"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x0 0x2180000 0x0 0x10000>; + interrupts = <0 56 0x4>; + clock-names = "i2c"; + clocks = <&clockgen 4 0>; + dmas = <&edma0 1 39>, + <&edma0 1 38>; + dma-names = "tx", "rx"; + status = "disabled"; + }; + + i2c1: i2c@2190000 { + compatible = "fsl,vf610-i2c"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x0 0x2190000 0x0 0x10000>; + interrupts = <0 57 0x4>; + clock-names = "i2c"; + clocks = <&clockgen 4 0>; + status = "disabled"; + }; + + i2c2: i2c@21a0000 { + compatible = "fsl,vf610-i2c"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x0 0x21a0000 0x0 0x10000>; + interrupts = <0 58 0x4>; + clock-names = "i2c"; + clocks = <&clockgen 4 0>; + status = "disabled"; + }; + + i2c3: i2c@21b0000 { + compatible = "fsl,vf610-i2c"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x0 0x21b0000 0x0 0x10000>; + interrupts = <0 59 0x4>; + clock-names = "i2c"; + clocks = <&clockgen 4 0>; + status = "disabled"; + }; + + duart0: serial@21c0500 { + compatible = "fsl,ns16550", "ns16550a"; + reg = <0x00 0x21c0500 0x0 0x100>; + interrupts = <0 54 0x4>; + clocks = <&clockgen 4 0>; + }; + + duart1: serial@21c0600 { + compatible = "fsl,ns16550", "ns16550a"; + reg = <0x00 0x21c0600 0x0 0x100>; + interrupts = <0 54 0x4>; + clocks = <&clockgen 4 0>; + }; + + duart2: serial@21d0500 { + compatible = "fsl,ns16550", "ns16550a"; + reg = <0x0 0x21d0500 0x0 0x100>; + interrupts = <0 55 0x4>; + clocks = <&clockgen 4 0>; + }; + + duart3: serial@21d0600 { + compatible = "fsl,ns16550", "ns16550a"; + reg = <0x0 0x21d0600 0x0 0x100>; + interrupts = <0 55 0x4>; + clocks = <&clockgen 4 0>; + }; + + gpio1: gpio@2300000 { + compatible = "fsl,ls1043a-gpio"; + reg = <0x0 0x2300000 0x0 0x10000>; + interrupts = <0 66 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio2: gpio@2310000 { + compatible = "fsl,ls1043a-gpio"; + reg = <0x0 0x2310000 0x0 0x10000>; + interrupts = <0 67 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio3: gpio@2320000 { + compatible = "fsl,ls1043a-gpio"; + reg = <0x0 0x2320000 0x0 0x10000>; + interrupts = <0 68 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio4: gpio@2330000 { + compatible = "fsl,ls1043a-gpio"; + reg = <0x0 0x2330000 0x0 0x10000>; + interrupts = <0 134 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + lpuart0: serial@2950000 { + compatible = "fsl,ls1021a-lpuart"; + reg = <0x0 0x2950000 0x0 0x1000>; + interrupts = <0 48 0x4>; + clocks = <&clockgen 0 0>; + clock-names = "ipg"; + status = "disabled"; + }; + + lpuart1: serial@2960000 { + compatible = "fsl,ls1021a-lpuart"; + reg = <0x0 0x2960000 0x0 0x1000>; + interrupts = <0 49 0x4>; + clocks = <&clockgen 4 0>; + clock-names = "ipg"; + status = "disabled"; + }; + + lpuart2: serial@2970000 { + compatible = "fsl,ls1021a-lpuart"; + reg = <0x0 0x2970000 0x0 0x1000>; + interrupts = <0 50 0x4>; + clocks = <&clockgen 4 0>; + clock-names = "ipg"; + status = "disabled"; + }; + + lpuart3: serial@2980000 { + compatible = "fsl,ls1021a-lpuart"; + reg = <0x0 0x2980000 0x0 0x1000>; + interrupts = <0 51 0x4>; + clocks = <&clockgen 4 0>; + clock-names = "ipg"; + status = "disabled"; + }; + + lpuart4: serial@2990000 { + compatible = "fsl,ls1021a-lpuart"; + reg = <0x0 0x2990000 0x0 0x1000>; + interrupts = <0 52 0x4>; + clocks = <&clockgen 4 0>; + clock-names = "ipg"; + status = "disabled"; + }; + + lpuart5: serial@29a0000 { + compatible = "fsl,ls1021a-lpuart"; + reg = <0x0 0x29a0000 0x0 0x1000>; + interrupts = <0 53 0x4>; + clocks = <&clockgen 4 0>; + clock-names = "ipg"; + status = "disabled"; + }; + + wdog0: wdog@2ad0000 { + compatible = "fsl,ls1043a-wdt", "fsl,imx21-wdt"; + reg = <0x0 0x2ad0000 0x0 0x10000>; + interrupts = <0 83 0x4>; + clocks = <&clockgen 4 0>; + clock-names = "wdog"; + big-endian; + }; + + edma0: edma@2c00000 { + #dma-cells = <2>; + compatible = "fsl,vf610-edma"; + reg = <0x0 0x2c00000 0x0 0x10000>, + <0x0 0x2c10000 0x0 0x10000>, + <0x0 0x2c20000 0x0 0x10000>; + interrupts = <0 103 0x4>, + <0 103 0x4>; + interrupt-names = "edma-tx", "edma-err"; + dma-channels = <32>; + big-endian; + clock-names = "dmamux0", "dmamux1"; + clocks = <&clockgen 4 0>, + <&clockgen 4 0>; + }; + + usb0: usb3@2f00000 { + compatible = "snps,dwc3"; + reg = <0x0 0x2f00000 0x0 0x10000>; + interrupts = <0 60 0x4>; + dr_mode = "host"; + }; + + usb1: usb3@3000000 { + compatible = "snps,dwc3"; + reg = <0x0 0x3000000 0x0 0x10000>; + interrupts = <0 61 0x4>; + dr_mode = "host"; + }; + + usb2: usb3@3100000 { + compatible = "snps,dwc3"; + reg = <0x0 0x3100000 0x0 0x10000>; + interrupts = <0 63 0x4>; + dr_mode = "host"; + }; + + sata: sata@3200000 { + compatible = "fsl,ls1043a-ahci", "fsl,ls1021a-ahci"; + reg = <0x0 0x3200000 0x0 0x10000>; + interrupts = <0 69 0x4>; + clocks = <&clockgen 4 0>; + }; + + msi1: msi-controller1@1571000 { + compatible = "fsl,1s1043a-msi"; + reg = <0x0 0x1571000 0x0 0x4>, + <0x0 0x1571004 0x0 0x4>; + reg-names = "msiir", "msir"; + msi-controller; + interrupts = <0 116 0x4>; + }; + + msi2: msi-controller2@1572000 { + compatible = "fsl,1s1043a-msi"; + reg = <0x0 0x1572000 0x0 0x4>, + <0x0 0x1572004 0x0 0x4>; + reg-names = "msiir", "msir"; + msi-controller; + interrupts = <0 126 0x4>; + }; + + msi3: msi-controller3@1573000 { + compatible = "fsl,1s1043a-msi"; + reg = <0x0 0x1573000 0x0 0x4>, + <0x0 0x1573004 0x0 0x4>; + reg-names = "msiir", "msir"; + msi-controller; + interrupts = <0 160 0x4>; + }; + + pcie@3400000 { + compatible = "fsl,ls1043a-pcie", "snps,dw-pcie"; + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */ + 0x40 0x00000000 0x0 0x00002000>; /* configuration space */ + reg-names = "regs", "config"; + interrupts = <0 118 0x4>, /* controller interrupt */ + <0 117 0x4>; /* PME interrupt */ + interrupt-names = "intr", "pme"; + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + num-lanes = <4>; + bus-range = <0x0 0xff>; + ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */ + 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ + msi-parent = <&msi1>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 0 0 7>; + interrupt-map = <0000 0 0 1 &gic 0 110 0x4>, + <0000 0 0 2 &gic 0 111 0x4>, + <0000 0 0 3 &gic 0 112 0x4>, + <0000 0 0 4 &gic 0 113 0x4>; + }; + + pcie@3500000 { + compatible = "fsl,ls1043a-pcie", "snps,dw-pcie"; + reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */ + 0x48 0x00000000 0x0 0x00002000>; /* configuration space */ + reg-names = "regs", "config"; + interrupts = <0 128 0x4>, + <0 127 0x4>; + interrupt-names = "intr", "pme"; + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + num-lanes = <2>; + bus-range = <0x0 0xff>; + ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */ + 0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ + msi-parent = <&msi2>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 0 0 7>; + interrupt-map = <0000 0 0 1 &gic 0 120 0x4>, + <0000 0 0 2 &gic 0 121 0x4>, + <0000 0 0 3 &gic 0 122 0x4>, + <0000 0 0 4 &gic 0 123 0x4>; + }; + + pcie@3600000 { + compatible = "fsl,ls1043a-pcie", "snps,dw-pcie"; + reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */ + 0x50 0x00000000 0x0 0x00002000>; /* configuration space */ + reg-names = "regs", "config"; + interrupts = <0 162 0x4>, + <0 161 0x4>; + interrupt-names = "intr", "pme"; + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + num-lanes = <2>; + bus-range = <0x0 0xff>; + ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* downstream I/O */ + 0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ + msi-parent = <&msi3>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 0 0 7>; + interrupt-map = <0000 0 0 1 &gic 0 154 0x4>, + <0000 0 0 2 &gic 0 155 0x4>, + <0000 0 0 3 &gic 0 156 0x4>, + <0000 0 0 4 &gic 0 157 0x4>; + }; + }; + +};