svn commit: r350605 - in stable/12/sys: arm/allwinner arm/allwinner/a10 arm/allwinner/clkng arm64/conf conf dts/arm64/overlays modules/dtb/allwinner
Emmanuel Vadot
manu at FreeBSD.org
Mon Aug 5 18:27:28 UTC 2019
Author: manu
Date: Mon Aug 5 18:27:25 2019
New Revision: 350605
URL: https://svnweb.freebsd.org/changeset/base/350605
Log:
MFC r346334, r346787-r346789, r347017
r346334:
arm: allwinner: Fix audio for Allwinner H3/H5
Due to three conditions the codec driver for Allwinner A10/A20 and H3/H5 did not work properly here:
Wrong bit position for the analog audio reset
Hardware Reset of codec was not de-asserted correctly
Linux DTS file did not contain the address of the analog register the way as the driver was expecting it.
This patch proposes fixes for those three parts.
Submitted by: freebsdnewbie at freenet.de (Manuel Stühn)
Differential Revision: https://reviews.freebsd.org/D19910
r346787:
arm64: allwinner: Add compatible strings for clock devices used on both Allwinner H3 and H5
Allwinner H3 and H5 share many internal components, that's why they can
use the same drivers.
This patch adds the compatible strings to enable clock drivers
probing on Allwinner NanoPI NEO2 device.
Tested on: NanoPi NEO2 (by submitter), OrangePi PC2 (by manu)
Submitted by: Manuel Stühn (freebsdnewbie at freenet.de)
Differential Revision: https://reviews.freebsd.org/D20069
r346788:
arm64: allwinner: ccu_de2: Remove H5 compatible
We don't have the display engine driver commited in FreeBSD yet so it is
useless to expose the clocks yet (and also it have not been tested on H5).
Reported by: Manuel Stühn (freebsdnewbie at freenet.de)
PR: 237571
r346789:
arm: allwinner: a10: Correct pin functions
PB20 and PB21 alternate function 1 is i2c2 not i2c1
Reported by: Horiki Mori (yamori813 at yahoo.co.jp)
PR: 237401
r347017:
arm64: Add support for NanoPI NEO2
Add overlay files and activate devicetree file for NanoPi NEO2 featuring
Allwinner H5 ARM64 core.
To enable sound, dma and codec drivers are enabled for build.
Submitted by: Manuel Stühn (freebsdnewbie at freenet.de)
Differential Revision: https://reviews.freebsd.org/D20129
Added:
stable/12/sys/dts/arm64/overlays/sun50i-h5-nanopi-neo2-opp.dtso
- copied unchanged from r347017, head/sys/dts/arm64/overlays/sun50i-h5-nanopi-neo2-opp.dtso
stable/12/sys/dts/arm64/overlays/sun50i-h5-opp.dtso
- copied unchanged from r347017, head/sys/dts/arm64/overlays/sun50i-h5-opp.dtso
stable/12/sys/dts/arm64/overlays/sun50i-h5-sid.dtso
- copied unchanged from r347017, head/sys/dts/arm64/overlays/sun50i-h5-sid.dtso
stable/12/sys/dts/arm64/overlays/sun50i-h5-ths.dtso
- copied unchanged from r347017, head/sys/dts/arm64/overlays/sun50i-h5-ths.dtso
Modified:
stable/12/sys/arm/allwinner/a10/a10_padconf.c
stable/12/sys/arm/allwinner/a10_codec.c
stable/12/sys/arm/allwinner/aw_rtc.c
stable/12/sys/arm/allwinner/aw_syscon.c
stable/12/sys/arm/allwinner/clkng/ccu_de2.c
stable/12/sys/arm64/conf/GENERIC
stable/12/sys/conf/files.arm64
stable/12/sys/modules/dtb/allwinner/Makefile
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/arm/allwinner/a10/a10_padconf.c
==============================================================================
--- stable/12/sys/arm/allwinner/a10/a10_padconf.c Mon Aug 5 18:17:03 2019 (r350604)
+++ stable/12/sys/arm/allwinner/a10/a10_padconf.c Mon Aug 5 18:27:25 2019 (r350605)
@@ -77,8 +77,8 @@ const static struct allwinner_pins a10_pins[] = {
{"PB17", 1, 17, {"gpio_in", "gpio_out", "spi2", "jtag", NULL, NULL, NULL, NULL}},
{"PB18", 1, 18, {"gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, NULL, NULL}},
{"PB19", 1, 19, {"gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, NULL, NULL}},
- {"PB20", 1, 20, {"gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, NULL, NULL}},
- {"PB21", 1, 21, {"gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, NULL, NULL}},
+ {"PB20", 1, 20, {"gpio_in", "gpio_out", "i2c2", NULL, NULL, NULL, NULL, NULL}},
+ {"PB21", 1, 21, {"gpio_in", "gpio_out", "i2c2", NULL, NULL, NULL, NULL, NULL}},
{"PB22", 1, 22, {"gpio_in", "gpio_out", "uart0", "ir1", NULL, NULL, NULL, NULL}},
{"PB23", 1, 23, {"gpio_in", "gpio_out", "uart0", "ir1", NULL, NULL, NULL, NULL}},
Modified: stable/12/sys/arm/allwinner/a10_codec.c
==============================================================================
--- stable/12/sys/arm/allwinner/a10_codec.c Mon Aug 5 18:17:03 2019 (r350604)
+++ stable/12/sys/arm/allwinner/a10_codec.c Mon Aug 5 18:27:25 2019 (r350605)
@@ -164,7 +164,7 @@ struct a10codec_chinfo {
struct a10codec_info {
device_t dev;
- struct resource *res[3];
+ struct resource *res[2];
struct mtx *lock;
bus_dma_tag_t dmat;
unsigned dmasize;
@@ -178,11 +178,12 @@ struct a10codec_info {
static struct resource_spec a10codec_spec[] = {
{ SYS_RES_MEMORY, 0, RF_ACTIVE },
- { SYS_RES_MEMORY, 1, RF_ACTIVE | RF_OPTIONAL },
- { SYS_RES_IRQ, 0, RF_ACTIVE },
{ -1, 0 }
};
+#define CODEC_ANALOG_READ(sc, reg) bus_read_4((sc)->res[1], (reg))
+#define CODEC_ANALOG_WRITE(sc, reg, val) bus_write_4((sc)->res[1], (reg), (val))
+
#define CODEC_READ(sc, reg) bus_read_4((sc)->res[0], (reg))
#define CODEC_WRITE(sc, reg, val) bus_write_4((sc)->res[0], (reg), (val))
@@ -372,7 +373,7 @@ MIXER_DECLARE(a10_mixer);
*/
#define H3_PR_CFG 0x00
-#define H3_AC_PR_RST (1 << 18)
+#define H3_AC_PR_RST (1 << 28)
#define H3_AC_PR_RW (1 << 24)
#define H3_AC_PR_ADDR_SHIFT 16
#define H3_AC_PR_ADDR_MASK (0x1f << H3_AC_PR_ADDR_SHIFT)
@@ -424,23 +425,23 @@ h3_pr_read(struct a10codec_info *sc, u_int addr)
uint32_t val;
/* Read current value */
- val = bus_read_4(sc->res[1], H3_PR_CFG);
+ val = CODEC_ANALOG_READ(sc, H3_PR_CFG);
/* De-assert reset */
val |= H3_AC_PR_RST;
- bus_write_4(sc->res[1], H3_PR_CFG, val);
+ CODEC_ANALOG_WRITE(sc, H3_PR_CFG, val);
/* Read mode */
val &= ~H3_AC_PR_RW;
- bus_write_4(sc->res[1], H3_PR_CFG, val);
+ CODEC_ANALOG_WRITE(sc, H3_PR_CFG, val);
/* Set address */
val &= ~H3_AC_PR_ADDR_MASK;
val |= (addr << H3_AC_PR_ADDR_SHIFT);
- bus_write_4(sc->res[1], H3_PR_CFG, val);
+ CODEC_ANALOG_WRITE(sc, H3_PR_CFG, val);
/* Read data */
- return (bus_read_4(sc->res[1], H3_PR_CFG) & H3_ACDA_PR_RDAT_MASK);
+ return (CODEC_ANALOG_READ(sc , H3_PR_CFG) & H3_ACDA_PR_RDAT_MASK);
}
static void
@@ -449,25 +450,25 @@ h3_pr_write(struct a10codec_info *sc, u_int addr, u_in
uint32_t val;
/* Read current value */
- val = bus_read_4(sc->res[1], H3_PR_CFG);
+ val = CODEC_ANALOG_READ(sc, H3_PR_CFG);
/* De-assert reset */
val |= H3_AC_PR_RST;
- bus_write_4(sc->res[1], H3_PR_CFG, val);
+ CODEC_ANALOG_WRITE(sc, H3_PR_CFG, val);
/* Set address */
val &= ~H3_AC_PR_ADDR_MASK;
val |= (addr << H3_AC_PR_ADDR_SHIFT);
- bus_write_4(sc->res[1], H3_PR_CFG, val);
+ CODEC_ANALOG_WRITE(sc, H3_PR_CFG, val);
/* Write data */
val &= ~H3_ACDA_PR_WDAT_MASK;
val |= (data << H3_ACDA_PR_WDAT_SHIFT);
- bus_write_4(sc->res[1], H3_PR_CFG, val);
+ CODEC_ANALOG_WRITE(sc, H3_PR_CFG, val);
/* Write mode */
val |= H3_AC_PR_RW;
- bus_write_4(sc->res[1], H3_PR_CFG, val);
+ CODEC_ANALOG_WRITE(sc, H3_PR_CFG, val);
}
static void
@@ -483,8 +484,28 @@ h3_pr_set_clear(struct a10codec_info *sc, u_int addr,
static int
h3_mixer_init(struct snd_mixer *m)
{
+ int rid=1;
+ pcell_t reg[2];
+ phandle_t analogref;
struct a10codec_info *sc = mix_getdevinfo(m);
+ if (OF_getencprop(ofw_bus_get_node(sc->dev), "allwinner,codec-analog-controls",
+ &analogref, sizeof(analogref)) <= 0) {
+ return (ENXIO);
+ }
+
+ if (OF_getencprop(OF_node_from_xref(analogref), "reg",
+ reg, sizeof(reg)) <= 0) {
+ return (ENXIO);
+ }
+
+ sc->res[1] = bus_alloc_resource(sc->dev, SYS_RES_MEMORY, &rid, reg[0],
+ reg[0]+reg[1], reg[1], RF_ACTIVE );
+
+ if (sc->res[1] == NULL) {
+ return (ENXIO);
+ }
+
mix_setdevs(m, SOUND_MASK_PCM | SOUND_MASK_VOLUME | SOUND_MASK_RECLEV |
SOUND_MASK_MIC | SOUND_MASK_LINE | SOUND_MASK_LINE1);
mix_setrecdevs(m, SOUND_MASK_MIC | SOUND_MASK_LINE | SOUND_MASK_LINE1 |
@@ -940,6 +961,7 @@ a10codec_chan_trigger(kobj_t obj, void *data, int go)
switch (go) {
case PCMTRIG_START:
ch->run = 1;
+ a10codec_stop(ch);
a10codec_start(ch);
break;
case PCMTRIG_STOP:
@@ -1124,8 +1146,7 @@ a10codec_attach(device_t dev)
}
/* De-assert hwreset */
- if (hwreset_get_by_ofw_name(dev, 0, "apb", &rst) == 0 ||
- hwreset_get_by_ofw_name(dev, 0, "ahb", &rst) == 0) {
+ if (hwreset_get_by_ofw_idx(dev, 0, 0, &rst) == 0) {
error = hwreset_deassert(rst);
if (error != 0) {
device_printf(dev, "cannot de-assert reset\n");
@@ -1137,15 +1158,6 @@ a10codec_attach(device_t dev)
val = CODEC_READ(sc, AC_DAC_DPC(sc));
val |= DAC_DPC_EN_DA;
CODEC_WRITE(sc, AC_DAC_DPC(sc), val);
-
-#ifdef notdef
- error = snd_setup_intr(dev, sc->irq, INTR_MPSAFE, a10codec_intr, sc,
- &sc->ih);
- if (error != 0) {
- device_printf(dev, "could not setup interrupt handler\n");
- goto fail;
- }
-#endif
if (mixer_init(dev, sc->cfg->mixer_class, sc)) {
device_printf(dev, "mixer_init failed\n");
Modified: stable/12/sys/arm/allwinner/aw_rtc.c
==============================================================================
--- stable/12/sys/arm/allwinner/aw_rtc.c Mon Aug 5 18:17:03 2019 (r350604)
+++ stable/12/sys/arm/allwinner/aw_rtc.c Mon Aug 5 18:27:25 2019 (r350605)
@@ -137,6 +137,7 @@ static struct ofw_compat_data compat_data[] = {
{ "allwinner,sun7i-a20-rtc", (uintptr_t) &a20_conf },
{ "allwinner,sun6i-a31-rtc", (uintptr_t) &a31_conf },
{ "allwinner,sun8i-h3-rtc", (uintptr_t) &h3_conf },
+ { "allwinner,sun50i-h5-rtc", (uintptr_t) &h3_conf },
{ NULL, 0 }
};
Modified: stable/12/sys/arm/allwinner/aw_syscon.c
==============================================================================
--- stable/12/sys/arm/allwinner/aw_syscon.c Mon Aug 5 18:17:03 2019 (r350604)
+++ stable/12/sys/arm/allwinner/aw_syscon.c Mon Aug 5 18:27:25 2019 (r350605)
@@ -53,6 +53,7 @@ static struct ofw_compat_data compat_data[] = {
{"allwinner,sun8i-a83t-system-controller", 1},
{"allwinner,sun8i-h3-system-controller", 1},
{"allwinner,sun8i-h3-system-control", 1},
+ {"allwinner,sun50i-h5-system-control", 1},
{NULL, 0}
};
Modified: stable/12/sys/arm/allwinner/clkng/ccu_de2.c
==============================================================================
--- stable/12/sys/arm/allwinner/clkng/ccu_de2.c Mon Aug 5 18:17:03 2019 (r350604)
+++ stable/12/sys/arm/allwinner/clkng/ccu_de2.c Mon Aug 5 18:27:25 2019 (r350605)
@@ -115,7 +115,6 @@ static struct aw_ccung_clk de2_ccu_clks[] = {
static struct ofw_compat_data compat_data[] = {
{"allwinner,sun50i-a64-de2-clk", 1},
- {"allwinner,sun50i-h5-de2-clk", 1},
{NULL, 0}
};
Modified: stable/12/sys/arm64/conf/GENERIC
==============================================================================
--- stable/12/sys/arm64/conf/GENERIC Mon Aug 5 18:17:03 2019 (r350604)
+++ stable/12/sys/arm64/conf/GENERIC Mon Aug 5 18:27:25 2019 (r350605)
@@ -191,11 +191,19 @@ device muge
device smcphy
device smsc
+# Sound support
+device sound
+device a10_codec
+
+# DMA controller
+device a31_dmac
+
# GPIO / PINCTRL
device aw_gpio # Allwinner GPIO controller
device gpio
device gpioled
device fdt_pinctrl
+device gpioregulator
device mv_gpio # Marvell GPIO controller
device mvebu_pinctrl # Marvell Pinmux Controller
Modified: stable/12/sys/conf/files.arm64
==============================================================================
--- stable/12/sys/conf/files.arm64 Mon Aug 5 18:17:03 2019 (r350604)
+++ stable/12/sys/conf/files.arm64 Mon Aug 5 18:27:25 2019 (r350605)
@@ -27,6 +27,10 @@ cloudabi64_vdso_blob.o optional compat_cloudabi64 \
# Allwinner common files
arm/allwinner/a10_ehci.c optional ehci aw_ehci fdt
arm/allwinner/a10_timer.c optional a10_timer fdt
+arm/allwinner/a10_codec.c optional sound a10_codec
+arm/allwinner/a31_dmac.c optional a31_dmac
+arm/allwinner/sunxi_dma_if.m optional a31_dmac
+arm/allwinner/aw_cir.c optional evdev aw_cir fdt
arm/allwinner/aw_gpio.c optional gpio aw_gpio fdt
arm/allwinner/aw_mmc.c optional mmc aw_mmc fdt | mmccam aw_mmc fdt
arm/allwinner/aw_nmi.c optional aw_nmi fdt \
Copied: stable/12/sys/dts/arm64/overlays/sun50i-h5-nanopi-neo2-opp.dtso (from r347017, head/sys/dts/arm64/overlays/sun50i-h5-nanopi-neo2-opp.dtso)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/sys/dts/arm64/overlays/sun50i-h5-nanopi-neo2-opp.dtso Mon Aug 5 18:27:25 2019 (r350605, copy of r347017, head/sys/dts/arm64/overlays/sun50i-h5-nanopi-neo2-opp.dtso)
@@ -0,0 +1,32 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ compatible = "allwinner,sun50i-h5";
+};
+
+&{/} {
+ vdd_cpux: gpio-regulator {
+ compatible = "regulator-gpio";
+ pinctrl-names = "default";
+ regulator-name = "vdd-cpux";
+ regulator-type = "voltage";
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-ramp-delay = <50>; /* 4ms */
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
+ gpios-states = <0x1>;
+ states = <1100000 0x0
+ 1300000 0x1>;
+ };
+
+};
+
+&{/cpus/cpu at 0} {
+ cpu-supply = <&vdd_cpux>;
+};
+
Copied: stable/12/sys/dts/arm64/overlays/sun50i-h5-opp.dtso (from r347017, head/sys/dts/arm64/overlays/sun50i-h5-opp.dtso)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/sys/dts/arm64/overlays/sun50i-h5-opp.dtso Mon Aug 5 18:27:25 2019 (r350605, copy of r347017, head/sys/dts/arm64/overlays/sun50i-h5-opp.dtso)
@@ -0,0 +1,99 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/sun8i-h3-ccu.h>
+
+/ {
+ compatible = "allwinner,sun50i-h5";
+};
+
+&{/} {
+ cpu_opp_table: opp_table {
+ compatible = "operating-points-v2";
+ opp-shared;
+
+ opp at 408000000 {
+ opp-hz = /bits/ 64 <408000000>;
+ opp-microvolt = <1000000 1000000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp at 648000000 {
+ opp-hz = /bits/ 64 <648000000>;
+ opp-microvolt = <1040000 1040000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp at 816000000 {
+ opp-hz = /bits/ 64 <816000000>;
+ opp-microvolt = <1080000 1080000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp at 912000000 {
+ opp-hz = /bits/ 64 <912000000>;
+ opp-microvolt = <1120000 1120000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp at 960000000 {
+ opp-hz = /bits/ 64 <960000000>;
+ opp-microvolt = <1160000 1160000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp at 1008000000 {
+ opp-hz = /bits/ 64 <1008000000>;
+ opp-microvolt = <1200000 1200000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp at 1056000000 {
+ opp-hz = /bits/ 64 <1056000000>;
+ opp-microvolt = <1240000 1240000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp at 1104000000 {
+ opp-hz = /bits/ 64 <1104000000>;
+ opp-microvolt = <1260000 1260000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp at 1152000000 {
+ opp-hz = /bits/ 64 <1152000000>;
+ opp-microvolt = <1300000 1300000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+ };
+
+ reg_cpu_fallback: reg_cpu_fallback {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd-cpux-dummy";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ };
+
+};
+
+&{/cpus/cpu at 0} {
+ clocks = <&ccu CLK_CPUX>;
+ clock-names = "cpu";
+ clock-latency = <244144>; /* 8 32k periods */
+ operating-points-v2 = <&cpu_opp_table>;
+ cpu-supply = <®_cpu_fallback>;
+ #cooling-cells = <2>;
+};
+
+&{/cpus/cpu at 1} {
+ operating-points-v2 = <&cpu_opp_table>;
+};
+
+&{/cpus/cpu at 2} {
+ operating-points-v2 = <&cpu_opp_table>;
+};
+
+&{/cpus/cpu at 3} {
+ operating-points-v2 = <&cpu_opp_table>;
+};
+
Copied: stable/12/sys/dts/arm64/overlays/sun50i-h5-sid.dtso (from r347017, head/sys/dts/arm64/overlays/sun50i-h5-sid.dtso)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/sys/dts/arm64/overlays/sun50i-h5-sid.dtso Mon Aug 5 18:27:25 2019 (r350605, copy of r347017, head/sys/dts/arm64/overlays/sun50i-h5-sid.dtso)
@@ -0,0 +1,17 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "allwinner,sun50i-h5";
+};
+
+&{/soc} {
+ sid: eeprom at 1c14000 {
+ compatible = "allwinner,sun50i-h5-sid";
+ reg = <0x1c14000 0x400>;
+
+ ths_calib: calib at 234 {
+ reg = <0x234 0x4>;
+ };
+ };
+};
Copied: stable/12/sys/dts/arm64/overlays/sun50i-h5-ths.dtso (from r347017, head/sys/dts/arm64/overlays/sun50i-h5-ths.dtso)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/sys/dts/arm64/overlays/sun50i-h5-ths.dtso Mon Aug 5 18:27:25 2019 (r350605, copy of r347017, head/sys/dts/arm64/overlays/sun50i-h5-ths.dtso)
@@ -0,0 +1,26 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/sun8i-h3-ccu.h>
+#include <dt-bindings/reset/sun8i-h3-ccu.h>
+
+/ {
+ compatible = "allwinner,sun50i-h5";
+};
+
+&{/soc} {
+ ths: thermal_sensor at 1c25000 {
+ compatible = "allwinner,sun50i-h5-ths";
+ reg = <0x01c25000 0x100>;
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>;
+ clock-names = "apb", "ths";
+ resets = <&ccu RST_BUS_THS>;
+ reset-names = "apb";
+ #thermal-sensor-cells = <1>;
+
+ nvmem-cells = <&ths_calib>;
+ nvmem-cell-names = "ths-calib";
+ };
+};
Modified: stable/12/sys/modules/dtb/allwinner/Makefile
==============================================================================
--- stable/12/sys/modules/dtb/allwinner/Makefile Mon Aug 5 18:17:03 2019 (r350604)
+++ stable/12/sys/modules/dtb/allwinner/Makefile Mon Aug 5 18:27:25 2019 (r350605)
@@ -44,14 +44,19 @@ DTS= \
allwinner/sun50i-a64-pine64-plus.dts \
allwinner/sun50i-a64-pine64.dts \
allwinner/sun50i-a64-sopine-baseboard.dts \
- allwinner/sun50i-h5-orangepi-pc2.dts
+ allwinner/sun50i-h5-orangepi-pc2.dts \
+ allwinner/sun50i-h5-nanopi-neo2.dts
DTSO= sun50i-a64-opp.dtso \
sun50i-a64-pwm.dtso \
sun50i-a64-rpwm.dtso \
sun50i-a64-sid.dtso \
sun50i-a64-ths.dtso \
- sun50i-a64-timer.dtso
+ sun50i-a64-timer.dtso \
+ sun50i-h5-opp.dtso \
+ sun50i-h5-sid.dtso \
+ sun50i-h5-ths.dtso \
+ sun50i-h5-nanopi-neo2-opp.dtso
.endif
More information about the svn-src-stable-12
mailing list