- fix DCLK clock names

- new board ICnova A20 ADB4006
 - add D1 SPI node
 - add bluetooth node for chip board
 - add extra mmc2 pinmux to sun5i
 - add axp209 iio-hwmon node
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCZIOTTQAKCRB0Ba7+DO8k
 k5xnAQC7SiKb7nM57GcvalNzvMRhpo0z0gpGvWRQS72kpIHbjgEA03DMyS88cksb
 RJj1gooMbGyrINBRQF2JmCSxDVG7fw4=
 =Ads4
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSSDcsACgkQYKtH/8kJ
 UidblRAAqA3rpCvxHhIFfPnANEDpPPXP8Op6XMip5usfns123mD+DqwEdPrTBkEt
 +20ikAcqPsYMxHz02LPLVX66n0QHscwNHlXzCrJpsidLAr5m3EmC0PqTYFPwixEI
 ow0MjL4JukBUnVn+p0c5K0dx56Pb+29RBsqsVR7jNM0DFVsm1CbrtfRZbGcHwNFe
 sKou+Qa+JawQa7w8T092T6ke9tDCHA666j9wJGiw7xnNVaFiBSWGhGO97VpDQ3nV
 z8cCfyugFQ34+Tbmtyzj20lAxp6dvqMG2E67E/2gpYxHSDLIiwaVwP5QaafaCjgm
 ZhgXlfHn8HCoC+JUv0X02Fp13OZrWR4XWIi1bL1QcenlaAknZ9HwiOm8F3xJJaGE
 2WBkuHs7l7x4WkWacUXir4CRU+lkSKvbHQpz38aZhI/GT97fFkzsGbJ65VGBRzdA
 68GGwbQxs/Z4Hj5Drea4f2CbY4wLHMuaJQErYncMtnbIPcQDGGiaLFRMrrLn7UFZ
 r/5wdtvyW8mWTcFkhCq63b+IutI5NBgpPNdSZc/YflPOSWenchtAaSy6OkQVEYax
 dpm9YFV5Vu/KY8HrEi2UQadEzxu6o+V4rN/BSF0UVRk267NDz1xbtLuSE7NiyCFD
 PcR2/yPLpMQeRma5F4eeeXSOtfUxxNnYJ/cClhHs891F6NpXxdo=
 =76YI
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-6.5-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt

- fix DCLK clock names
- new board ICnova A20 ADB4006
- add D1 SPI node
- add bluetooth node for chip board
- add extra mmc2 pinmux to sun5i
- add axp209 iio-hwmon node

* tag 'sunxi-dt-for-6.5-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  ARM: dts: axp209: Add iio-hwmon node for internal temperature
  ARM: dts: sun5i: Add port E pinmux settings for mmc2
  ARM: dts: sun5i: chip: Enable bluetooth
  riscv: dts: allwinner: d1: Add SPI controllers node
  arm: dts: sunxi: Add ICnova A20 ADB4006 board
  dt-bindings: arm: sunxi: add ICnova A20 ADB4006 binding
  ARM: dts: sunxi: rename tcon's clock output

Link: https://lore.kernel.org/r/20230609210452.GA17638@jernej-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2023-06-20 22:36:26 +02:00
commit 52d38cff94
12 changed files with 270 additions and 5 deletions

View file

@ -305,6 +305,12 @@ properties:
- const: allwinner,i12-tvbox
- const: allwinner,sun7i-a20
- description: ICnova A20 ADB4006
items:
- const: incircuit,icnova-a20-adb4006
- const: incircuit,icnova-a20
- const: allwinner,sun7i-a20
- description: ICNova A20 SWAC
items:
- const: incircuit,icnova-a20-swac

View file

@ -1337,6 +1337,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
sun7i-a20-hummingbird.dtb \
sun7i-a20-itead-ibox.dtb \
sun7i-a20-i12-tvbox.dtb \
sun7i-a20-icnova-a20-adb4006.dtb \
sun7i-a20-icnova-swac.dtb \
sun7i-a20-lamobo-r1.dtb \
sun7i-a20-linutronix-testbox-v2.dtb \

View file

