mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:44:45 +01:00
Allwinner device tree changes for 6.20
Not many changes this cycle. - The A523 family of SoCs gained support for SPI controllers. - Some cleanup of old ARM device tree files to fix DT binding validation errors. - D1 and A100 SoCs gained support for their LED controller. This was from a couple years ago. The driver made it in, but the DT patches were missed. - D1 and T113 SoCs gained support for the internal thermal sensor. -----BEGIN PGP SIGNATURE----- iQJEBAABCgAuFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmlyYQwQHHdlbnNAa2Vy bmVsLm9yZwAKCRA4mlQhnA8kMFqoD/kBtqBUjxCfaFQRfAwn7COEaAaSzA+aITsH V4x8YKgnuO2UohU/hc2H4K1VjWbOWTSmmolcpx/X4zg2ZrlpLOSsKlrPHOefrkEv VwtDDCkg6V/uaKzvAD23CoEwmCBCidu1giErSXsdPx8eh4LNcX+7iTgGdkQWV1dg w8YfOs8b6RLuajg2SRgsMIBMTrcIEwE9gwoRZZLTDbXWtT7QlfkxQcXvu22dhJHp m7zSowBLqNvA7sT0bq1ue1q58EEMWRTF7Tx55ssNp6j5O1peYQLc3if/5j5371RQ M0MCLZidzmGd/WXHwstWr8WpYuVjrjApRPmE5xE6vMFVTPwWb7192FJE2zHahLu4 gsdSp8D80Ktma3PM2w6iKFMNHsDtUb2ec1ZuXEMVEadoqwFKDw+4611PW8vZZaPm BpFut9ZyKq9mx+5of471MQlc3eUZMgKKZqrX29k8Ycm3hoKl2iix9h46/082x5s+ APuFgfztNDNe6B4Zb18UgM+q7oo1Aa8tOBdguVoK4wlN0HLDCX9WCMdm6zqTLgAz CmThLzhILlaxrdEIg2HkuoviYH3sDgqljIZl0t4PwcYCJgjlg4fidVuak6Lqul9x hXcc2sOR+Yh3hfPinjlR1Nq3bLElHvaGOLySC1vWFahZSuqspkjyZBLlmubTpvUA IMwo4kdZrQ== =cdhO -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml6SpYACgkQmmx57+YA GNkBKQ//fWsWf/YMInaMA1vMorES5pEsYrZ8Tyagfbeziekqrr+XZOMHWhwc5HjS OOSSvJsxCpL2ox1WwvCUAOwPXGAaSCmnfQyGPn90vmj9G+McyqIiAOwO8EXZnOUw 6pFZztTEJrShQOBYROdNtxnRvimOslWQZCnCGODCa7iRkovKLDPO8dOt6BXCnVNt LHu3sXp50BFw2qIEUdnpVo7cGPaWC/yOUuoRqJrF2YBzn0sddye7I8ZF2TamVREx EpVoRgnxvkvDe7w4WPEqaz0qujbZWsSvaQfcd2/D+pSIiI/wjhqdkV3u+QBiP5qZ UmfrzliXn8Rb+1UG2Ftx/jQ+0hZ6I4i/vEUnQTulgKv6nakId5w5gL8Vhyh+TY57 ZardyEuoQgAdhW0uoUJyQkV+Q9VZ0vurAxlDPDkcCIrpaWQeDuWl1p6EOAmtK8+N ADPzYAuoE4uNfnYIHbYodfXbILR5wFk8XZ5sL95Kku6YbpYkzRsSHDSdRYTzm8ox ST74jNrl2TyrJ5iRIDPhxw+IeYFAXP9PVsvPVICTOi+ssQApM1yjBysPNZJpnC/1 om9Cf7DPFMhSDu+S1EyKgaym2uUB92ooMz7qS7wYOpJdoCk+b5KRIgxLUeU9JGAV K50/oNs3BfGLS3B1yxCPraeUR086jJU4BVuk/OwXN9N60IRG8S4= =X0CG -----END PGP SIGNATURE----- Merge tag 'sunxi-dt-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt Allwinner device tree changes for 6.20 Not many changes this cycle. - The A523 family of SoCs gained support for SPI controllers. - Some cleanup of old ARM device tree files to fix DT binding validation errors. - D1 and A100 SoCs gained support for their LED controller. This was from a couple years ago. The driver made it in, but the DT patches were missed. - D1 and T113 SoCs gained support for the internal thermal sensor. * tag 'sunxi-dt-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: riscv: dts: allwinner: d1: Add CPU thermal sensor and zone ARM: dts: allwinner: Replace status "failed" with "fail" riscv: dts: allwinner: d1: Add RGB LEDs to boards riscv: dts: allwinner: d1: Add LED controller node arm64: dts: allwinner: a100: Add LED controller node ARM: dts: allwinner: sun5i-a13-utoo-p66: delete "power-gpios" property arm64: dts: allwinner: t527: orangepi-4a: Enable SPI-NOR flash arm64: dts: allwinner: sun55i: Add SPI controllers Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
d69af478d2
14 changed files with 254 additions and 4 deletions
|
|
@ -112,7 +112,7 @@
|
|||
|
||||
&i2c1 {
|
||||
/* pull-ups and devices require AXP209 LDO3 */
|
||||
status = "failed";
|
||||
status = "fail";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@
|
|||
|
||||
&i2c1 {
|
||||
/* pull-ups and devices require AXP209 LDO3 */
|
||||
status = "failed";
|
||||
status = "fail";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@
|
|||
/* The P66 uses a different EINT then the reference design */
|
||||
interrupts = <6 9 IRQ_TYPE_EDGE_FALLING>; /* EINT9 (PG9) */
|
||||
/* The icn8318 binding expects wake-gpios instead of power-gpios */
|
||||
/delete-property/ power-gpios;
|
||||
wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
|
||||
touchscreen-size-x = <800>;
|
||||
touchscreen-size-y = <480>;
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@
|
|||
|
||||
&i2c0 {
|
||||
/* pull-ups and devices require AXP221 DLDO3 */
|
||||
status = "failed";
|
||||
status = "fail";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@
|
|||
|
||||
&i2c0 {
|
||||
/* pull-ups and device VDDIO use AXP221 DLDO3 */
|
||||
status = "failed";
|
||||
status = "fail";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#define SOC_PERIPHERAL_IRQ(nr) GIC_SPI nr
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
#include <riscv/allwinner/sunxi-d1s-t113.dtsi>
|
||||
#include <riscv/allwinner/sunxi-d1-t113.dtsi>
|
||||
|
||||
|
|
@ -20,6 +21,7 @@
|
|||
reg = <0>;
|
||||
clocks = <&ccu CLK_CPUX>;
|
||||
clock-names = "cpu";
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
|
|
@ -28,6 +30,7 @@
|
|||
reg = <1>;
|
||||
clocks = <&ccu CLK_CPUX>;
|
||||
clock-names = "cpu";
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -56,4 +59,34 @@
|
|||
<GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&cpu0>, <&cpu1>;
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
cpu-thermal {
|
||||
polling-delay-passive = <0>;
|
||||
polling-delay = <0>;
|
||||
thermal-sensors = <&ths>;
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu_alert>;
|
||||
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
|
||||
trips {
|
||||
cpu_alert: cpu-alert {
|
||||
temperature = <85000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu-crit {
|
||||
temperature = <100000>;
|
||||
hysteresis = <0>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -420,6 +420,20 @@
|
|||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
ledc: led-controller@5018000 {
|
||||
compatible = "allwinner,sun50i-a100-ledc";
|
||||
reg = <0x5018000 0x400>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_LEDC>, <&ccu CLK_LEDC>;
|
||||
clock-names = "bus", "mod";
|
||||
resets = <&ccu RST_BUS_LEDC>;
|
||||
dmas = <&dma 42>;
|
||||
dma-names = "tx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
emac0: ethernet@5020000 {
|
||||
compatible = "allwinner,sun50i-a100-emac",
|
||||
"allwinner,sun50i-a64-emac";
|
||||
|
|
|
|||
|
|
@ -214,6 +214,43 @@
|
|||
allwinner,pinmux = <2>;
|
||||
};
|
||||
|
||||
/omit-if-no-ref/
|
||||
spi0_pc_pins: spi0-pc-pins {
|
||||
pins = "PC2", "PC4", "PC12";
|
||||
function = "spi0";
|
||||
allwinner,pinmux = <4>;
|
||||
};
|
||||
|
||||
/omit-if-no-ref/
|
||||
spi0_cs0_pc_pin: spi0-cs0-pc-pin {
|
||||
pins = "PC3";
|
||||
function = "spi0";
|
||||
allwinner,pinmux = <4>;
|
||||
};
|
||||
|
||||
/omit-if-no-ref/
|
||||
spi0_cs1_pc_pin: spi0-cs1-pc-pin {
|
||||
pins = "PC7";
|
||||
function = "spi0";
|
||||
allwinner,pinmux = <4>;
|
||||
};
|
||||
|
||||
/omit-if-no-ref/
|
||||
spi0_hold_pc_pin: spi0-hold-pc-pin {
|
||||
/* conflicts with eMMC D7 */
|
||||
pins = "PC16";
|
||||
function = "spi0";
|
||||
allwinner,pinmux = <4>;
|
||||
};
|
||||
|
||||
/omit-if-no-ref/
|
||||
spi0_wp_pc_pin: spi0-wp-pc-pin {
|
||||
/* conflicts with eMMC D2 */
|
||||
pins = "PC15";
|
||||
function = "spi0";
|
||||
allwinner,pinmux = <4>;
|
||||
};
|
||||
|
||||
uart0_pb_pins: uart0-pb-pins {
|
||||
pins = "PB9", "PB10";
|
||||
allwinner,pinmux = <2>;
|
||||
|
|
@ -563,6 +600,49 @@
|
|||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
spi0: spi@4025000 {
|
||||
compatible = "allwinner,sun55i-a523-spi";
|
||||
reg = <0x04025000 0x1000>;
|
||||
interrupts = <GIC_SPI 16 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,sun55i-a523-spi-dbi",
|
||||
"allwinner,sun55i-a523-spi";
|
||||
reg = <0x04026000 0x1000>;
|
||||
interrupts = <GIC_SPI 17 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>;
|
||||
};
|
||||
|
||||
spi2: spi@4027000 {
|
||||
compatible = "allwinner,sun55i-a523-spi";
|
||||
reg = <0x04027000 0x1000>;
|
||||
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPI2>, <&ccu CLK_SPI2>;
|
||||
clock-names = "ahb", "mod";
|
||||
dmas = <&dma 24>, <&dma 24>;
|
||||
dma-names = "rx", "tx";
|
||||
resets = <&ccu RST_BUS_SPI2>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
usb_otg: usb@4100000 {
|
||||
compatible = "allwinner,sun55i-a523-musb",
|
||||
"allwinner,sun8i-a33-musb";
|
||||
|
|
@ -815,6 +895,20 @@
|
|||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
r_spi0: spi@7092000 {
|
||||
compatible = "allwinner,sun55i-a523-spi";
|
||||
reg = <0x07092000 0x1000>;
|
||||
interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&r_ccu CLK_BUS_R_SPI>, <&r_ccu CLK_R_SPI>;
|
||||
clock-names = "ahb", "mod";
|
||||
dmas = <&dma 53>, <&dma 53>;
|
||||
dma-names = "rx", "tx";
|
||||
resets = <&r_ccu RST_BUS_R_SPI>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mcu_ccu: clock-controller@7102000 {
|
||||
compatible = "allwinner,sun55i-a523-mcu-ccu";
|
||||
reg = <0x7102000 0x200>;
|
||||
|
|
|
|||
|
|
@ -400,6 +400,21 @@
|
|||
assigned-clock-rates = <32768>;
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pc_pins>, <&spi0_cs0_pc_pin>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <20000000>;
|
||||
vcc-supply = <®_cldo1>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
|
|
|
|||
|
|
@ -59,6 +59,18 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&ledc {
|
||||
pinctrl-0 = <&ledc_pc0_pin>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
multi-led@0 {
|
||||
reg = <0x0>;
|
||||
color = <LED_COLOR_ID_RGB>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
bus-width = <4>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
|
|
@ -121,6 +122,18 @@
|
|||
};
|
||||
};
|
||||
|
||||
&ledc {
|
||||
pinctrl-0 = <&ledc_pc0_pin>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
multi-led@0 {
|
||||
reg = <0x0>;
|
||||
color = <LED_COLOR_ID_RGB>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
ext_rgmii_phy: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
|
|
|
|||
|
|
@ -58,6 +58,12 @@
|
|||
function = "i2c2";
|
||||
};
|
||||
|
||||
/omit-if-no-ref/
|
||||
ledc_pc0_pin: ledc-pc0-pin {
|
||||
pins = "PC0";
|
||||
function = "ledc";
|
||||
};
|
||||
|
||||
/omit-if-no-ref/
|
||||
uart0_pb8_pins: uart0-pb8-pins {
|
||||
pins = "PB8", "PB9";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
// Copyright (C) 2021-2022 Samuel Holland <samuel@sholland.org>
|
||||
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
#define SOC_PERIPHERAL_IRQ(nr) (nr + 16)
|
||||
|
||||
#include "sunxi-d1s-t113.dtsi"
|
||||
|
|
@ -115,4 +117,33 @@
|
|||
<0x00000000 0x0000000e 0xffffffff 0xffffffff 0x00010000>,
|
||||
<0x00000000 0x0000000f 0xffffffff 0xffffffff 0x00020000>;
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
cpu-thermal {
|
||||
polling-delay-passive = <0>;
|
||||
polling-delay = <0>;
|
||||
thermal-sensors = <&ths>;
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu_alert>;
|
||||
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
|
||||
trips {
|
||||
cpu_alert: cpu-alert {
|
||||
temperature = <85000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu-crit {
|
||||
temperature = <100000>;
|
||||
hysteresis = <0>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -204,6 +204,21 @@
|
|||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
ledc: led-controller@2008000 {
|
||||
compatible = "allwinner,sun20i-d1-ledc",
|
||||
"allwinner,sun50i-a100-ledc";
|
||||
reg = <0x2008000 0x400>;
|
||||
interrupts = <SOC_PERIPHERAL_IRQ(20) IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_LEDC>, <&ccu CLK_LEDC>;
|
||||
clock-names = "bus", "mod";
|
||||
resets = <&ccu RST_BUS_LEDC>;
|
||||
dmas = <&dma 42>;
|
||||
dma-names = "tx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpadc: adc@2009000 {
|
||||
compatible = "allwinner,sun20i-d1-gpadc";
|
||||
reg = <0x2009000 0x400>;
|
||||
|
|
@ -214,6 +229,18 @@
|
|||
#io-channel-cells = <1>;
|
||||
};
|
||||
|
||||
ths: thermal-sensor@2009400 {
|
||||
compatible = "allwinner,sun20i-d1-ths";
|
||||
reg = <0x2009400 0x400>;
|
||||
interrupts = <SOC_PERIPHERAL_IRQ(58) IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_THS>;
|
||||
clock-names = "bus";
|
||||
resets = <&ccu RST_BUS_THS>;
|
||||
nvmem-cells = <&ths_calibration>;
|
||||
nvmem-cell-names = "calibration";
|
||||
#thermal-sensor-cells = <0>;
|
||||
};
|
||||
|
||||
dmic: dmic@2031000 {
|
||||
compatible = "allwinner,sun20i-d1-dmic",
|
||||
"allwinner,sun50i-h6-dmic";
|
||||
|
|
@ -474,6 +501,10 @@
|
|||
reg = <0x3006000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
ths_calibration: thermal-sensor-calibration@14 {
|
||||
reg = <0x14 0x8>;
|
||||
};
|
||||
};
|
||||
|
||||
crypto: crypto@3040000 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue