From 34b8ef3d7762d87edeb615ca30d157c92a7c6251 Mon Sep 17 00:00:00 2001 From: Emmanuel Vadot Date: Tue, 5 Dec 2017 21:21:23 +0000 Subject: [PATCH] Allwinner H5: Enhance support Add proper gpio and clock support --- sys/arm/allwinner/a10_gpio.c | 5 +++-- sys/arm/allwinner/clkng/ccu_h3.c | 4 ++++ sys/arm/allwinner/clkng/ccu_sun8i_r.c | 4 ++++ sys/arm/allwinner/h3/h3_padconf.c | 8 ++++++-- sys/arm/allwinner/h3/h3_r_padconf.c | 8 ++++++-- sys/conf/files.arm64 | 2 ++ 6 files changed, 25 insertions(+), 6 deletions(-) diff --git a/sys/arm/allwinner/a10_gpio.c b/sys/arm/allwinner/a10_gpio.c index 73bcc2c27582..919ca86a9a9f 100644 --- a/sys/arm/allwinner/a10_gpio.c +++ b/sys/arm/allwinner/a10_gpio.c @@ -113,7 +113,7 @@ extern const struct allwinner_padconf a33_padconf; #endif /* Defined in h3_padconf.c */ -#ifdef SOC_ALLWINNER_H3 +#if defined(SOC_ALLWINNER_H3) || defined(SOC_ALLWINNER_H5) extern const struct allwinner_padconf h3_padconf; extern const struct allwinner_padconf h3_r_padconf; #endif @@ -156,8 +156,9 @@ static struct ofw_compat_data compat_data[] = { {"allwinner,sun8i-a83t-pinctrl", (uintptr_t)&a83t_padconf}, {"allwinner,sun8i-a83t-r-pinctrl", (uintptr_t)&a83t_r_padconf}, #endif -#ifdef SOC_ALLWINNER_H3 +#if defined(SOC_ALLWINNER_H3) || defined(SOC_ALLWINNER_H5) {"allwinner,sun8i-h3-pinctrl", (uintptr_t)&h3_padconf}, + {"allwinner,sun50i-h5-pinctrl", (uintptr_t)&h3_padconf}, {"allwinner,sun8i-h3-r-pinctrl", (uintptr_t)&h3_r_padconf}, #endif #ifdef SOC_ALLWINNER_A64 diff --git a/sys/arm/allwinner/clkng/ccu_h3.c b/sys/arm/allwinner/clkng/ccu_h3.c index 69ae7d06b427..4322814291b1 100644 --- a/sys/arm/allwinner/clkng/ccu_h3.c +++ b/sys/arm/allwinner/clkng/ccu_h3.c @@ -37,6 +37,10 @@ __FBSDID("$FreeBSD$"); #include #include +#if defined(__aarch64__) +#include "opt_soc.h" +#endif + #include #include #include diff --git a/sys/arm/allwinner/clkng/ccu_sun8i_r.c b/sys/arm/allwinner/clkng/ccu_sun8i_r.c index 2e6112f31021..b129b83d2713 100644 --- a/sys/arm/allwinner/clkng/ccu_sun8i_r.c +++ b/sys/arm/allwinner/clkng/ccu_sun8i_r.c @@ -33,6 +33,10 @@ __FBSDID("$FreeBSD$"); #include #include +#if defined(__aarch64__) +#include "opt_soc.h" +#endif + #include #include #include diff --git a/sys/arm/allwinner/h3/h3_padconf.c b/sys/arm/allwinner/h3/h3_padconf.c index 6142e4d7fce2..57c5321fa77a 100644 --- a/sys/arm/allwinner/h3/h3_padconf.c +++ b/sys/arm/allwinner/h3/h3_padconf.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2016 Emmanuel Vadot + * Copyright (c) 2016-2017 Emmanuel Vadot * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,9 +33,13 @@ __FBSDID("$FreeBSD$"); #include #include +#if defined(__aarch64__) +#include "opt_soc.h" +#endif + #include -#ifdef SOC_ALLWINNER_H3 +#if defined(SOC_ALLWINNER_H3) || defined(SOC_ALLWINNER_H5) const static struct allwinner_pins h3_pins[] = { {"PA0", 0, 0, {"gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, "pa_eint0", NULL}, 6, 0}, diff --git a/sys/arm/allwinner/h3/h3_r_padconf.c b/sys/arm/allwinner/h3/h3_r_padconf.c index bc02935386de..5607810cfce7 100644 --- a/sys/arm/allwinner/h3/h3_r_padconf.c +++ b/sys/arm/allwinner/h3/h3_r_padconf.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2016 Emmanuel Vadot + * Copyright (c) 2016-2017 Emmanuel Vadot * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,9 +33,13 @@ __FBSDID("$FreeBSD$"); #include #include +#if defined(__aarch64__) +#include "opt_soc.h" +#endif + #include -#ifdef SOC_ALLWINNER_H3 +#if defined(SOC_ALLWINNER_H3) || defined(SOC_ALLWINNER_H5) const static struct allwinner_pins h3_r_pins[] = { {"PL0", 0, 0, {"gpio_in", "gpio_out", "s_twi", NULL, NULL, NULL, "pl_eint0", NULL}, 6, 0}, diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index cd291cba2a62..3b6474d11968 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -28,6 +28,8 @@ arm/allwinner/a10_gpio.c optional gpio aw_gpio fdt arm/allwinner/a10_mmc.c optional mmc aw_mmc fdt arm/allwinner/a64/a64_padconf.c optional soc_allwinner_a64 fdt arm/allwinner/a64/a64_r_padconf.c optional soc_allwinner_a64 fdt +arm/allwinner/h3/h3_padconf.c optional soc_allwinner_h5 fdt +arm/allwinner/h3/h3_r_padconf.c optional soc_allwinner_h5 fdt arm/allwinner/aw_ccu.c optional aw_ccu fdt arm/allwinner/aw_nmi.c optional aw_nmi fdt \ compile-with "${NORMAL_C} -I$S/gnu/dts/include"