Skip to contentSkip to conversation

arm: socfpga: Add DT support for SoCFPGA and add socfpga_socrates target

PATCH Superseded Stefan Roese 1 participant 1 message Nov 7, 2014

Subsystems (3)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 arm: socfpga: Add DT support for SoCFPGA and add socfpga_socrates target

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.

Cc Marek Vasut <[email protected]>
Cc Chin Liang See <[email protected]>
Cc Dinh Nguyen <[email protected]>
Cc Vince Bridgers <[email protected]>
Cc Albert Aribaud <[email protected]>
Cc Pavel Machek <[email protected]>
Cc Simon Glass <[email protected]>

---
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 ++
 configs/socfpga_socrates_defconfig         |   5 +
 include/dt-bindings/reset/altr,rst-mgr.h   |  90 ++++
 6 files changed, 953 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 configs/socfpga_socrates_defconfig
 create mode 100644 include/dt-bindings/reset/altr,rst-mgr.h
arch/arm/dts/Makefile +2 -0
index 52f8926..b946abe 100644
@@ -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
arch/arm/dts/socfpga.dtsi new file +755 -0

755 lines not on this page · raw message

arch/arm/dts/socfpga_cyclone5.dtsi new file +51 -0

51 lines not on this page · raw message

arch/arm/dts/socfpga_cyclone5_socrates.dts new file +50 -0

50 lines not on this page · raw message

configs/socfpga_socrates_defconfig new file +5 -0
new file mode 100644
index 0000000..0f3896d
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SOCFPGA_CYCLONE5=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="socfpga_cyclone5_socrates"
include/dt-bindings/reset/altr,rst-mgr.h new file +90 -0

90 lines not on this page · raw message

Signature · 1 line
2.1.3