[U-Boot] [PATCH v3] arm: socfpga: Add DT support for SoCFPGA and add socfpga_socrates target

Pavel Machek pavel at denx.de
Wed Nov 12 18:56:44 CET 2014


On Fri 2014-11-07 14:10:41, Stefan Roese wrote:
> This patch includes the latest DT sources for socfpga from the current
> Linux kernel. And enables CONFIG_OF_CONTROL for the new build target
> "socfpga_socrates" (the EBV SoCrates board) to make use of this new DT
> support.
> 
> Until this patch, the only SoCFPGA U-Boot target in mainline is
> "socfpga_cyclone5". This build target is not (yet) changed to support
> DT. So nothing changes for this target. Even though the long-term
> goal should be to move all SoCFPGA targets over to DT.
> 
> One of the reasons to enable DT support in SoCFPGA is, that I need to
> support multiple different SPI controllers for this platform. This is
> the QSPI Cadence controller and the Designware SPI master controller.
> Both are implemented in the SoCFPGA. And enabling both controllers is
> only possible by using the new driver model (DM). The DM SPI code
> only supports DT based probing. So it was easier to move SoCFPGA to
> DT than to add the (deprecated) platform-data based probing to the
> DM SPI suport.
> 
> Note that the image with the dtb embedded is u-boot-dtb.img. This needs
> to be used now for those DT enabled boards instead of u-boot.img.
> 
> Signed-off-by: Stefan Roese <sr at denx.de>
> Cc: Marek Vasut <marex at denx.de>
> Cc: Chin Liang See <clsee at altera.com>
> Cc: Dinh Nguyen <dinguyen at altera.com>
> Cc: Vince Bridgers <vbridger at altera.com>
> Cc: Albert Aribaud <albert.u.boot at aribaud.net>
> Cc: Pavel Machek <pavel at denx.de>
> Cc: Simon Glass <sjg at chromium.org>
> ---
> v3:
> - Add missing gpio.h (even if empty). This header is needed for
>   lib/fdtdec.c to compile.
> 
> v2:
> - As mentioned in the commit text, this new version does not move
>   the default target to DT (yet). It adds support for the SoCrates
>   board now based on this DT support as the first example.
>   Nothing changes for the current socfpga_cyclone5 target.
>   
>  arch/arm/dts/Makefile                      |   2 +
>  arch/arm/dts/socfpga.dtsi                  | 755 +++++++++++++++++++++++++++++
>  arch/arm/dts/socfpga_cyclone5.dtsi         |  51 ++
>  arch/arm/dts/socfpga_cyclone5_socrates.dts |  50 ++
>  arch/arm/include/asm/arch-socfpga/gpio.h   |  10 +
>  configs/socfpga_socrates_defconfig         |   5 +
>  include/dt-bindings/reset/altr,rst-mgr.h   |  90 ++++
>  7 files changed, 963 insertions(+)
>  create mode 100644 arch/arm/dts/socfpga.dtsi
>  create mode 100644 arch/arm/dts/socfpga_cyclone5.dtsi
>  create mode 100644 arch/arm/dts/socfpga_cyclone5_socrates.dts
>  create mode 100644 arch/arm/include/asm/arch-socfpga/gpio.h
>  create mode 100644 configs/socfpga_socrates_defconfig
>  create mode 100644 include/dt-bindings/reset/altr,rst-mgr.h
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 52f8926..b946abe 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -40,6 +40,8 @@ dtb-$(CONFIG_ZYNQ) += zynq-zc702.dtb \
>  	zynq-zc770-xm013.dtb
>  dtb-$(CONFIG_AM33XX) += am335x-boneblack.dtb
>  
> +dtb-$(CONFIG_SOCFPGA) += socfpga_cyclone5_socrates.dtb
> +
>  targets += $(dtb-y)
>  
>  DTC_FLAGS += -R 4 -p 0x1000
> diff --git a/arch/arm/dts/socfpga.dtsi b/arch/arm/dts/socfpga.dtsi
> new file mode 100644
> index 0000000..4472fd9
> --- /dev/null
> +++ b/arch/arm/dts/socfpga.dtsi
> @@ -0,0 +1,755 @@
> +/*
> + *  Copyright (C) 2012 Altera <www.altera.com>
> + *
> + * This program 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 program 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.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> + */

SPDX? Or do we want to keep it exactly same as in linux?

> +					qspi_clk: qspi_clk {
> +						#clock-cells = <0>;
> +						compatible = "altr,socfpga-gate-clk";
> +						clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>;
> +						clk-gate = <0xa0 11>;
> +					};
> +				};
> +			};

Any chance to wrap at 80 columns?

> index 0000000..3f04908
> --- /dev/null
> +++ b/include/dt-bindings/reset/altr,rst-mgr.h
> @@ -0,0 +1,90 @@
> +/*
> + * Copyright (c) 2014, Steffen Trumtrar <s.trumtrar at pengutronix.de>
> + *
> + * This software is licensed under the terms of the GNU General Public
> + * License version 2, as published by the Free Software Foundation, and
> + * may be copied, distributed, and modified under those terms.
> + *
> + * This program 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.
> + */

SPDX?

Thanks,
								Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


More information about the U-Boot mailing list