Commit b4ebc083 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'sunxi-dt-for-5.16-1' of...

Merge tag 'sunxi-dt-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

Our usual round of DT patches for the 5.16 merge window, with:
  - DT schema fixes
  - I2S support for the R40
  - HDMI support for the pinetab
  - devfreq support for the A64 GPU

* tag 'sunxi-dt-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (21 commits)
  dt-bindings: interconnect: sunxi: Add R40 MBUS compatible
  arm64: dts: allwinner: NanoPi R1S H5: Add generic compatible string for I2C EEPROM
  arm64: dts: allwinner: pinetab: Add HDMI support
  arm64: dts: allwinner: a64: Add GPU opp table
  ARM: dts: sun8i: r40: Add I2S nodes
  dt-bindings: sound: sun4i-i2s: add Allwinner R40 I2S compatible
  arm64: dts: allwinner: teres-i: Remove wakekup-source from the PMIC
  arm64: dts: allwinner: teres-i: Add missing reg
  arm64: dts: allwinner: pinetab: Change regulator node name to avoid warning
  arm64: dts: allwinner: a100: Fix thermal zone node name
  arm64: dts: allwinner: h6: Fix de3 parent clocks ordering
  arm64: dts: allwinner: h5: Fix GPU thermal zone node name
  ARM: dts: cubieboard4: Remove the dumb-vga-dac compatible
  ARM: dts: tbs711: Fix touchscreen compatible
  ARM: dts: sunxi: Fix the SPI NOR node names
  ARM: dts: sunxi: Fix OPPs node name
  ARM: dts: sunxi: Fix OPP arrays
  ARM: dts: sunxi: Rename gpio pinctrl names
  ARM: dts: sunxi: Rename power-supply names
  dt-bindings: sunxi: Add Allwinner A80 PRCM Binding
  ...

