diff mbox series

[U-Boot,8/8,RESEND] powerpc: dts: Enable device tree support for T2080QDS

Message ID 1534875507-2531-9-git-send-email-jagdish.gediya@nxp.com
State Superseded
Delegated to: York Sun
Headers show
Series Device Tree support for PowerPC in u-boot | expand

Commit Message

Jagdish Gediya Aug. 21, 2018, 6:18 p.m. UTC
Add device tree for T2080QDS board and enable CONFIG_OF_CONTROL
so that device tree can be compiled.

update board README for device tree usage.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
---
 arch/powerpc/dts/Makefile             |  2 ++
 arch/powerpc/dts/e6500_power_isa.dtsi | 39 +++++++++++++++++++++
 arch/powerpc/dts/t2080qds.dts         | 17 ++++++++++
 arch/powerpc/dts/t2080qds.dtsi        | 64 +++++++++++++++++++++++++++++++++++
 board/freescale/t208xqds/README       | 17 ++++++++++
 configs/T2080QDS_NAND_defconfig       |  3 +-
 configs/T2080QDS_SDCARD_defconfig     |  3 +-
 configs/T2080QDS_SPIFLASH_defconfig   |  3 +-
 configs/T2080QDS_defconfig            |  3 +-
 9 files changed, 147 insertions(+), 4 deletions(-)
 create mode 100644 arch/powerpc/dts/e6500_power_isa.dtsi
 create mode 100644 arch/powerpc/dts/t2080qds.dts
 create mode 100644 arch/powerpc/dts/t2080qds.dtsi

Comments

Bin Meng Aug. 21, 2018, 12:01 p.m. UTC | #1
On Wed, Aug 22, 2018 at 2:18 AM, Jagdish Gediya <jagdish.gediya@nxp.com> wrote:
> Add device tree for T2080QDS board and enable CONFIG_OF_CONTROL
> so that device tree can be compiled.
>
> update board README for device tree usage.
>
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> ---
>  arch/powerpc/dts/Makefile             |  2 ++
>  arch/powerpc/dts/e6500_power_isa.dtsi | 39 +++++++++++++++++++++
>  arch/powerpc/dts/t2080qds.dts         | 17 ++++++++++
>  arch/powerpc/dts/t2080qds.dtsi        | 64 +++++++++++++++++++++++++++++++++++

Are all these dts files imported from Linux? It looks only interrupt
controller node is present but other peripherals nodes are missing.

>  board/freescale/t208xqds/README       | 17 ++++++++++
>  configs/T2080QDS_NAND_defconfig       |  3 +-
>  configs/T2080QDS_SDCARD_defconfig     |  3 +-
>  configs/T2080QDS_SPIFLASH_defconfig   |  3 +-
>  configs/T2080QDS_defconfig            |  3 +-
>  9 files changed, 147 insertions(+), 4 deletions(-)
>  create mode 100644 arch/powerpc/dts/e6500_power_isa.dtsi
>  create mode 100644 arch/powerpc/dts/t2080qds.dts
>  create mode 100644 arch/powerpc/dts/t2080qds.dtsi
>
> diff --git a/arch/powerpc/dts/Makefile b/arch/powerpc/dts/Makefile
> index de14e7b..a19aa56 100644
> --- a/arch/powerpc/dts/Makefile
> +++ b/arch/powerpc/dts/Makefile
> @@ -1,5 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0+
>
> +dtb-$(CONFIG_TARGET_T2080QDS) += t2080qds.dtb
> +
>  targets += $(dtb-y)
>
>  # Add any required device tree compiler flags here
> diff --git a/arch/powerpc/dts/e6500_power_isa.dtsi b/arch/powerpc/dts/e6500_power_isa.dtsi
> new file mode 100644
> index 0000000..1b06170
> --- /dev/null
> +++ b/arch/powerpc/dts/e6500_power_isa.dtsi
> @@ -0,0 +1,39 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR X11
> +/*
> + * e6500 Power ISA Device Tree Source (include)
> + *
> + * Copyright 2013 Freescale Semiconductor Inc.
> + * Copyright 2018 NXP
> + */
> +
> +/ {
> +       cpus {
> +               power-isa-version = "2.06";
> +               power-isa-b;            // Base
> +               power-isa-e;            // Embedded
> +               power-isa-atb;          // Alternate Time Base
> +               power-isa-cs;           // Cache Specification
> +               power-isa-ds;           // Decorated Storage
> +               power-isa-e.ed;         // Embedded.Enhanced Debug
> +               power-isa-e.pd;         // Embedded.External PID
> +               power-isa-e.hv;         // Embedded.Hypervisor
> +               power-isa-e.le;         // Embedded.Little-Endian
> +               power-isa-e.pm;         // Embedded.Performance Monitor
> +               power-isa-e.pc;         // Embedded.Processor Control
> +               power-isa-ecl;          // Embedded Cache Locking
> +               power-isa-exp;          // External Proxy
> +               power-isa-fp;           // Floating Point
> +               power-isa-fp.r;         // Floating Point.Record
> +               power-isa-mmc;          // Memory Coherence
> +               power-isa-scpm;         // Store Conditional Page Mobility
> +               power-isa-wt;           // Wait
> +               power-isa-64;           // 64-bit
> +               power-isa-e.pt;         // Embedded.Page Table
> +               power-isa-e.hv.lrat;    // Embedded.Hypervisor.LRAT
> +               power-isa-e.em;         // Embedded Multi-Threading
> +               power-isa-v;            // Vector (AltiVec)
> +               fsl,eref-er;            // Enhanced Reservations
> +               fsl,eref-deo;           // Data Cache Extended Operations
> +               mmu-type = "power-embedded";
> +       };
> +};
> diff --git a/arch/powerpc/dts/t2080qds.dts b/arch/powerpc/dts/t2080qds.dts
> new file mode 100644
> index 0000000..bf8cb23
> --- /dev/null
> +++ b/arch/powerpc/dts/t2080qds.dts
> @@ -0,0 +1,17 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR X11
> +/*
> + * T2080QDS Device Tree Source
> + *
> + * Copyright 2013 - 2015 Freescale Semiconductor Inc.
> + * Copyright 2018 NXP
> + */
> +
> +/include/ "t2080qds.dtsi"
> +
> +/ {
> +       model = "fsl,T2080QDS";
> +       compatible = "fsl,T2080QDS";
> +       #address-cells = <2>;
> +       #size-cells = <2>;
> +       interrupt-parent = <&mpic>;
> +};
> diff --git a/arch/powerpc/dts/t2080qds.dtsi b/arch/powerpc/dts/t2080qds.dtsi
> new file mode 100644
> index 0000000..2006dec
> --- /dev/null
> +++ b/arch/powerpc/dts/t2080qds.dtsi
> @@ -0,0 +1,64 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR X11
> +/*
> + * T2080/T2081 Silicon/SoC Device Tree Source (pre include)
> + *
> + * Copyright 2013 Freescale Semiconductor Inc.
> + * Copyright 2018 NXP
> + */
> +
> +/dts-v1/;
> +
> +/include/ "e6500_power_isa.dtsi"
> +
> +/ {
> +       model = "fsl,T2080QDS";
> +       compatible = "fsl,T2080QDS";
> +       #address-cells = <2>;
> +       #size-cells = <2>;
> +       interrupt-parent = <&mpic>;
> +
> +       cpus {
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +
> +               cpu0: PowerPC,e6500@0 {
> +                       device_type = "cpu";
> +                       reg = <0 1>;
> +                       fsl,portid-mapping = <0x80000000>;
> +               };
> +               cpu1: PowerPC,e6500@2 {
> +                       device_type = "cpu";
> +                       reg = <2 3>;
> +                       fsl,portid-mapping = <0x80000000>;
> +               };
> +               cpu2: PowerPC,e6500@4 {
> +                       device_type = "cpu";
> +                       reg = <4 5>;
> +                       fsl,portid-mapping = <0x80000000>;
> +               };
> +               cpu3: PowerPC,e6500@6 {
> +                       device_type = "cpu";
> +                       reg = <6 7>;
> +                       fsl,portid-mapping = <0x80000000>;
> +               };
> +       };
> +
> +       soc: soc@ffe000000 {
> +               ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
> +               reg = <0xf 0xfe000000 0 0x00001000>;
> +               #address-cells = <1>;
> +               #size-cells = <1>;
> +               device_type = "soc";
> +               compatible = "simple-bus";
> +
> +               mpic: pic@40000 {
> +                       interrupt-controller;
> +                       #address-cells = <0>;
> +                       #interrupt-cells = <4>;
> +                       reg = <0x40000 0x40000>;
> +                       compatible = "fsl,mpic";
> +                       device_type = "open-pic";
> +                       clock-frequency = <0x0>;
> +               };
> +       };
> +};
> diff --git a/board/freescale/t208xqds/README b/board/freescale/t208xqds/README
> index 2a2a0e5..2b979f1 100755
> --- a/board/freescale/t208xqds/README
> +++ b/board/freescale/t208xqds/README
> @@ -272,3 +272,20 @@ How to update the ucode of Freescale FMAN
>
>  For more details, please refer to T2080QDS User Guide and access
>  website www.freescale.com and Freescale QorIQ SDK Infocenter document.
> +
> +Device Tree support and How to enable it for different configs

nits: tree, how

> +--------------------------------------------------------------
> +Device tree support is available for t2080qds for below mentioned boot,
> +1. NOR Boot
> +2. NAND Boot
> +3. SD Boot
> +4. SPIFLASH Boot
> +
> +To enable Device Tree support for other boot, below configs need to be

nits: device tree

> +enabled in relative defconfig file,
> +1. CONFIG_DEFAULT_DEVICE_TREE="t2080qds" (Change default device tree name if required)
> +2. CONFIG_OF_CONTROL
> +
> +If device tree support is enabled in defconfig,
> +1. use 'u-boot-dtb.bin' for NOR boot.
> +2. Use 'u-boot-with-spl-pbl.bin' for other boot.

nits: use

