mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-02 01:19:49 +00:00
c925be73a0
The PX30-µQ7 (Ringneck) is a system-on-module featuring the Rockchip PX30 in a micro Qseven-compatible form-factor. PX30-µQ7 features: * CPU: quad-core Cortex-A35 * DRAM: 2GB dual-channel * eMMC: onboard eMMC * SD/MMC * TI DP83825I 10/100Mbps PHY * USB: * USB2.0 dual role port * 3x USB2.0 host via onboard USB2.0 hub * Display: MIPI-DSI * Camera: MIPI-CSI * onboard 2.4GHz WiFi + Bluetooth module * Companion Controller: on-board additional microcontroller (STM32 Cortex-M0 or ATtiny): * RTC * fan controller * CAN (only STM32) The non-U-Boot DTS files are imported from Linux v6.2-rc2. Cc: Quentin Schulz <foss+uboot@0leil.net> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
382 lines
7.4 KiB
Text
382 lines
7.4 KiB
Text
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Copyright (c) 2022 Theobroma Systems Design und Consulting GmbH
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "px30.dtsi"
|
|
#include <dt-bindings/leds/common.h>
|
|
|
|
/ {
|
|
aliases {
|
|
mmc0 = &emmc;
|
|
mmc1 = &sdio;
|
|
rtc0 = &rtc_twi;
|
|
rtc1 = &rk809;
|
|
};
|
|
|
|
emmc_pwrseq: emmc-pwrseq {
|
|
compatible = "mmc-pwrseq-emmc";
|
|
pinctrl-0 = <&emmc_reset>;
|
|
pinctrl-names = "default";
|
|
reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&module_led_pin>;
|
|
status = "okay";
|
|
|
|
module_led: led-0 {
|
|
gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
|
|
function = LED_FUNCTION_HEARTBEAT;
|
|
linux,default-trigger = "heartbeat";
|
|
color = <LED_COLOR_ID_AMBER>;
|
|
};
|
|
};
|
|
|
|
vcc5v0_sys: vccsys-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0_sys";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
};
|
|
};
|
|
|
|
&cpu0 {
|
|
cpu-supply = <&vdd_arm>;
|
|
};
|
|
|
|
&cpu1 {
|
|
cpu-supply = <&vdd_arm>;
|
|
};
|
|
|
|
&cpu2 {
|
|
cpu-supply = <&vdd_arm>;
|
|
};
|
|
|
|
&cpu3 {
|
|
cpu-supply = <&vdd_arm>;
|
|
};
|
|
|
|
&emmc {
|
|
bus-width = <8>;
|
|
cap-mmc-highspeed;
|
|
mmc-hs200-1_8v;
|
|
supports-emmc;
|
|
mmc-pwrseq = <&emmc_pwrseq>;
|
|
non-removable;
|
|
vmmc-supply = <&vcc_3v3>;
|
|
vqmmc-supply = <&vcc_emmc>;
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
/* On-module TI DP83825I PHY but no connector, enable in carrierboard */
|
|
&gmac {
|
|
snps,reset-gpio = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
|
snps,reset-active-low;
|
|
snps,reset-delays-us = <0 50000 50000>;
|
|
phy-supply = <&vcc_3v3>;
|
|
clock_in_out = "output";
|
|
};
|
|
|
|
&gpio2 {
|
|
/*
|
|
* The Qseven BIOS_DISABLE signal on the PX30-µQ7 keeps the on-module
|
|
* eMMC powered-down initially (in fact it keeps the reset signal
|
|
* asserted). BIOS_DISABLE_OVERRIDE pin allows to re-enable eMMC after
|
|
* the SPL has been booted from SD Card.
|
|
*/
|
|
bios-disable-override-hog {
|
|
gpios = <RK_PB5 GPIO_ACTIVE_LOW>;
|
|
output-high;
|
|
line-name = "bios_disable_override";
|
|
gpio-hog;
|
|
};
|
|
|
|
/*
|
|
* The BIOS_DISABLE hog is a feedback pin for the actual status of the
|
|
* signal, ignoring the BIOS_DISABLE_OVERRIDE logic. This usually
|
|
* represents the state of a switch on the baseboard.
|
|
*/
|
|
bios-disable-n-hog {
|
|
gpios = <RK_PC2 GPIO_ACTIVE_LOW>;
|
|
line-name = "bios_disable";
|
|
input;
|
|
gpio-hog;
|
|
};
|
|
};
|
|
|
|
&gpu {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
status = "okay";
|
|
|
|
rk809: pmic@20 {
|
|
compatible = "rockchip,rk809";
|
|
reg = <0x20>;
|
|
interrupt-parent = <&gpio0>;
|
|
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
|
|
pinctrl-0 = <&pmic_int>;
|
|
pinctrl-names = "default";
|
|
#clock-cells = <0>;
|
|
clock-output-names = "xin32k";
|
|
rockchip,system-power-controller;
|
|
wakeup-source;
|
|
|
|
vcc1-supply = <&vcc5v0_sys>;
|
|
vcc2-supply = <&vcc5v0_sys>;
|
|
vcc3-supply = <&vcc5v0_sys>;
|
|
vcc4-supply = <&vcc5v0_sys>;
|
|
vcc5-supply = <&vcc_3v3>;
|
|
vcc6-supply = <&vcc_3v3>;
|
|
vcc7-supply = <&vcc_3v3>;
|
|
vcc9-supply = <&vcc5v0_sys>;
|
|
|
|
regulators {
|
|
vdd_log: DCDC_REG1 {
|
|
regulator-name = "vdd_log";
|
|
regulator-min-microvolt = <950000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-ramp-delay = <6001>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <950000>;
|
|
};
|
|
};
|
|
|
|
vdd_arm: DCDC_REG2 {
|
|
regulator-name = "vdd_arm";
|
|
regulator-min-microvolt = <950000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-ramp-delay = <6001>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
regulator-suspend-microvolt = <950000>;
|
|
};
|
|
};
|
|
|
|
vcc_ddr: DCDC_REG3 {
|
|
regulator-name = "vcc_ddr";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
};
|
|
};
|
|
|
|
vcc_3v0_1v8: vcc_emmc: DCDC_REG4 {
|
|
regulator-name = "vcc_3v0_1v8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3000000>;
|
|
};
|
|
};
|
|
|
|
vcc_3v3: DCDC_REG5 {
|
|
regulator-name = "vcc_3v3";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3300000>;
|
|
};
|
|
};
|
|
|
|
vcc_1v8: LDO_REG2 {
|
|
regulator-name = "vcc_1v8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
|
|
vcc_1v0: LDO_REG3 {
|
|
regulator-name = "vcc_1v0";
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1000000>;
|
|
};
|
|
};
|
|
|
|
vccio_sd: LDO_REG5 {
|
|
regulator-name = "vccio_sd";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3300000>;
|
|
};
|
|
};
|
|
|
|
vcc_lcd: LDO_REG7 {
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-name = "vcc_lcd";
|
|
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
regulator-suspend-microvolt = <1000000>;
|
|
};
|
|
};
|
|
|
|
vcc_1v8_lcd: LDO_REG8 {
|
|
regulator-name = "vcc_1v8_lcd";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
|
|
vcca_1v8: LDO_REG9 {
|
|
regulator-name = "vcca_1v8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
status = "okay";
|
|
|
|
/* SE05x is limited to Fast Mode */
|
|
clock-frequency = <400000>;
|
|
|
|
fan: fan@18 {
|
|
compatible = "ti,amc6821";
|
|
reg = <0x18>;
|
|
#cooling-cells = <2>;
|
|
};
|
|
|
|
rtc_twi: rtc@6f {
|
|
compatible = "isil,isl1208";
|
|
reg = <0x6f>;
|
|
};
|
|
};
|
|
|
|
&i2c3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2s0_8ch {
|
|
rockchip,trcm-sync-tx-only;
|
|
|
|
pinctrl-0 = <&i2s0_8ch_sclktx &i2s0_8ch_lrcktx
|
|
&i2s0_8ch_sdo0 &i2s0_8ch_sdi0>;
|
|
};
|
|
|
|
&io_domains {
|
|
vccio1-supply = <&vcc_3v3>;
|
|
vccio2-supply = <&vccio_sd>;
|
|
vccio3-supply = <&vcc_3v3>;
|
|
vccio4-supply = <&vcc_3v3>;
|
|
vccio5-supply = <&vcc_3v3>;
|
|
vccio6-supply = <&vcc_emmc>;
|
|
vccio-oscgpi-supply = <&vcc_3v3>;
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&pinctrl {
|
|
emmc {
|
|
emmc_reset: emmc-reset {
|
|
rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
module_led_pin: module-led-pin {
|
|
rockchip,pins = <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
pmic {
|
|
pmic_int: pmic-int {
|
|
rockchip,pins =
|
|
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&saradc {
|
|
vref-supply = <&vcc_1v8>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdmmc {
|
|
vqmmc-supply = <&vccio_sd>;
|
|
};
|
|
|
|
&tsadc {
|
|
status = "okay";
|
|
};
|
|
|
|
&u2phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&u2phy_host {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Mule UCAN */
|
|
&usb_host0_ehci {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host0_ohci {
|
|
status = "okay";
|
|
};
|
|
|
|
&wdt {
|
|
status = "okay";
|
|
};
|