Link: https://lore.kernel.org/r/5cad5ac6-187d-4d36-9437-5821c6e8242d.lettre@localhostSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 8d2214d3 d7b101a3
......@@ -30,6 +30,7 @@ properties:
enum:
- allwinner,sun5i-a13-mbus
- allwinner,sun8i-h3-mbus
- allwinner,sun8i-r40-mbus
- allwinner,sun50i-a64-mbus
reg:
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Allwinner CPU Configuration Controller Device Tree Bindings
maintainers:
- Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <mripard@kernel.org>
properties:
compatible:
enum:
- allwinner,sun6i-a31-cpuconfig
- allwinner,sun8i-a23-cpuconfig
- allwinner,sun8i-a83t-cpucfg
- allwinner,sun8i-a83t-r-cpucfg
- allwinner,sun9i-a80-cpucfg
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
cpucfg@1f01c00 {
compatible = "allwinner,sun6i-a31-cpuconfig";
reg = <0x01f01c00 0x300>;
};
...
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/sunxi/allwinner,sun9i-a80-prcm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Allwinner A80 PRCM Device Tree Bindings
maintainers:
- Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <mripard@kernel.org>
properties:
compatible:
const: allwinner,sun9i-a80-prcm
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
prcm@8001400 {
compatible = "allwinner,sun9i-a80-prcm";
reg = <0x08001400 0x200>;
};
...
......@@ -20,6 +20,9 @@ properties:
- const: allwinner,sun6i-a31-i2s
- const: allwinner,sun8i-a83t-i2s
- const: allwinner,sun8i-h3-i2s
- items:
- const: allwinner,sun8i-r40-i2s
- const: allwinner,sun8i-h3-i2s
- items:
- const: allwinner,sun8i-v3-i2s
- const: allwinner,sun8i-h3-i2s
......
......@@ -53,7 +53,7 @@ &axp209 {
interrupt-controller;
#interrupt-cells = <1>;
ac_power_supply: ac-power-supply {
ac_power_supply: ac-power {
compatible = "x-powers,axp202-ac-power-supply";
status = "disabled";
};
......@@ -69,7 +69,7 @@ axp_gpio: gpio {
#gpio-cells = <2>;
};
battery_power_supply: battery-power-supply {
battery_power_supply: battery-power {
compatible = "x-powers,axp209-battery-power-supply";
status = "disabled";
};
......@@ -112,7 +112,7 @@ reg_ldo5: ldo5 {
};
};
usb_power_supply: usb-power-supply {
usb_power_supply: usb-power {
compatible = "x-powers,axp202-usb-power-supply";
status = "disabled";
};
......
......@@ -52,7 +52,7 @@ &axp22x {
interrupt-controller;
#interrupt-cells = <1>;
ac_power_supply: ac-power-supply {
ac_power_supply: ac-power {
compatible = "x-powers,axp221-ac-power-supply";
status = "disabled";
};
......@@ -62,7 +62,7 @@ axp_adc: adc {
#io-channel-cells = <1>;
};
battery_power_supply: battery-power-supply {
battery_power_supply: battery-power {
compatible = "x-powers,axp221-battery-power-supply";
status = "disabled";
};
......@@ -163,7 +163,7 @@ reg_drivevbus: drivevbus {
};
};
usb_power_supply: usb_power_supply {
usb_power_supply: usb-power {
compatible = "x-powers,axp221-usb-power-supply";
status = "disabled";
};
......
......@@ -48,7 +48,7 @@ &axp81x {
interrupt-controller;
#interrupt-cells = <1>;
ac_power_supply: ac-power-supply {
ac_power_supply: ac-power {
compatible = "x-powers,axp813-ac-power-supply";
status = "disabled";
};
......@@ -63,18 +63,18 @@ axp_gpio: gpio {
gpio-controller;
#gpio-cells = <2>;
gpio0_ldo: gpio0-ldo {
gpio0_ldo: gpio0-ldo-pin {
pins = "GPIO0";
function = "ldo";
};
gpio1_ldo: gpio1-ldo {
gpio1_ldo: gpio1-ldo-pin {
pins = "GPIO1";
function = "ldo";
};
};
battery_power_supply: battery-power-supply {
battery_power_supply: battery-power {
compatible = "x-powers,axp813-battery-power-supply";
status = "disabled";
};
......@@ -172,7 +172,7 @@ reg_drivevbus: drivevbus {
};
};
usb_power_supply: usb-power-supply {
usb_power_supply: usb-power {
compatible = "x-powers,axp813-usb-power-supply";
};
};
......@@ -91,12 +91,11 @@ &cpu0 {
/*
* The A10-Lime is known to be unstable when running at 1008 MHz
*/
operating-points = <
/* kHz uV */
912000 1350000
864000 1300000
624000 1250000
>;
operating-points =
/* kHz uV */
<912000 1350000>,
<864000 1300000>,
<624000 1250000>;
};
&de {
......
......@@ -115,13 +115,12 @@ cpu0: cpu@0 {
reg = <0x0>;
clocks = <&ccu CLK_CPU>;
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
operating-points =
/* kHz uV */
1008000 1400000
912000 1350000
864000 1300000
624000 1250000
>;
<1008000 1400000>,
<912000 1350000>,
<864000 1300000>,
<624000 1250000>;
#cooling-cells = <2>;
};
};
......
......@@ -102,15 +102,14 @@ &ccu {
&cpu0 {
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
operating-points =
/* kHz uV */
1008000 1400000
912000 1350000
864000 1300000
624000 1200000
576000 1200000
432000 1200000
>;
<1008000 1400000>,
<912000 1350000>,
<864000 1300000>,
<624000 1200000>,
<576000 1200000>,
<432000 1200000>;
#cooling-cells = <2>;
};
......
......@@ -105,13 +105,12 @@ cpu0: cpu@0 {
reg = <0>;
clocks = <&ccu CLK_CPU>;
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
operating-points =
/* kHz uV */
1008000 1200000
864000 1200000
720000 1100000
480000 1000000
>;
<1008000 1200000>,
<864000 1200000>,
<720000 1100000>,
<480000 1000000>;
#cooling-cells = <2>;
};
......@@ -121,13 +120,12 @@ cpu1: cpu@1 {
reg = <1>;
clocks = <&ccu CLK_CPU>;
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
operating-points =
/* kHz uV */
1008000 1200000
864000 1200000
720000 1100000
480000 1000000
>;
<1008000 1200000>,
<864000 1200000>,
<720000 1100000>,
<480000 1000000>;
#cooling-cells = <2>;
};
......@@ -137,13 +135,12 @@ cpu2: cpu@2 {
reg = <2>;
clocks = <&ccu CLK_CPU>;
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
operating-points =
/* kHz uV */
1008000 1200000
864000 1200000
720000 1100000
480000 1000000
>;
<1008000 1200000>,
<864000 1200000>,
<720000 1100000>,
<480000 1000000>;
#cooling-cells = <2>;
};
......@@ -153,13 +150,12 @@ cpu3: cpu@3 {
reg = <3>;
clocks = <&ccu CLK_CPU>;
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
operating-points =
/* kHz uV */
1008000 1200000
864000 1200000
720000 1100000
480000 1000000
>;
<1008000 1200000>,
<864000 1200000>,
<720000 1100000>,
<480000 1000000>;
#cooling-cells = <2>;
};
};
......
......@@ -104,16 +104,15 @@ &codec {
&cpu0 {
cpu-supply = <&reg_dcdc2>;
operating-points = <
operating-points =
/* kHz uV */
960000 1400000
912000 1400000
864000 1350000
720000 1250000
528000 1150000
312000 1100000
144000 1050000
>;
<960000 1400000>,
<912000 1400000>,
<864000 1350000>,
<720000 1250000>,
<528000 1150000>,
<312000 1100000>,
<144000 1050000>;
};
&de {
......
......@@ -106,16 +106,15 @@ cpu0: cpu@0 {
reg = <0>;
clocks = <&ccu CLK_CPU>;
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
operating-points =
/* kHz uV */
960000 1400000
912000 1400000
864000 1300000
720000 1200000
528000 1100000
312000 1000000
144000 1000000
>;
<960000 1400000>,
<912000 1400000>,
<864000 1300000>,
<720000 1200000>,
<528000 1100000>,
<312000 1000000>,
<144000 1000000>;
#cooling-cells = <2>;
};
......@@ -125,16 +124,15 @@ cpu1: cpu@1 {
reg = <1>;
clocks = <&ccu CLK_CPU>;
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
operating-points =
/* kHz uV */
960000 1400000
912000 1400000
864000 1300000
720000 1200000
528000 1100000
312000 1000000
144000 1000000
>;
<960000 1400000>,
<912000 1400000>,
<864000 1300000>,
<720000 1200000>,
<528000 1100000>,
<312000 1000000>,
<144000 1000000>;
#cooling-cells = <2>;
};
};
......
......@@ -46,7 +46,7 @@
#include <dt-bindings/thermal/thermal.h>
/ {
cpu0_opp_table: opp_table0 {
cpu0_opp_table: opp-table-cpu {
compatible = "operating-points-v2";
opp-shared;
......@@ -164,7 +164,7 @@ iio-hwmon {
io-channels = <&ths>;
};
mali_opp_table: gpu-opp-table {
mali_opp_table: opp-table-gpu {
compatible = "operating-points-v2";
opp-144000000 {
......
......@@ -169,7 +169,7 @@ &i2c0 {
status = "okay";
touchscreen@38 {
compatible = "edt,edt-ft5x06";
compatible = "edt,edt-ft5206";
reg = <0x38>;
interrupt-parent = <&r_pio>;
interrupts = <0 7 IRQ_TYPE_EDGE_FALLING>; /* PL7 */
......
......@@ -200,7 +200,7 @@ de: display-engine {
status = "disabled";
};
cpu0_opp_table: opp_table0 {
cpu0_opp_table: opp-table-cluster0 {
compatible = "operating-points-v2";
opp-shared;
......@@ -253,7 +253,7 @@ opp-1200000000 {
};
};
cpu1_opp_table: opp_table1 {
cpu1_opp_table: opp-table-cluster1 {
compatible = "operating-points-v2";
opp-shared;
......
......@@ -44,7 +44,7 @@
#include <dt-bindings/thermal/thermal.h>
/ {
cpu0_opp_table: opp_table0 {
cpu0_opp_table: opp-table-cpu {
compatible = "operating-points-v2";
opp-shared;
......@@ -112,7 +112,7 @@ cpu3: cpu@3 {
};
};
gpu_opp_table: gpu-opp-table {
gpu_opp_table: opp-table-gpu {
compatible = "operating-points-v2";
opp-120000000 {
......
......@@ -736,6 +736,45 @@ ir1: ir@1c21c00 {
status = "disabled";
};
i2s0: i2s@1c22000 {
#sound-dai-cells = <0>;
compatible = "allwinner,sun8i-r40-i2s",
"allwinner,sun8i-h3-i2s";
reg = <0x01c22000 0x400>;
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>;
clock-names = "apb", "mod";
resets = <&ccu RST_BUS_I2S0>;
dmas = <&dma 3>, <&dma 3>;
dma-names = "rx", "tx";
};
i2s1: i2s@1c22400 {
#sound-dai-cells = <0>;
compatible = "allwinner,sun8i-r40-i2s",
"allwinner,sun8i-h3-i2s";
reg = <0x01c22400 0x400>;
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>;
clock-names = "apb", "mod";
resets = <&ccu RST_BUS_I2S1>;
dmas = <&dma 4>, <&dma 4>;
dma-names = "rx", "tx";
};
i2s2: i2s@1c22800 {
#sound-dai-cells = <0>;
compatible = "allwinner,sun8i-r40-i2s",
"allwinner,sun8i-h3-i2s";
reg = <0x01c22800 0x400>;
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>;
clock-names = "apb", "mod";
resets = <&ccu RST_BUS_I2S2>;
dmas = <&dma 6>, <&dma 6>;
dma-names = "rx", "tx";
};
ths: thermal-sensor@1c24c00 {
compatible = "allwinner,sun8i-r40-ths";
reg = <0x01c24c00 0x100>;
......
......@@ -115,7 +115,7 @@ &reg_ldo2 {
&spi0 {
status = "okay";
spi-flash@0 {
flash@0 {
reg = <0>;
compatible = "jedec,spi-nor";
spi-max-frequency = <50000000>;
......
......@@ -87,7 +87,7 @@ vga_con_in: endpoint {
};
vga-dac {
compatible = "corpro,gm7123", "adi,adv7123", "dumb-vga-dac";
compatible = "corpro,gm7123", "adi,adv7123";
vdd-supply = <&reg_dcdc1>;
ports {
......
......@@ -156,7 +156,7 @@ &r_pio {
&spi0 {
status = "okay";
spiflash@0 {
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
......
......@@ -10,7 +10,7 @@ &axp803 {
interrupt-controller;
#interrupt-cells = <1>;
ac_power_supply: ac-power-supply {
ac_power_supply: ac-power {
compatible = "x-powers,axp803-ac-power-supply",
"x-powers,axp813-ac-power-supply";
status = "disabled";
......@@ -26,18 +26,18 @@ axp_gpio: gpio {
gpio-controller;
#gpio-cells = <2>;
gpio0_ldo: gpio0-ldo {
gpio0_ldo: gpio0-ldo-pin {
pins = "GPIO0";
function = "ldo";
};
gpio1_ldo: gpio1-ldo {
gpio1_ldo: gpio1-ldo-pin {
pins = "GPIO1";
function = "ldo";
};
};
battery_power_supply: battery-power-supply {
battery_power_supply: battery-power {
compatible = "x-powers,axp803-battery-power-supply",
"x-powers,axp813-battery-power-supply";
status = "disabled";
......@@ -147,7 +147,7 @@ reg_drivevbus: drivevbus {
};
};
usb_power_supply: usb-power-supply {
usb_power_supply: usb-power {
compatible = "x-powers,axp803-usb-power-supply",
"x-powers,axp813-usb-power-supply";
status = "disabled";
......
......@@ -343,19 +343,19 @@ r_i2c1: i2c@7081800 {
};
thermal-zones {
cpu-thermal-zone {
cpu-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&ths 0>;
};
ddr-thermal-zone {
ddr-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&ths 2>;
};
gpu-thermal-zone {
gpu-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&ths 1>;
......
......@@ -4,7 +4,7 @@
*/
/ {
cpu0_opp_table: opp_table0 {
cpu0_opp_table: opp-table-cpu {
compatible = "operating-points-v2";
opp-shared;
......
......@@ -343,7 +343,7 @@ &sound {
&spi0 {
status = "okay";
spi-flash@0 {
flash@0 {
compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <80000000>;
......
......@@ -35,6 +35,17 @@ chosen {
stdout-path = "serial0:115200n8";
};
hdmi-connector {
compatible = "hdmi-connector";
type = "c";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
i2c-csi {
compatible = "i2c-gpio";
sda-gpios = <&pio 4 13 GPIO_ACTIVE_HIGH>; /* PE13 */
......@@ -77,7 +88,7 @@ speaker_amp: audio-amplifier {
sound-name-prefix = "Speaker Amp";
};
vdd_bl: regulator@0 {
vdd_bl: regulator {
compatible = "regulator-fixed";
regulator-name = "bl-3v3";
regulator-min-microvolt = <3300000>;
......@@ -410,6 +421,21 @@ &reg_rtc_ldo {
regulator-name = "vcc-rtc";
};
&simplefb_hdmi {
vcc-hdmi-supply = <&reg_dldo1>;
};
&hdmi {
hvcc-supply = <&reg_dldo1>;
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&sound {
status = "okay";
simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
......
......@@ -139,6 +139,8 @@ ports {
#size-cells = <0>;
port@0 {
reg = <0>;
anx6345_in: endpoint {
remote-endpoint = <&tcon0_out_anx6345>;
};
......@@ -206,7 +208,6 @@ axp803: pmic@3a3 {
reg = <0x3a3>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
wakeup-source;
};
};
......
......@@ -102,6 +102,22 @@ de: display-engine {
status = "disabled";
};
gpu_opp_table: opp-table-gpu {
compatible = "operating-points-v2";
opp-120000000 {
opp-hz = /bits/ 64 <120000000>;
};
opp-312000000 {
opp-hz = /bits/ 64 <312000000>;
};
opp-432000000 {
opp-hz = /bits/ 64 <432000000>;
};
};
osc24M: osc24M_clk {
#clock-cells = <0>;
compatible = "fixed-clock";
......@@ -1103,6 +1119,7 @@ mali: gpu@1c40000 {
clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
clock-names = "bus", "core";
resets = <&ccu RST_BUS_GPU>;
operating-points-v2 = <&gpu_opp_table>;
};
gic: interrupt-controller@1c81000 {
......
......@@ -2,7 +2,7 @@
// Copyright (C) 2020 Chen-Yu Tsai <wens@csie.org>
/ {
cpu_opp_table: cpu-opp-table {
cpu_opp_table: opp-table-cpu {
compatible = "operating-points-v2";
opp-shared;
......
......@@ -142,9 +142,16 @@ &i2c0 {
status = "okay";
eeprom@51 {
compatible = "microchip,24c02";
compatible = "microchip,24c02", "atmel,24c02";
reg = <0x51>;
pagesize = <16>;
read-only;
#address-cells = <1>;
#size-cells = <1>;
eth_mac1: mac-address@fa {
reg = <0xfa 0x06>;
};
};
};
......
......@@ -217,7 +217,7 @@ cpu-hot-limit {
};
};
gpu_thermal {
gpu-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&ths 1>;
......
......@@ -3,7 +3,7 @@
// Copyright (C) 2020 Clément Péron <peron.clem@gmail.com>
/ {
cpu_opp_table: cpu-opp-table {
cpu_opp_table: opp-table-cpu {
compatible = "allwinner,sun50i-h6-operating-points";
nvmem-cells = <&cpu_speed_grade>;
opp-shared;
......
......@@ -119,10 +119,10 @@ bus@1000000 {
display_clocks: clock@0 {
compatible = "allwinner,sun50i-h6-de3-clk";
reg = <0x0 0x10000>;
clocks = <&ccu CLK_DE>,
<&ccu CLK_BUS_DE>;
clock-names = "mod",
"bus";
clocks = <&ccu CLK_BUS_DE>,
<&ccu CLK_DE>;
clock-names = "bus",
"mod";
resets = <&ccu RST_BUS_DE>;
#clock-cells = <1>;
#reset-cells = <1>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment