From a9e5047fa679232941e8f21ee74abb8a837af59f Mon Sep 17 00:00:00 2001 From: Emmanuel Vadot Date: Fri, 24 Aug 2018 15:00:36 +0000 Subject: [PATCH] arm64: Add DTS overlays for A64 - sun50i-a64-sid.dtso registers the Security ID node, needed for thermal - sun50i-a64-ths.dtso registers the thermal node, for which we already have a driver - sun50i-a64-timer.dtso registers the timer node, needed as the generic timer glitch on A64 SoC. Approved by: re (gjb) --- sys/dts/arm64/Makefile | 7 +++++ sys/dts/arm64/overlays/Makefile | 7 +++++ sys/dts/arm64/overlays/sun50i-a64-sid.dtso | 17 ++++++++++++ sys/dts/arm64/overlays/sun50i-a64-ths.dtso | 27 ++++++++++++++++++++ sys/dts/arm64/overlays/sun50i-a64-timer.dtso | 17 ++++++++++++ sys/modules/dtb/allwinner/Makefile | 5 ++++ 6 files changed, 80 insertions(+) create mode 100644 sys/dts/arm64/Makefile create mode 100644 sys/dts/arm64/overlays/Makefile create mode 100644 sys/dts/arm64/overlays/sun50i-a64-sid.dtso create mode 100644 sys/dts/arm64/overlays/sun50i-a64-ths.dtso create mode 100644 sys/dts/arm64/overlays/sun50i-a64-timer.dtso diff --git a/sys/dts/arm64/Makefile b/sys/dts/arm64/Makefile new file mode 100644 index 00000000000..03d156d9477 --- /dev/null +++ b/sys/dts/arm64/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +DTS!=ls *.dts + +all: test-dts + +.include diff --git a/sys/dts/arm64/overlays/Makefile b/sys/dts/arm64/overlays/Makefile new file mode 100644 index 00000000000..aff6f3d459b --- /dev/null +++ b/sys/dts/arm64/overlays/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +DTSO!=ls *.dtso + +all: test-dtso + +.include diff --git a/sys/dts/arm64/overlays/sun50i-a64-sid.dtso b/sys/dts/arm64/overlays/sun50i-a64-sid.dtso new file mode 100644 index 00000000000..3d1b351b53c --- /dev/null +++ b/sys/dts/arm64/overlays/sun50i-a64-sid.dtso @@ -0,0 +1,17 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "allwinner,sun50i-a64"; +}; + +&{/soc} { + sid: eeprom@1c14000 { + compatible = "allwinner,sun50i-a64-sid"; + reg = <0x1c14000 0x400>; + + ths_calib: calib@234 { + reg = <0x234 0x6>; + }; + }; +}; diff --git a/sys/dts/arm64/overlays/sun50i-a64-ths.dtso b/sys/dts/arm64/overlays/sun50i-a64-ths.dtso new file mode 100644 index 00000000000..a7c7dd21b2d --- /dev/null +++ b/sys/dts/arm64/overlays/sun50i-a64-ths.dtso @@ -0,0 +1,27 @@ +/dts-v1/; +/plugin/; + +#include +#include +#include + +/ { + compatible = "allwinner,sun50i-a64"; +}; + +&{/soc} { + ths: thermal_sensor@1c25000 { + compatible = "allwinner,sun50i-a64-ths"; + reg = <0x01c25000 0x100>; + interrupts = ; + clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>; + clock-names = "apb", "ths"; + resets = <&ccu RST_BUS_THS>; + reset-names = "apb"; + #thermal-sensor-cells = <2>; + status = "okay"; + + nvmem-cells = <&ths_calib>; + nvmem-cell-names = "ths-calib"; + }; +}; diff --git a/sys/dts/arm64/overlays/sun50i-a64-timer.dtso b/sys/dts/arm64/overlays/sun50i-a64-timer.dtso new file mode 100644 index 00000000000..0e7bb8fc23d --- /dev/null +++ b/sys/dts/arm64/overlays/sun50i-a64-timer.dtso @@ -0,0 +1,17 @@ +/dts-v1/; +/plugin/; + +#include +/ { + compatible = "allwinner,sun50i-a64"; +}; + +&{/soc} { + timer@1c20c00 { + compatible = "allwinner,sun8i-a23-timer"; + reg = <0x1c20c00 0x2C>; + interrupts = , + ; + status = "okay"; + }; +}; diff --git a/sys/modules/dtb/allwinner/Makefile b/sys/modules/dtb/allwinner/Makefile index e6aedcd194c..df7fe9b75e6 100644 --- a/sys/modules/dtb/allwinner/Makefile +++ b/sys/modules/dtb/allwinner/Makefile @@ -43,6 +43,11 @@ DTS= \ allwinner/sun50i-a64-pine64.dts \ allwinner/sun50i-a64-sopine-baseboard.dts \ allwinner/sun50i-h5-orangepi-pc2.dts + +DTSO= sun50i-a64-sid.dtso \ + sun50i-a64-ths.dtso \ + sun50i-a64-timer.dtso + .endif .include