> diff --git a/configs/T2080QDS_NAND_defconfig b/configs/T2080QDS_NAND_defconfig
> index 6960412..33a2381 100644
> --- a/configs/T2080QDS_NAND_defconfig
> +++ b/configs/T2080QDS_NAND_defconfig
> @@ -7,6 +7,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
>  CONFIG_SPL=y
>  CONFIG_MPC85xx=y
>  CONFIG_TARGET_T2080QDS=y
> +CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
>  CONFIG_FIT=y
>  CONFIG_FIT_VERBOSE=y
>  CONFIG_OF_BOARD_SETUP=y
> @@ -35,6 +36,7 @@ CONFIG_CMD_FAT=y
>  CONFIG_CMD_MTDPARTS=y
>  CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
>  CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
> +CONFIG_OF_CONTROL=y
>  CONFIG_ENV_IS_IN_NAND=y
>  CONFIG_FSL_CAAM=y
>  CONFIG_FSL_ESDHC=y
> @@ -54,4 +56,3 @@ CONFIG_SPI=y
>  CONFIG_FSL_ESPI=y
>  CONFIG_USB=y
>  CONFIG_USB_STORAGE=y
> -CONFIG_OF_LIBFDT=y
> diff --git a/configs/T2080QDS_SDCARD_defconfig b/configs/T2080QDS_SDCARD_defconfig
> index 20a0a37..bb1e89c 100644
> --- a/configs/T2080QDS_SDCARD_defconfig
> +++ b/configs/T2080QDS_SDCARD_defconfig
> @@ -8,6 +8,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
>  CONFIG_SPL=y
>  CONFIG_MPC85xx=y
>  CONFIG_TARGET_T2080QDS=y
> +CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
>  CONFIG_FIT=y
>  CONFIG_FIT_VERBOSE=y
>  CONFIG_OF_BOARD_SETUP=y
> @@ -35,6 +36,7 @@ CONFIG_CMD_FAT=y
>  CONFIG_CMD_MTDPARTS=y
>  CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
>  CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
> +CONFIG_OF_CONTROL=y
>  CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_FSL_CAAM=y
>  CONFIG_FSL_ESDHC=y
> @@ -53,4 +55,3 @@ CONFIG_SPI=y
>  CONFIG_FSL_ESPI=y
>  CONFIG_USB=y
>  CONFIG_USB_STORAGE=y
> -CONFIG_OF_LIBFDT=y
> diff --git a/configs/T2080QDS_SPIFLASH_defconfig b/configs/T2080QDS_SPIFLASH_defconfig
> index c763316..a5450a6 100644
> --- a/configs/T2080QDS_SPIFLASH_defconfig
> +++ b/configs/T2080QDS_SPIFLASH_defconfig
> @@ -9,6 +9,7 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
>  CONFIG_SPL_SPI_SUPPORT=y
>  CONFIG_MPC85xx=y
>  CONFIG_TARGET_T2080QDS=y
> +CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
>  CONFIG_FIT=y
>  CONFIG_FIT_VERBOSE=y
>  CONFIG_OF_BOARD_SETUP=y
> @@ -36,6 +37,7 @@ CONFIG_CMD_FAT=y
>  CONFIG_CMD_MTDPARTS=y
>  CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
>  CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
> +CONFIG_OF_CONTROL=y
>  CONFIG_ENV_IS_IN_SPI_FLASH=y
>  CONFIG_FSL_CAAM=y
>  CONFIG_FSL_ESDHC=y
> @@ -54,4 +56,3 @@ CONFIG_SPI=y
>  CONFIG_FSL_ESPI=y
>  CONFIG_USB=y
>  CONFIG_USB_STORAGE=y
> -CONFIG_OF_LIBFDT=y
> diff --git a/configs/T2080QDS_defconfig b/configs/T2080QDS_defconfig
> index 5ed7836..c5f79da 100644
> --- a/configs/T2080QDS_defconfig
> +++ b/configs/T2080QDS_defconfig
> @@ -2,6 +2,7 @@ CONFIG_PPC=y
>  CONFIG_SYS_TEXT_BASE=0xEFF40000
>  CONFIG_MPC85xx=y
>  CONFIG_TARGET_T2080QDS=y
> +CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
>  CONFIG_FIT=y
>  CONFIG_FIT_VERBOSE=y
>  CONFIG_OF_BOARD_SETUP=y
> @@ -24,6 +25,7 @@ CONFIG_CMD_FAT=y
>  CONFIG_CMD_MTDPARTS=y
>  CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
>  CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
> +CONFIG_OF_CONTROL=y
>  CONFIG_ENV_IS_IN_FLASH=y
>  CONFIG_FSL_CAAM=y
>  CONFIG_FSL_ESDHC=y
> @@ -42,4 +44,3 @@ CONFIG_SPI=y
>  CONFIG_FSL_ESPI=y
>  CONFIG_USB=y
>  CONFIG_USB_STORAGE=y
> -CONFIG_OF_LIBFDT=y
> --
>

Regards,
Bin
Jagdish Gediya Aug. 28, 2018, 3:44 a.m. UTC | #2
Hi,