@ -48,6 +48,13 @@
* http://dl.linux-sunxi.org/AXP/AXP209%20Datasheet%20v1.0_cn.pdf
*/
/ {
pmic-temp {
compatible = "iio-hwmon";
io-channels = <&axp_adc 4>; /* Internal temperature */
};
};
&axp209 {
compatible = "x-powers,axp209";
interrupt-controller;

View file

@ -255,6 +255,12 @@ &uart3 {
pinctrl-0 = <&uart3_pg_pins>,
<&uart3_cts_rts_pg_pins>;
status = "okay";
bluetooth {
compatible = "realtek,rtl8723bs-bt";
device-wake-gpios = <&axp_gpio 3 GPIO_ACTIVE_HIGH>;
host-wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
};
};
&usb_otg {

View file

@ -286,7 +286,7 @@ tcon0: lcd-controller@1c0c000 {
clock-names = "ahb",
"tcon-ch0",
"tcon-ch1";
clock-output-names = "tcon-pixel-clock";
clock-output-names = "tcon-data-clock";
#clock-cells = <0>;
status = "disabled";
@ -517,6 +517,15 @@ mmc2_4bit_pc_pins: mmc2-4bit-pc-pins {
bias-pull-up;
};
/omit-if-no-ref/
mmc2_4bit_pe_pins: mmc2-4bit-pe-pins {
pins = "PE4", "PE5", "PE6", "PE7",
"PE8", "PE9";
function = "mmc2";
drive-strength = <30>;
bias-pull-up;
};
mmc2_8bit_pins: mmc2-8bit-pins {
pins = "PC6", "PC7", "PC8", "PC9",
"PC10", "PC11", "PC12", "PC13",

View file

@ -0,0 +1,137 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
// Copyright (C) 2023 In-Circuit GmbH
/dts-v1/;
#include "sun7i-a20-icnova-a20.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
/ {
model = "In-Circuit ICnova A20 ADB4006";
compatible = "incircuit,icnova-a20-adb4006", "incircuit,icnova-a20",
"allwinner,sun7i-a20";
aliases {
serial0 = &uart0;
};
chosen {
stdout-path = "serial0:115200n8";
};
hdmi-connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds {
compatible = "gpio-leds";
led-0 {
function = LED_FUNCTION_POWER;
color = <LED_COLOR_ID_YELLOW>;
gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; /* PH21 */
default-state = "on";
};
led-1 {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_RED>;
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; /* PH20 */
linux,default-trigger = "heartbeat";
};
};
};
&ahci {
target-supply = <&reg_ahci_5v>;
status = "okay";
};
&codec {
status = "okay";
};
&de {
status = "okay";
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
status = "okay";
};
&ohci0 {
status = "okay";
};
&ohci1 {
status = "okay";
};
&otg_sram {
status = "okay";
};
&reg_ahci_5v {
status = "okay";
};
&ac_power_supply {
status = "okay";
};
&reg_usb1_vbus {
status = "okay";
};
&reg_usb2_vbus {
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>;
status = "okay";
};
&usb_otg {
dr_mode = "otg";
status = "okay";
};
&usbphy {
usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay";
};

View file

@ -0,0 +1,62 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
// Copyright (C) 2023 In-Circuit GmbH
#include "sun7i-a20.dtsi"
#include "sunxi-common-regulators.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>
&cpu0 {
cpu-supply = <&reg_dcdc2>;
};
&gmac {
pinctrl-names = "default";
pinctrl-0 = <&gmac_mii_pins>;
phy-handle = <&phy1>;
phy-mode = "mii";
status = "okay";
};
&i2c0 {
status = "okay";
axp209: pmic@34 {
reg = <0x34>;
interrupt-parent = <&nmi_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
};
};
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
#include "axp209.dtsi"
&reg_dcdc2 {
regulator-always-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1400000>;
regulator-name = "vdd-cpu";
};
&reg_dcdc3 {
regulator-always-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1400000>;
regulator-name = "vdd-int-dll";
};
&reg_ldo1 {
regulator-name = "vdd-rtc";
};
&reg_ldo2 {
regulator-always-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "avcc";
};

View file

@ -190,7 +190,7 @@ tcon0: lcd-controller@1c0c000 {
clock-names = "ahb",
"tcon-ch0",
"lvds-alt";
clock-output-names = "tcon-pixel-clock";
clock-output-names = "tcon-data-clock";
#clock-cells = <0>;
resets = <&ccu RST_BUS_LCD>,
<&ccu RST_BUS_LVDS>;

View file

@ -456,7 +456,7 @@ tcon0: lcd-controller@1c0c000 {
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
clock-names = "ahb", "tcon-ch0";
clock-output-names = "tcon-pixel-clock";
clock-output-names = "tcon-data-clock";
#clock-cells = <0>;
resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
reset-names = "lcd", "lvds";

View file

@ -191,7 +191,7 @@ tcon0: lcd-controller@1c0c000 {
<&ccu CLK_TCON0>;
clock-names = "ahb",
"tcon-ch0";
clock-output-names = "tcon-pixel-clock";
clock-output-names = "tcon-data-clock";
#clock-cells = <0>;
resets = <&ccu RST_BUS_TCON0>;
reset-names = "lcd";

View file

@ -408,7 +408,7 @@ tcon0: lcd-controller@1c0c000 {
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
clock-names = "ahb", "tcon-ch0";
clock-output-names = "tcon-pixel-clock";
clock-output-names = "tcon-data-clock";
#clock-cells = <0>;
resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
reset-names = "lcd", "lvds";

View file

@ -108,6 +108,12 @@ rmii_pe_pins: rmii-pe-pins {
function = "emac";
};
/omit-if-no-ref/
spi0_pins: spi0-pins {
pins = "PC2", "PC3", "PC4", "PC5";
function = "spi0";
};
/omit-if-no-ref/
uart1_pg6_pins: uart1-pg6-pins {
pins = "PG6", "PG7";
@ -447,6 +453,37 @@ mmc2: mmc@4022000 {
#size-cells = <0>;
};
spi0: spi@4025000 {
compatible = "allwinner,sun20i-d1-spi",
"allwinner,sun50i-r329-spi";
reg = <0x04025000 0x1000>;
interrupts = <SOC_PERIPHERAL_IRQ(15) IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
clock-names = "ahb", "mod";
dmas = <&dma 22>, <&dma 22>;
dma-names = "rx", "tx";
resets = <&ccu RST_BUS_SPI0>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
spi1: spi@4026000 {
compatible = "allwinner,sun20i-d1-spi-dbi",
"allwinner,sun50i-r329-spi-dbi",
"allwinner,sun50i-r329-spi";
reg = <0x04026000 0x1000>;
interrupts = <SOC_PERIPHERAL_IRQ(16) IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
clock-names = "ahb", "mod";
dmas = <&dma 23>, <&dma 23>;
dma-names = "rx", "tx";
resets = <&ccu RST_BUS_SPI1>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
usb_otg: usb@4100000 {
compatible = "allwinner,sun20i-d1-musb",
"allwinner,sun8i-a33-musb";