Path: blob/master/arch/arm64/boot/dts/allwinner/sun50i-h313-x96q.dts
29274 views
// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) /* * Copyright (C) 2025 J. Neuschäfer <[email protected]> */ /dts-v1/; #include "sun50i-h616.dtsi" #include "sun50i-h616-cpu-opp.dtsi" #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/input/linux-event-codes.h> #include <dt-bindings/leds/common.h> / { model = "X96Q"; compatible = "amediatech,x96q", "allwinner,sun50i-h616"; aliases { serial0 = &uart0; }; chosen { stdout-path = "serial0:115200n8"; }; reg_vcc5v: vcc5v { /* board wide 5V supply directly from the DC input */ compatible = "regulator-fixed"; regulator-name = "vcc-5v"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; }; gpio-keys { compatible = "gpio-keys"; key-recovery { label = "Recovery"; linux,code = <KEY_VENDOR>; gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; }; }; leds { compatible = "gpio-leds"; led-0 { color = <LED_COLOR_ID_BLUE>; gpios = <&pio 7 6 GPIO_ACTIVE_LOW>; default-state = "on"; }; }; }; &codec { allwinner,audio-routing = "Line Out", "LINEOUT"; status = "okay"; }; &cpu0 { cpu-supply = <®_dcdca>; }; &ehci0 { status = "okay"; }; &ehci3 { status = "okay"; }; /* TODO: EMAC1 connected to AC200 PHY */ &gpu { mali-supply = <®_dcdcc>; status = "okay"; }; &ir { status = "okay"; }; &mmc0 { /* microSD */ vmmc-supply = <®_aldo1>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ disable-wp; bus-width = <4>; status = "okay"; }; /* TODO: XRadio XR819 WLAN @ mmc1 */ &mmc2 { /* eMMC */ vmmc-supply = <®_aldo1>; vqmmc-supply = <®_bldo1>; non-removable; cap-mmc-hw-reset; mmc-ddr-1_8v; mmc-hs200-1_8v; max-frequency = <100000000>; /* required for stable operation */ bus-width = <8>; status = "okay"; }; &ohci0 { status = "okay"; }; &ohci3 { status = "okay"; }; &r_i2c { status = "okay"; axp305: pmic@36 { compatible = "x-powers,axp305", "x-powers,axp805", "x-powers,axp806"; interrupt-controller; #interrupt-cells = <1>; reg = <0x36>; x-powers,self-working-mode; vina-supply = <®_vcc5v>; vinb-supply = <®_vcc5v>; vinc-supply = <®_vcc5v>; vind-supply = <®_vcc5v>; vine-supply = <®_vcc5v>; aldoin-supply = <®_vcc5v>; bldoin-supply = <®_vcc5v>; cldoin-supply = <®_vcc5v>; regulators { reg_dcdca: dcdca { regulator-always-on; regulator-min-microvolt = <810000>; regulator-max-microvolt = <1100000>; regulator-name = "vdd-cpu"; }; dcdcb { /* unused */ }; reg_dcdcc: dcdcc { regulator-always-on; regulator-min-microvolt = <810000>; regulator-max-microvolt = <990000>; regulator-name = "vdd-gpu-sys"; }; dcdcd { regulator-always-on; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <1500000>; regulator-name = "vdd-dram"; }; dcdce { /* unused */ }; reg_aldo1: aldo1 { regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc3v3"; }; aldo2 { /* unused */ }; aldo3 { /* unused */ }; reg_bldo1: bldo1 { regulator-always-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc1v8"; }; bldo2 { /* unused */ }; bldo3 { /* unused */ }; bldo4 { /* unused */ }; cldo1 { /* unused */ }; cldo2 { /* unused */ }; cldo3 { /* unused */ }; }; }; }; &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_ph_pins>; status = "okay"; }; &usbotg { dr_mode = "host"; /* USB A type receptacle */ status = "okay"; }; &usbphy { status = "okay"; };