> -----Original Message-----
> From: Bin Meng <bmeng.cn@gmail.com>
> Sent: Tuesday, August 21, 2018 5:32 PM
> To: Jagdish Gediya <jagdish.gediya@nxp.com>
> Cc: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>; York Sun
> <york.sun@nxp.com>; Poonam Aggrwal <poonam.aggrwal@nxp.com>; Tom
> Rini <trini@konsulko.com>; Simon Glass <sjg@chromium.org>; U-Boot
> Mailing List <u-boot@lists.denx.de>
> Subject: Re: [PATCH 8/8][RESEND] powerpc: dts: Enable device tree support
> for T2080QDS
> 
> On Wed, Aug 22, 2018 at 2:18 AM, Jagdish Gediya
> <jagdish.gediya@nxp.com> wrote:
> > Add device tree for T2080QDS board and enable CONFIG_OF_CONTROL so
> > that device tree can be compiled.
> >
> > update board README for device tree usage.
> >
> > Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> > ---
> >  arch/powerpc/dts/Makefile             |  2 ++
> >  arch/powerpc/dts/e6500_power_isa.dtsi | 39 +++++++++++++++++++++
> >  arch/powerpc/dts/t2080qds.dts         | 17 ++++++++++
> >  arch/powerpc/dts/t2080qds.dtsi        | 64
> +++++++++++++++++++++++++++++++++++
> 
> Are all these dts files imported from Linux? It looks only interrupt controller
> node is present but other peripherals nodes are missing.

These dts files are minimal subset of Linux dts files. Other peripherals node are not needed as drivers are not using device tree at present.

