diff mbox

[V4,4/6] arm64/ls1043a: add DTS for Freescale LS1043A SoC

Message ID 1444911181-21696-4-git-send-email-B48286@freescale.com
State Superseded
Headers show

Commit Message

Zhiqiang Hou Oct. 15, 2015, 12:12 p.m. UTC
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

Comments

Scott Wood Oct. 15, 2015, 8:45 p.m. UTC | #1
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
Mingkai Hu Oct. 16, 2015, 3:04 a.m. UTC | #2
> -----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
Zhiqiang Hou Oct. 16, 2015, 3:36 a.m. UTC | #3
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
Bhupesh Sharma Oct. 16, 2015, 5:12 a.m. UTC | #4
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
Zhiqiang Hou Oct. 16, 2015, 9:58 a.m. UTC | #5
> -----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 mbox

Patch

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>;
+		};
+	};
+
+};