// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (C) 2024 Arm Ltd. */ /dts-v1/; #include "sun50i-h616.dtsi" #include #include #include #include / { model = "Tanix TX1"; compatible = "oranth,tanix-tx1", "allwinner,sun50i-h616"; aliases { serial0 = &uart0; ethernet0 = &sdio_wifi; }; chosen { stdout-path = "serial0:115200n8"; }; gpio-keys { compatible = "gpio-keys"; key { label = "hidden"; linux,code = ; gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 */ }; }; leds { compatible = "gpio-leds"; led-0 { function = LED_FUNCTION_POWER; color = ; gpios = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */ default-state = "on"; }; }; wifi_pwrseq: pwrseq { compatible = "mmc-pwrseq-simple"; clocks = <&rtc CLK_OSC32K_FANOUT>; clock-names = "ext_clock"; pinctrl-0 = <&x32clk_fanout_pin>; pinctrl-names = "default"; reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ }; 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; }; }; &codec { allwinner,audio-routing = "Line Out", "LINEOUT"; status = "okay"; }; &cpu0 { cpu-supply = <®_dcdc2>; }; &ehci0 { status = "okay"; }; &ir { status = "okay"; }; &mmc1 { vmmc-supply = <®_dldo1>; vqmmc-supply = <®_aldo1>; mmc-pwrseq = <&wifi_pwrseq>; bus-width = <4>; non-removable; status = "okay"; sdio_wifi: wifi@1 { reg = <1>; }; }; &mmc2 { vmmc-supply = <®_dldo1>; vqmmc-supply = <®_aldo1>; bus-width = <8>; non-removable; max-frequency = <100000000>; cap-mmc-hw-reset; mmc-ddr-1_8v; status = "okay"; }; &ohci0 { status = "okay"; }; &pio { vcc-pc-supply = <®_aldo1>; vcc-pf-supply = <®_dldo1>; vcc-pg-supply = <®_aldo1>; vcc-ph-supply = <®_dldo1>; vcc-pi-supply = <®_dldo1>; }; &r_i2c { status = "okay"; axp313: pmic@36 { compatible = "x-powers,axp313a"; reg = <0x36>; #interrupt-cells = <1>; interrupt-controller; vin1-supply = <®_vcc5v>; vin2-supply = <®_vcc5v>; vin3-supply = <®_vcc5v>; regulators { /* Supplies VCC-PLL, so needs to be always on. */ reg_aldo1: aldo1 { regulator-always-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc1v8"; }; /* Supplies VCC-IO, so needs to be always on. */ reg_dldo1: dldo1 { regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc3v3"; }; reg_dcdc1: dcdc1 { regulator-always-on; regulator-min-microvolt = <810000>; regulator-max-microvolt = <990000>; regulator-name = "vdd-gpu-sys"; }; reg_dcdc2: dcdc2 { regulator-always-on; regulator-min-microvolt = <810000>; regulator-max-microvolt = <1120000>; regulator-name = "vdd-cpu"; }; reg_dcdc3: dcdc3 { regulator-always-on; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-name = "vdd-dram"; }; }; }; }; &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_ph_pins>; status = "okay"; }; &usbotg { dr_mode = "host"; /* USB A type receptable */ status = "okay"; }; &usbphy { status = "okay"; };