> >  board/freescale/t208xqds/README       | 17 ++++++++++
> >  configs/T2080QDS_NAND_defconfig       |  3 +-
> >  configs/T2080QDS_SDCARD_defconfig     |  3 +-
> >  configs/T2080QDS_SPIFLASH_defconfig   |  3 +-
> >  configs/T2080QDS_defconfig            |  3 +-
> >  9 files changed, 147 insertions(+), 4 deletions(-)  create mode
> > 100644 arch/powerpc/dts/e6500_power_isa.dtsi
> >  create mode 100644 arch/powerpc/dts/t2080qds.dts  create mode 100644
> > arch/powerpc/dts/t2080qds.dtsi
> >
> > diff --git a/arch/powerpc/dts/Makefile b/arch/powerpc/dts/Makefile
> > index de14e7b..a19aa56 100644
> > --- a/arch/powerpc/dts/Makefile
> > +++ b/arch/powerpc/dts/Makefile
> > @@ -1,5 +1,7 @@
> >  # SPDX-License-Identifier: GPL-2.0+
> >
> > +dtb-$(CONFIG_TARGET_T2080QDS) += t2080qds.dtb
> > +
> >  targets += $(dtb-y)
> >
> >  # Add any required device tree compiler flags here diff --git
> > a/arch/powerpc/dts/e6500_power_isa.dtsi
> > b/arch/powerpc/dts/e6500_power_isa.dtsi
> > new file mode 100644
> > index 0000000..1b06170
> > --- /dev/null
> > +++ b/arch/powerpc/dts/e6500_power_isa.dtsi
> > @@ -0,0 +1,39 @@
> > +// SPDX-License-Identifier: GPL-2.0+ OR X11
> > +/*
> > + * e6500 Power ISA Device Tree Source (include)
> > + *
> > + * Copyright 2013 Freescale Semiconductor Inc.
> > + * Copyright 2018 NXP
> > + */
> > +
> > +/ {
> > +       cpus {
> > +               power-isa-version = "2.06";
> > +               power-isa-b;            // Base
> > +               power-isa-e;            // Embedded
> > +               power-isa-atb;          // Alternate Time Base
> > +               power-isa-cs;           // Cache Specification
> > +               power-isa-ds;           // Decorated Storage
> > +               power-isa-e.ed;         // Embedded.Enhanced Debug
> > +               power-isa-e.pd;         // Embedded.External PID
> > +               power-isa-e.hv;         // Embedded.Hypervisor
> > +               power-isa-e.le;         // Embedded.Little-Endian
> > +               power-isa-e.pm;         // Embedded.Performance Monitor
> > +               power-isa-e.pc;         // Embedded.Processor Control
> > +               power-isa-ecl;          // Embedded Cache Locking
> > +               power-isa-exp;          // External Proxy
> > +               power-isa-fp;           // Floating Point
> > +               power-isa-fp.r;         // Floating Point.Record
> > +               power-isa-mmc;          // Memory Coherence
> > +               power-isa-scpm;         // Store Conditional Page Mobility
> > +               power-isa-wt;           // Wait
> > +               power-isa-64;           // 64-bit
> > +               power-isa-e.pt;         // Embedded.Page Table
> > +               power-isa-e.hv.lrat;    // Embedded.Hypervisor.LRAT
> > +               power-isa-e.em;         // Embedded Multi-Threading
> > +               power-isa-v;            // Vector (AltiVec)
> > +               fsl,eref-er;            // Enhanced Reservations
> > +               fsl,eref-deo;           // Data Cache Extended Operations
> > +               mmu-type = "power-embedded";
> > +       };
> > +};
> > diff --git a/arch/powerpc/dts/t2080qds.dts
> > b/arch/powerpc/dts/t2080qds.dts new file mode 100644 index
> > 0000000..bf8cb23
> > --- /dev/null
> > +++ b/arch/powerpc/dts/t2080qds.dts
> > @@ -0,0 +1,17 @@
> > +// SPDX-License-Identifier: GPL-2.0+ OR X11
> > +/*
> > + * T2080QDS Device Tree Source
> > + *
> > + * Copyright 2013 - 2015 Freescale Semiconductor Inc.
> > + * Copyright 2018 NXP
> > + */
> > +
> > +/include/ "t2080qds.dtsi"
> > +
> > +/ {
> > +       model = "fsl,T2080QDS";
> > +       compatible = "fsl,T2080QDS";
> > +       #address-cells = <2>;
> > +       #size-cells = <2>;
> > +       interrupt-parent = <&mpic>;
> > +};
> > diff --git a/arch/powerpc/dts/t2080qds.dtsi
> > b/arch/powerpc/dts/t2080qds.dtsi new file mode 100644 index
> > 0000000..2006dec
> > --- /dev/null
> > +++ b/arch/powerpc/dts/t2080qds.dtsi
> > @@ -0,0 +1,64 @@
> > +// SPDX-License-Identifier: GPL-2.0+ OR X11
> > +/*
> > + * T2080/T2081 Silicon/SoC Device Tree Source (pre include)
> > + *
> > + * Copyright 2013 Freescale Semiconductor Inc.
> > + * Copyright 2018 NXP
> > + */
> > +
> > +/dts-v1/;
> > +
> > +/include/ "e6500_power_isa.dtsi"
> > +
> > +/ {
> > +       model = "fsl,T2080QDS";
> > +       compatible = "fsl,T2080QDS";
> > +       #address-cells = <2>;
> > +       #size-cells = <2>;
> > +       interrupt-parent = <&mpic>;
> > +
> > +       cpus {
> > +               #address-cells = <1>;
> > +               #size-cells = <0>;
> > +
> > +               cpu0: PowerPC,e6500@0 {
> > +                       device_type = "cpu";
> > +                       reg = <0 1>;
> > +                       fsl,portid-mapping = <0x80000000>;
> > +               };
> > +               cpu1: PowerPC,e6500@2 {
> > +                       device_type = "cpu";
> > +                       reg = <2 3>;
> > +                       fsl,portid-mapping = <0x80000000>;
> > +               };
> > +               cpu2: PowerPC,e6500@4 {
> > +                       device_type = "cpu";
> > +                       reg = <4 5>;
> > +                       fsl,portid-mapping = <0x80000000>;
> > +               };
> > +               cpu3: PowerPC,e6500@6 {
> > +                       device_type = "cpu";
> > +                       reg = <6 7>;
> > +                       fsl,portid-mapping = <0x80000000>;
> > +               };
> > +       };
> > +
> > +       soc: soc@ffe000000 {
> > +               ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
> > +               reg = <0xf 0xfe000000 0 0x00001000>;
> > +               #address-cells = <1>;
> > +               #size-cells = <1>;
> > +               device_type = "soc";
> > +               compatible = "simple-bus";
> > +
> > +               mpic: pic@40000 {
> > +                       interrupt-controller;
> > +                       #address-cells = <0>;
> > +                       #interrupt-cells = <4>;
> > +                       reg = <0x40000 0x40000>;
> > +                       compatible = "fsl,mpic";
> > +                       device_type = "open-pic";
> > +                       clock-frequency = <0x0>;
> > +               };
> > +       };
> > +};
> > diff --git a/board/freescale/t208xqds/README
> > b/board/freescale/t208xqds/README index 2a2a0e5..2b979f1 100755
> > --- a/board/freescale/t208xqds/README
> > +++ b/board/freescale/t208xqds/README
> > @@ -272,3 +272,20 @@ How to update the ucode of Freescale FMAN
> >
> >  For more details, please refer to T2080QDS User Guide and access
> > website
> https://emea01.safelinks.protection.outlook.com/?url=www.freescale.com&
> amp;data=02%7C01%7Cjagdish.gediya%40nxp.com%7C8f63fa2542e848c3a46
> c08d6075dd88e%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C636
> 704496978698811&amp;sdata=ON19F134brcRh%2BQah8Eay%2FQhPhbM1%
> 2Fu%2BJCcTVx7layA%3D&amp;reserved=0 and Freescale QorIQ SDK
> Infocenter document.
> > +
> > +Device Tree support and How to enable it for different configs
> 
> nits: tree, how
> 
> > +--------------------------------------------------------------
> > +Device tree support is available for t2080qds for below mentioned
> > +boot, 1. NOR Boot 2. NAND Boot 3. SD Boot 4. SPIFLASH Boot
> > +
> > +To enable Device Tree support for other boot, below configs need to
> > +be
> 
> nits: device tree
> 
> > +enabled in relative defconfig file,
> > +1. CONFIG_DEFAULT_DEVICE_TREE="t2080qds" (Change default device
> tree
> > +name if required) 2. CONFIG_OF_CONTROL
> > +
> > +If device tree support is enabled in defconfig, 1. use
> > +'u-boot-dtb.bin' for NOR boot.
> > +2. Use 'u-boot-with-spl-pbl.bin' for other boot.
> 
> nits: use
> 
> > diff --git a/configs/T2080QDS_NAND_defconfig
> > b/configs/T2080QDS_NAND_defconfig index 6960412..33a2381 100644
> > --- a/configs/T2080QDS_NAND_defconfig
> > +++ b/configs/T2080QDS_NAND_defconfig
> > @@ -7,6 +7,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
> CONFIG_SPL=y
> > CONFIG_MPC85xx=y  CONFIG_TARGET_T2080QDS=y
> > +CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
> >  CONFIG_FIT=y
> >  CONFIG_FIT_VERBOSE=y
> >  CONFIG_OF_BOARD_SETUP=y
> > @@ -35,6 +36,7 @@ CONFIG_CMD_FAT=y
> >  CONFIG_CMD_MTDPARTS=y
> >
> CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi
> 0=spife110000.0"
> >
> CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(ker
> nel),128k(dtb),96m(fs),-
> (user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-
> (user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
> > +CONFIG_OF_CONTROL=y
> >  CONFIG_ENV_IS_IN_NAND=y
> >  CONFIG_FSL_CAAM=y
> >  CONFIG_FSL_ESDHC=y
> > @@ -54,4 +56,3 @@ CONFIG_SPI=y
> >  CONFIG_FSL_ESPI=y
> >  CONFIG_USB=y
> >  CONFIG_USB_STORAGE=y
> > -CONFIG_OF_LIBFDT=y
> > diff --git a/configs/T2080QDS_SDCARD_defconfig
> > b/configs/T2080QDS_SDCARD_defconfig
> > index 20a0a37..bb1e89c 100644
> > --- a/configs/T2080QDS_SDCARD_defconfig
> > +++ b/configs/T2080QDS_SDCARD_defconfig
> > @@ -8,6 +8,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
> CONFIG_SPL=y
> > CONFIG_MPC85xx=y  CONFIG_TARGET_T2080QDS=y
> > +CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
> >  CONFIG_FIT=y
> >  CONFIG_FIT_VERBOSE=y
> >  CONFIG_OF_BOARD_SETUP=y
> > @@ -35,6 +36,7 @@ CONFIG_CMD_FAT=y
> >  CONFIG_CMD_MTDPARTS=y
> >
> CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi
> 0=spife110000.0"
> >
> CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(ker
> nel),128k(dtb),96m(fs),-
> (user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-
> (user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
> > +CONFIG_OF_CONTROL=y
> >  CONFIG_ENV_IS_IN_MMC=y
> >  CONFIG_FSL_CAAM=y
> >  CONFIG_FSL_ESDHC=y
> > @@ -53,4 +55,3 @@ CONFIG_SPI=y
> >  CONFIG_FSL_ESPI=y
> >  CONFIG_USB=y
> >  CONFIG_USB_STORAGE=y
> > -CONFIG_OF_LIBFDT=y
> > diff --git a/configs/T2080QDS_SPIFLASH_defconfig
> > b/configs/T2080QDS_SPIFLASH_defconfig
> > index c763316..a5450a6 100644
> > --- a/configs/T2080QDS_SPIFLASH_defconfig
> > +++ b/configs/T2080QDS_SPIFLASH_defconfig
> > @@ -9,6 +9,7 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
> > CONFIG_SPL_SPI_SUPPORT=y  CONFIG_MPC85xx=y
> CONFIG_TARGET_T2080QDS=y
> > +CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
> >  CONFIG_FIT=y
> >  CONFIG_FIT_VERBOSE=y
> >  CONFIG_OF_BOARD_SETUP=y
> > @@ -36,6 +37,7 @@ CONFIG_CMD_FAT=y
> >  CONFIG_CMD_MTDPARTS=y
> >
> CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi
> 0=spife110000.0"
> >
> CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(ker
> nel),128k(dtb),96m(fs),-
> (user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-
> (user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
> > +CONFIG_OF_CONTROL=y
> >  CONFIG_ENV_IS_IN_SPI_FLASH=y
> >  CONFIG_FSL_CAAM=y
> >  CONFIG_FSL_ESDHC=y
> > @@ -54,4 +56,3 @@ CONFIG_SPI=y
> >  CONFIG_FSL_ESPI=y
> >  CONFIG_USB=y
> >  CONFIG_USB_STORAGE=y
> > -CONFIG_OF_LIBFDT=y
> > diff --git a/configs/T2080QDS_defconfig b/configs/T2080QDS_defconfig
> > index 5ed7836..c5f79da 100644
> > --- a/configs/T2080QDS_defconfig
> > +++ b/configs/T2080QDS_defconfig
> > @@ -2,6 +2,7 @@ CONFIG_PPC=y
> >  CONFIG_SYS_TEXT_BASE=0xEFF40000
> >  CONFIG_MPC85xx=y
> >  CONFIG_TARGET_T2080QDS=y
> > +CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
> >  CONFIG_FIT=y
> >  CONFIG_FIT_VERBOSE=y
> >  CONFIG_OF_BOARD_SETUP=y
> > @@ -24,6 +25,7 @@ CONFIG_CMD_FAT=y
> >  CONFIG_CMD_MTDPARTS=y
> >
> CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi
> 0=spife110000.0"
> >
> CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(ker
> nel),128k(dtb),96m(fs),-
> (user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-
> (user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
> > +CONFIG_OF_CONTROL=y
> >  CONFIG_ENV_IS_IN_FLASH=y
> >  CONFIG_FSL_CAAM=y
> >  CONFIG_FSL_ESDHC=y
> > @@ -42,4 +44,3 @@ CONFIG_SPI=y
> >  CONFIG_FSL_ESPI=y
> >  CONFIG_USB=y
> >  CONFIG_USB_STORAGE=y
> > -CONFIG_OF_LIBFDT=y
> > --
> >
> 

Thanks,
Jagdish
diff mbox series

Patch

diff --git a/arch/powerpc/dts/Makefile b/arch/powerpc/dts/Makefile
index de14e7b..a19aa56 100644
--- a/arch/powerpc/dts/Makefile
+++ b/arch/powerpc/dts/Makefile
@@ -1,5 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
+dtb-$(CONFIG_TARGET_T2080QDS) += t2080qds.dtb
+
 targets += $(dtb-y)
 
 # Add any required device tree compiler flags here
diff --git a/arch/powerpc/dts/e6500_power_isa.dtsi b/arch/powerpc/dts/e6500_power_isa.dtsi
new file mode 100644
index 0000000..1b06170
--- /dev/null
+++ b/arch/powerpc/dts/e6500_power_isa.dtsi
@@ -0,0 +1,39 @@ 
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * e6500 Power ISA Device Tree Source (include)
+ *
+ * Copyright 2013 Freescale Semiconductor Inc.
+ * Copyright 2018 NXP
+ */
+
+/ {
+	cpus {
+		power-isa-version = "2.06";
+		power-isa-b;		// Base
+		power-isa-e;		// Embedded
+		power-isa-atb;		// Alternate Time Base
+		power-isa-cs;		// Cache Specification
+		power-isa-ds;		// Decorated Storage
+		power-isa-e.ed;		// Embedded.Enhanced Debug
+		power-isa-e.pd;		// Embedded.External PID
+		power-isa-e.hv;		// Embedded.Hypervisor
+		power-isa-e.le;		// Embedded.Little-Endian
+		power-isa-e.pm;		// Embedded.Performance Monitor
+		power-isa-e.pc;		// Embedded.Processor Control
+		power-isa-ecl;		// Embedded Cache Locking
+		power-isa-exp;		// External Proxy
+		power-isa-fp;		// Floating Point
+		power-isa-fp.r;		// Floating Point.Record
+		power-isa-mmc;		// Memory Coherence
+		power-isa-scpm;		// Store Conditional Page Mobility
+		power-isa-wt;		// Wait
+		power-isa-64;		// 64-bit
+		power-isa-e.pt;		// Embedded.Page Table
+		power-isa-e.hv.lrat;	// Embedded.Hypervisor.LRAT
+		power-isa-e.em;		// Embedded Multi-Threading
+		power-isa-v;		// Vector (AltiVec)
+		fsl,eref-er;		// Enhanced Reservations
+		fsl,eref-deo;		// Data Cache Extended Operations
+		mmu-type = "power-embedded";
+	};
+};
diff --git a/arch/powerpc/dts/t2080qds.dts b/arch/powerpc/dts/t2080qds.dts
new file mode 100644
index 0000000..bf8cb23
--- /dev/null
+++ b/arch/powerpc/dts/t2080qds.dts
@@ -0,0 +1,17 @@ 
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * T2080QDS Device Tree Source
+ *
+ * Copyright 2013 - 2015 Freescale Semiconductor Inc.
+ * Copyright 2018 NXP
+ */
+
+/include/ "t2080qds.dtsi"
+
+/ {
+	model = "fsl,T2080QDS";
+	compatible = "fsl,T2080QDS";
+	#address-cells = <2>;
+	#size-cells = <2>;
+	interrupt-parent = <&mpic>;
+};
diff --git a/arch/powerpc/dts/t2080qds.dtsi b/arch/powerpc/dts/t2080qds.dtsi
new file mode 100644
index 0000000..2006dec
--- /dev/null
+++ b/arch/powerpc/dts/t2080qds.dtsi
@@ -0,0 +1,64 @@ 
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * T2080/T2081 Silicon/SoC Device Tree Source (pre include)
+ *
+ * Copyright 2013 Freescale Semiconductor Inc.
+ * Copyright 2018 NXP
+ */
+
+/dts-v1/;
+
+/include/ "e6500_power_isa.dtsi"
+
+/ {
+	model = "fsl,T2080QDS";
+	compatible = "fsl,T2080QDS";
+	#address-cells = <2>;
+	#size-cells = <2>;
+	interrupt-parent = <&mpic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: PowerPC,e6500@0 {
+			device_type = "cpu";
+			reg = <0 1>;
+			fsl,portid-mapping = <0x80000000>;
+		};
+		cpu1: PowerPC,e6500@2 {
+			device_type = "cpu";
+			reg = <2 3>;
+			fsl,portid-mapping = <0x80000000>;
+		};
+		cpu2: PowerPC,e6500@4 {
+			device_type = "cpu";
+			reg = <4 5>;
+			fsl,portid-mapping = <0x80000000>;
+		};
+		cpu3: PowerPC,e6500@6 {
+			device_type = "cpu";
+			reg = <6 7>;
+			fsl,portid-mapping = <0x80000000>;
+		};
+	};
+
+	soc: soc@ffe000000 {
+		ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
+		reg = <0xf 0xfe000000 0 0x00001000>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		device_type = "soc";
+		compatible = "simple-bus";
+
+		mpic: pic@40000 {
+			interrupt-controller;
+			#address-cells = <0>;
+			#interrupt-cells = <4>;
+			reg = <0x40000 0x40000>;
+			compatible = "fsl,mpic";
+			device_type = "open-pic";
+			clock-frequency = <0x0>;
+		};
+	};
+};
diff --git a/board/freescale/t208xqds/README b/board/freescale/t208xqds/README
index 2a2a0e5..2b979f1 100755
--- a/board/freescale/t208xqds/README
+++ b/board/freescale/t208xqds/README
@@ -272,3 +272,20 @@  How to update the ucode of Freescale FMAN
 
 For more details, please refer to T2080QDS User Guide and access
 website www.freescale.com and Freescale QorIQ SDK Infocenter document.
+
+Device Tree support and How to enable it for different configs
+--------------------------------------------------------------
+Device tree support is available for t2080qds for below mentioned boot,
+1. NOR Boot
+2. NAND Boot
+3. SD Boot
+4. SPIFLASH Boot
+
+To enable Device Tree support for other boot, below configs need to be
+enabled in relative defconfig file,
+1. CONFIG_DEFAULT_DEVICE_TREE="t2080qds" (Change default device tree name if required)
+2. CONFIG_OF_CONTROL
+
+If device tree support is enabled in defconfig,
+1. use 'u-boot-dtb.bin' for NOR boot.
+2. Use 'u-boot-with-spl-pbl.bin' for other boot.
diff --git a/configs/T2080QDS_NAND_defconfig b/configs/T2080QDS_NAND_defconfig
index 6960412..33a2381 100644
--- a/configs/T2080QDS_NAND_defconfig
+++ b/configs/T2080QDS_NAND_defconfig
@@ -7,6 +7,7 @@  CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_SPL=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T2080QDS=y
+CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
@@ -35,6 +36,7 @@  CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
+CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_FSL_CAAM=y
 CONFIG_FSL_ESDHC=y
@@ -54,4 +56,3 @@  CONFIG_SPI=y
 CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
-CONFIG_OF_LIBFDT=y
diff --git a/configs/T2080QDS_SDCARD_defconfig b/configs/T2080QDS_SDCARD_defconfig
index 20a0a37..bb1e89c 100644
--- a/configs/T2080QDS_SDCARD_defconfig
+++ b/configs/T2080QDS_SDCARD_defconfig
@@ -8,6 +8,7 @@  CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_SPL=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T2080QDS=y
+CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
@@ -35,6 +36,7 @@  CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
+CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_FSL_CAAM=y
 CONFIG_FSL_ESDHC=y
@@ -53,4 +55,3 @@  CONFIG_SPI=y
 CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
-CONFIG_OF_LIBFDT=y
diff --git a/configs/T2080QDS_SPIFLASH_defconfig b/configs/T2080QDS_SPIFLASH_defconfig
index c763316..a5450a6 100644
--- a/configs/T2080QDS_SPIFLASH_defconfig
+++ b/configs/T2080QDS_SPIFLASH_defconfig
@@ -9,6 +9,7 @@  CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T2080QDS=y
+CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
@@ -36,6 +37,7 @@  CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
+CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_FSL_CAAM=y
 CONFIG_FSL_ESDHC=y
@@ -54,4 +56,3 @@  CONFIG_SPI=y
 CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
-CONFIG_OF_LIBFDT=y
diff --git a/configs/T2080QDS_defconfig b/configs/T2080QDS_defconfig
index 5ed7836..c5f79da 100644
--- a/configs/T2080QDS_defconfig
+++ b/configs/T2080QDS_defconfig
@@ -2,6 +2,7 @@  CONFIG_PPC=y
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T2080QDS=y
+CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
@@ -24,6 +25,7 @@  CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
+CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_FSL_CAAM=y
 CONFIG_FSL_ESDHC=y
@@ -42,4 +44,3 @@  CONFIG_SPI=y
 CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
-CONFIG_OF_LIBFDT=y