diff options
Diffstat (limited to 'arch/arm')
| -rw-r--r-- | arch/arm/dts/Makefile | 4 | ||||
| -rw-r--r-- | arch/arm/dts/rk3288-rock-pi-n8-u-boot.dtsi | 33 | ||||
| -rw-r--r-- | arch/arm/dts/rk3288-rock-pi-n8.dts | 17 | ||||
| -rw-r--r-- | arch/arm/dts/rk3288-vmarc-som.dtsi | 289 | ||||
| -rw-r--r-- | arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi | 10 | ||||
| -rw-r--r-- | arch/arm/dts/rk3399-rockpro64-u-boot.dtsi | 4 | ||||
| -rw-r--r-- | arch/arm/dts/rk3399pro-rock-pi-n10-u-boot.dtsi | 7 | ||||
| -rw-r--r-- | arch/arm/dts/rk3399pro-rock-pi-n10.dts | 18 | ||||
| -rw-r--r-- | arch/arm/dts/rk3399pro-u-boot.dtsi | 6 | ||||
| -rw-r--r-- | arch/arm/dts/rk3399pro-vmarc-som.dtsi | 338 | ||||
| -rw-r--r-- | arch/arm/dts/rk3399pro.dtsi | 22 | ||||
| -rw-r--r-- | arch/arm/dts/rockchip-radxa-dalang-carrier.dtsi | 79 | ||||
| -rw-r--r-- | arch/arm/mach-rockchip/Kconfig | 2 | 
13 files changed, 826 insertions, 3 deletions
| diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 89fa4488180..d345e30f351 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -92,6 +92,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3288) += \  	rk3288-phycore-rdk.dtb \  	rk3288-popmetal.dtb \  	rk3288-rock2-square.dtb \ +	rk3288-rock-pi-n8.dtb \  	rk3288-tinker.dtb \  	rk3288-tinker-s.dtb \  	rk3288-veyron-jerry.dtb \ @@ -136,7 +137,8 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \  	rk3399-roc-pc-mezzanine.dtb \  	rk3399-rock-pi-4.dtb \  	rk3399-rock960.dtb \ -	rk3399-rockpro64.dtb +	rk3399-rockpro64.dtb \ +	rk3399pro-rock-pi-n10.dtb  dtb-$(CONFIG_ROCKCHIP_RV1108) += \  	rv1108-elgin-r1.dtb \ diff --git a/arch/arm/dts/rk3288-rock-pi-n8-u-boot.dtsi b/arch/arm/dts/rk3288-rock-pi-n8-u-boot.dtsi new file mode 100644 index 00000000000..e9d7404ed9e --- /dev/null +++ b/arch/arm/dts/rk3288-rock-pi-n8-u-boot.dtsi @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2017 Jagan Teki <jagan@amarulasolutions.com> + */ + +#include "rk3288-u-boot.dtsi" + +&dmc { +	rockchip,pctl-timing = <0x215 0xc8 0x0 0x35 0x26 0x2 0x70 0x2000d +		0x6 0x0 0x8 0x4 0x17 0x24 0xd 0x6 +		0x4 0x8 0x4 0x76 0x4 0x0 0x30 0x0 +		0x1 0x2 0x2 0x4 0x0 0x0 0xc0 0x4 +		0x8 0x1f4>; +	rockchip,phy-timing = <0x48d7dd93 0x187008d8 0x121076 +		0x0 0xc3 0x6 0x2>; +	rockchip,sdram-params = <0x20d266a4 0x5b6 2 533000000 6 9 0>; +}; + +&sdmmc { +	u-boot,dm-pre-reloc; +}; + +&emmc { +	u-boot,dm-pre-reloc; +}; + +&uart2 { +	u-boot,dm-pre-reloc; +}; + +&pinctrl { +	u-boot,dm-pre-reloc; +}; diff --git a/arch/arm/dts/rk3288-rock-pi-n8.dts b/arch/arm/dts/rk3288-rock-pi-n8.dts new file mode 100644 index 00000000000..c8637a50c1a --- /dev/null +++ b/arch/arm/dts/rk3288-rock-pi-n8.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd + * Copyright (c) 2019 Vamrs Limited + * Copyright (c) 2019 Amarula Solutions(India) + */ + +/dts-v1/; +#include "rk3288.dtsi" +#include "rk3288-vmarc-som.dtsi" +#include <rockchip-radxa-dalang-carrier.dtsi> + +/ { +	model = "Radxa ROCK Pi N8"; +	compatible = "radxa,rockpi-n8", "vamrs,rk3288-vmarc-som", +		     "rockchip,rk3288"; +}; diff --git a/arch/arm/dts/rk3288-vmarc-som.dtsi b/arch/arm/dts/rk3288-vmarc-som.dtsi new file mode 100644 index 00000000000..3cffe61cdf0 --- /dev/null +++ b/arch/arm/dts/rk3288-vmarc-som.dtsi @@ -0,0 +1,289 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd + * Copyright (c) 2019 Vamrs Limited + * Copyright (c) 2019 Amarula Solutions(India) + */ + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/pinctrl/rockchip.h> +#include <dt-bindings/pwm/pwm.h> + +/ { +	compatible = "vamrs,rk3288-vmarc-som", "rockchip,rk3288"; + +	ext_gmac: external-gmac-clock { +		compatible = "fixed-clock"; +		clock-frequency = <125000000>; +		clock-output-names = "ext_gmac"; +		#clock-cells = <0>; +	}; + +	vccio_flash: vccio-flash-regulator { +		compatible = "regulator-fixed"; +		regulator-name = "vccio_flash"; +		regulator-min-microvolt = <1800000>; +		regulator-max-microvolt = <1800000>; +		startup-delay-us = <150>; +		vin-supply = <&vcc_io>; +	}; + +	vcc_sys: vsys-regulator { +		compatible = "regulator-fixed"; +		regulator-name = "vcc_sys"; +		regulator-min-microvolt = <5000000>; +		regulator-max-microvolt = <5000000>; +		regulator-always-on; +		regulator-boot-on; +	}; +}; + +&emmc { +	bus-width = <8>; +	cap-mmc-highspeed; +	disable-wp; +	non-removable; +	pinctrl-names = "default"; +	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; +	status = "okay"; +}; + +&gmac { +	assigned-clocks = <&cru SCLK_MAC>; +	assigned-clock-parents = <&ext_gmac>; +	clock_in_out = "input"; +	phy-mode = "rgmii"; +	phy-supply = <&vcc_io>; +	pinctrl-names = "default"; +	pinctrl-0 = <&rgmii_pins>; +	snps,reset-gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; +	snps,reset-active-low; +	snps,reset-delays-us = <0 10000 50000>; +	tx_delay = <0x30>; +	rx_delay = <0x10>; +	max-speed = <1000>; +}; + +&i2c0 { +	clock-frequency = <400000>; +	status = "okay"; + +	rk808: pmic@1b { +		compatible = "rockchip,rk808"; +		reg = <0x1b>; +		interrupt-parent = <&gpio0>; +		interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; +		pinctrl-names = "default"; +		pinctrl-0 = <&pmic_int &global_pwroff>; +		rockchip,system-power-controller; +		wakeup-source; +		#clock-cells = <1>; +		clock-output-names = "rk808-clkout1", "rk808-clkout2"; + +		vcc1-supply = <&vcc_sys>; +		vcc2-supply = <&vcc_sys>; +		vcc3-supply = <&vcc_sys>; +		vcc4-supply = <&vcc_sys>; +		vcc6-supply = <&vcc_sys>; +		vcc7-supply = <&vcc_sys>; +		vcc8-supply = <&vcc_io>; +		vcc9-supply = <&vcc_io>; +		vcc10-supply = <&vcc_sys>; +		vcc11-supply = <&vcc_sys>; +		vcc12-supply = <&vcc_io>; +		vddio-supply = <&vcc_io>; + +		regulators { +			vdd_cpu: DCDC_REG1 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <750000>; +				regulator-max-microvolt = <1400000>; +				regulator-name = "vdd_arm"; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vdd_gpu: DCDC_REG2 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <850000>; +				regulator-max-microvolt = <1250000>; +				regulator-name = "vdd_gpu"; +				regulator-ramp-delay = <6000>; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vcc_ddr: DCDC_REG3 { +				regulator-always-on; +				regulator-boot-on; +				regulator-name = "vcc_ddr"; +				regulator-state-mem { +					regulator-on-in-suspend; +				}; +			}; + +			vcc_io: DCDC_REG4 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <3300000>; +				regulator-max-microvolt = <3300000>; +				regulator-name = "vcc_io"; +				regulator-state-mem { +					regulator-on-in-suspend; +					regulator-suspend-microvolt = <3300000>; +				}; +			}; + +			vcc_tp: LDO_REG1 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <3300000>; +				regulator-max-microvolt = <3300000>; +				regulator-name = "vcc_tp"; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vcca_codec: LDO_REG2 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <3300000>; +				regulator-max-microvolt = <3300000>; +				regulator-name = "vcca_codec"; +				regulator-state-mem { +					regulator-on-in-suspend; +					regulator-suspend-microvolt = <3300000>; +				}; +			}; + +			vdd_10: LDO_REG3 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1000000>; +				regulator-max-microvolt = <1000000>; +				regulator-name = "vdd_10"; +				regulator-state-mem { +					regulator-on-in-suspend; +					regulator-suspend-microvolt = <1000000>; +				}; +			}; + +			vcc_wl: LDO_REG4 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <1800000>; +				regulator-name = "vcc_wl"; +				regulator-state-mem { +					regulator-on-in-suspend; +				}; +			}; + +			vccio_sd: LDO_REG5 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <3300000>; +				regulator-name = "vccio_sd"; +				regulator-state-mem { +					regulator-on-in-suspend; +					regulator-suspend-microvolt = <3300000>; +				}; +			}; + +			vdd10_lcd: LDO_REG6 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1000000>; +				regulator-max-microvolt = <1000000>; +				regulator-name = "vdd10_lcd"; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vcc_18: LDO_REG7 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <1800000>; +				regulator-name = "vcc_18"; +				regulator-state-mem { +					regulator-on-in-suspend; +					regulator-suspend-microvolt = <1800000>; +				}; +			}; + +			vcc18_lcd: LDO_REG8 { +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <1800000>; +				regulator-name = "vcc18_lcd"; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vcc_sd: SWITCH_REG1 { +				regulator-always-on; +				regulator-boot-on; +				regulator-name = "vcc_sd"; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vcc_lcd: SWITCH_REG2 { +				regulator-always-on; +				regulator-boot-on; +				regulator-name = "vcc_lcd"; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; +		}; +	}; +}; + +&pinctrl { +	pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { +		drive-strength = <8>; +	}; + +	pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { +		bias-pull-up; +		drive-strength = <8>; +	}; + +	pmic { +		pmic_int: pmic-int { +			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; +		}; +	}; + +	sdmmc { +		sdmmc_bus4: sdmmc-bus4 { +			rockchip,pins = +				<6 RK_PC0 1 &pcfg_pull_up_drv_8ma>, +				<6 RK_PC1 1 &pcfg_pull_up_drv_8ma>, +				<6 RK_PC2 1 &pcfg_pull_up_drv_8ma>, +				<6 RK_PC3 1 &pcfg_pull_up_drv_8ma>; +		}; + +		sdmmc_clk: sdmmc-clk { +			rockchip,pins = +				<6 RK_PC4 1 &pcfg_pull_none_drv_8ma>; +		}; + +		sdmmc_cmd: sdmmc-cmd { +			rockchip,pins = +				<6 RK_PC5 1 &pcfg_pull_up_drv_8ma>; +		}; +	}; +}; diff --git a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi index 1a2e24d3ef5..ded7db0aeff 100644 --- a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi +++ b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi @@ -12,7 +12,11 @@  	};  	chosen { -		u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc; +		u-boot,spl-boot-order = "same-as-spl", &sdhci, &spiflash, &sdmmc; +	}; + +	config { +		u-boot,spl-payload-offset = <0x60000>; /* @ 384KB */  	};  }; @@ -24,6 +28,10 @@  	u-boot,dm-pre-reloc;  }; +&rng { +	status = "okay"; +}; +  &sdhci {  	max-frequency = <25000000>;  	u-boot,dm-pre-reloc; diff --git a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi index bac09df4a38..cb8991aa253 100644 --- a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi +++ b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi @@ -19,6 +19,10 @@  	};  }; +&rng { +	status = "okay"; +}; +  &spi1 {  	spi_flash: flash@0 {  		u-boot,dm-pre-reloc; diff --git a/arch/arm/dts/rk3399pro-rock-pi-n10-u-boot.dtsi b/arch/arm/dts/rk3399pro-rock-pi-n10-u-boot.dtsi new file mode 100644 index 00000000000..946a0230dbb --- /dev/null +++ b/arch/arm/dts/rk3399pro-rock-pi-n10-u-boot.dtsi @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com> + */ + +#include "rk3399pro-u-boot.dtsi" +#include "rk3399-sdram-lpddr3-4GB-1600.dtsi" diff --git a/arch/arm/dts/rk3399pro-rock-pi-n10.dts b/arch/arm/dts/rk3399pro-rock-pi-n10.dts new file mode 100644 index 00000000000..6ac2d4d7213 --- /dev/null +++ b/arch/arm/dts/rk3399pro-rock-pi-n10.dts @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd + * Copyright (c) 2019 Radxa Limited + * Copyright (c) 2019 Amarula Solutions(India) + */ + +/dts-v1/; +#include "rk3399.dtsi" +#include "rk3399-opp.dtsi" +#include "rk3399pro-vmarc-som.dtsi" +#include <rockchip-radxa-dalang-carrier.dtsi> + +/ { +	model = "Radxa ROCK Pi N10"; +	compatible = "radxa,rockpi-n10", "vamrs,rk3399pro-vmarc-som", +		     "rockchip,rk3399pro"; +}; diff --git a/arch/arm/dts/rk3399pro-u-boot.dtsi b/arch/arm/dts/rk3399pro-u-boot.dtsi new file mode 100644 index 00000000000..7bddc3acdbb --- /dev/null +++ b/arch/arm/dts/rk3399pro-u-boot.dtsi @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com> + */ + +#include "rk3399-u-boot.dtsi" diff --git a/arch/arm/dts/rk3399pro-vmarc-som.dtsi b/arch/arm/dts/rk3399pro-vmarc-som.dtsi new file mode 100644 index 00000000000..6fd17e8a815 --- /dev/null +++ b/arch/arm/dts/rk3399pro-vmarc-som.dtsi @@ -0,0 +1,338 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd + * Copyright (c) 2019 Vamrs Limited + * Copyright (c) 2019 Amarula Solutions(India) + */ + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/pinctrl/rockchip.h> +#include <dt-bindings/pwm/pwm.h> + +/ { +	compatible = "vamrs,rk3399pro-vmarc-som", "rockchip,rk3399pro"; + +	clkin_gmac: external-gmac-clock { +		compatible = "fixed-clock"; +		clock-frequency = <125000000>; +		clock-output-names = "clkin_gmac"; +		#clock-cells = <0>; +	}; + +	vcc12v_dcin: vcc12v-dcin-regulator { +		compatible = "regulator-fixed"; +		regulator-name = "vcc12v_dcin"; +		regulator-always-on; +		regulator-boot-on; +		regulator-min-microvolt = <12000000>; +		regulator-max-microvolt = <12000000>; +	}; + +	vcc5v0_sys: vcc5v0-sys-regulator { +		compatible = "regulator-fixed"; +		regulator-name = "vcc5v0_sys"; +		regulator-always-on; +		regulator-boot-on; +		regulator-min-microvolt = <5000000>; +		regulator-max-microvolt = <5000000>; +		vin-supply = <&vcc12v_dcin>; +	}; +}; + +&cpu_l0 { +	cpu-supply = <&vdd_cpu_l>; +}; + +&cpu_l1 { +	cpu-supply = <&vdd_cpu_l>; +}; + +&cpu_l2 { +	cpu-supply = <&vdd_cpu_l>; +}; + +&cpu_l3 { +	cpu-supply = <&vdd_cpu_l>; +}; + +&emmc_phy { +	status = "okay"; +}; + +&gmac { +	assigned-clocks = <&cru SCLK_RMII_SRC>; +	assigned-clock-parents = <&clkin_gmac>; +	clock_in_out = "input"; +	phy-supply = <&vcc_lan>; +	phy-mode = "rgmii"; +	pinctrl-names = "default"; +	pinctrl-0 = <&rgmii_pins>; +	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; +	snps,reset-active-low; +	snps,reset-delays-us = <0 10000 50000>; +	tx_delay = <0x28>; +	rx_delay = <0x11>; +}; + +&i2c0 { +	clock-frequency = <400000>; +	i2c-scl-rising-time-ns = <180>; +	i2c-scl-falling-time-ns = <30>; +	status = "okay"; + +	rk809: pmic@20 { +		compatible = "rockchip,rk809"; +		reg = <0x20>; +		interrupt-parent = <&gpio1>; +		interrupts = <RK_PC2 IRQ_TYPE_LEVEL_LOW>; +		#clock-cells = <1>; +		clock-output-names = "rk808-clkout1", "rk808-clkout2"; +		pinctrl-names = "default"; +		pinctrl-0 = <&pmic_int_l>; +		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_buck5>; +		vcc6-supply = <&vcc_buck5>; +		vcc7-supply = <&vcc5v0_sys>; +		vcc8-supply = <&vcc3v3_sys>; +		vcc9-supply = <&vcc5v0_sys>; + +		regulators { +			vdd_log: DCDC_REG1 { +				regulator-name = "vdd_log"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <750000>; +				regulator-max-microvolt = <1350000>; +				regulator-initial-mode = <0x2>; +				regulator-state-mem { +					regulator-off-in-suspend; +					regulator-suspend-microvolt = <900000>; +				}; +			}; + +			vdd_cpu_l: DCDC_REG2 { +				regulator-name = "vdd_cpu_l"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <750000>; +				regulator-max-microvolt = <1350000>; +				regulator-ramp-delay = <6001>; +				regulator-initial-mode = <0x2>; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vcc_ddr: DCDC_REG3 { +				regulator-name = "vcc_ddr"; +				regulator-always-on; +				regulator-boot-on; +				regulator-initial-mode = <0x2>; +				regulator-state-mem { +					regulator-on-in-suspend; +				}; +			}; + +			vcc3v3_sys: DCDC_REG4 { +				regulator-name = "vcc3v3_sys"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <3300000>; +				regulator-max-microvolt = <3300000>; +				regulator-initial-mode = <0x2>; +				regulator-state-mem { +					regulator-on-in-suspend; +					regulator-suspend-microvolt = <3300000>; +				}; +			}; + +			vcc_buck5: DCDC_REG5 { +				regulator-name = "vcc_buck5"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <2200000>; +				regulator-max-microvolt = <2200000>; +				regulator-state-mem { +					regulator-on-in-suspend; +					regulator-suspend-microvolt = <2200000>; +				}; +			}; + +			vcca_0v9: LDO_REG1 { +				regulator-name = "vcca_0v9"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <900000>; +				regulator-max-microvolt = <900000>; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vcc_1v8: LDO_REG2 { +				regulator-name = "vcc_1v8"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <1800000>; +				regulator-state-mem { +					regulator-on-in-suspend; +					regulator-suspend-microvolt = <1800000>; +				}; +			}; + +			vcc_0v9: LDO_REG3 { +				regulator-name = "vcc_0v9"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <900000>; +				regulator-max-microvolt = <900000>; +				regulator-state-mem { +					regulator-on-in-suspend; +					regulator-suspend-microvolt = <900000>; +				}; +			}; + +			vcca_1v8: LDO_REG4 { +				regulator-name = "vcca_1v8"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1850000>; +				regulator-max-microvolt = <1850000>; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			/* +			 * As per BSP, but schematic not showing any regulator +			 * pin for LD05. +			 */ +			vdd1v5_dvp: LDO_REG5 { +				regulator-name = "vdd1v5_dvp"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1500000>; +				regulator-max-microvolt = <1500000>; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vcc_1v5: LDO_REG6 { +				regulator-name = "vcc_1v5"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1500000>; +				regulator-max-microvolt = <1500000>; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vccio_3v0: LDO_REG7 { +				regulator-name = "vccio_3v0"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <3000000>; +				regulator-max-microvolt = <3000000>; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vccio_sd: LDO_REG8 { +				regulator-name = "vccio_sd"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <3300000>; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			/* +			 * As per BSP, but schematic not showing any regulator +			 * pin for LD09. +			 */ +			vcc_sd: LDO_REG9 { +				regulator-name = "vcc_sd"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <3300000>; +				regulator-max-microvolt = <3300000>; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; + +			vcc5v0_usb2: SWITCH_REG1 { +				regulator-name = "vcc5v0_usb2"; +				regulator-min-microvolt = <5000000>; +				regulator-max-microvolt = <5000000>; +				regulator-state-mem { +					regulator-on-in-suspend; +					regulator-suspend-microvolt = <5000000>; +				}; +			}; + +			vccio_3v3: vcc_lan: SWITCH_REG2 { +				regulator-name = "vccio_3v3"; +				regulator-always-on; +				regulator-boot-on; +				regulator-min-microvolt = <3300000>; +				regulator-max-microvolt = <3300000>; +				regulator-state-mem { +					regulator-off-in-suspend; +				}; +			}; +		}; +	}; +}; + +&io_domains { +	status = "okay"; +	bt656-supply = <&vcca_1v8>; +	sdmmc-supply = <&vccio_sd>; +	gpio1830-supply = <&vccio_3v0>; +}; + +&pmu_io_domains { +	status = "okay"; +	pmu1830-supply = <&vcc_1v8>; +}; + +&sdhci { +	bus-width = <8>; +	mmc-hs400-1_8v; +	mmc-hs400-enhanced-strobe; +	non-removable; +	status = "okay"; +}; + +&sdmmc { +	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; +	max-frequency = <150000000>; +}; + +&tsadc { +	status = "okay"; +	rockchip,hw-tshut-mode = <1>; +	rockchip,hw-tshut-polarity = <1>; +}; + +&pinctrl { +	pmic { +		pmic_int_l: pmic-int-l { +			rockchip,pins = +				<1 RK_PC2 0 &pcfg_pull_up>; +		}; +	}; +}; diff --git a/arch/arm/dts/rk3399pro.dtsi b/arch/arm/dts/rk3399pro.dtsi new file mode 100644 index 00000000000..bb5ebf6608b --- /dev/null +++ b/arch/arm/dts/rk3399pro.dtsi @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +// Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd. + +#include "rk3399.dtsi" + +/ { +	compatible = "rockchip,rk3399pro"; +}; + +/* Default to enabled since AP talk to NPU part over pcie */ +&pcie_phy { +	status = "okay"; +}; + +/* Default to enabled since AP talk to NPU part over pcie */ +&pcie0 { +	ep-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; +	num-lanes = <4>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pcie_clkreqn_cpm>; +	status = "okay"; +}; diff --git a/arch/arm/dts/rockchip-radxa-dalang-carrier.dtsi b/arch/arm/dts/rockchip-radxa-dalang-carrier.dtsi new file mode 100644 index 00000000000..3e54f38f0ab --- /dev/null +++ b/arch/arm/dts/rockchip-radxa-dalang-carrier.dtsi @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd + * Copyright (c) 2019 Radxa Limited + * Copyright (c) 2019 Amarula Solutions(India) + */ + +#include <dt-bindings/pwm/pwm.h> + +/ { +	chosen { +		stdout-path = "serial2:1500000n8"; +	}; +}; + +&gmac { +	status = "okay"; +}; + +&i2c1 { +	status = "okay"; +	i2c-scl-rising-time-ns = <140>; +	i2c-scl-falling-time-ns = <30>; +}; + +&i2c2 { +	status = "okay"; +	clock-frequency = <400000>; + +	hym8563: hym8563@51 { +		compatible = "haoyu,hym8563"; +		reg = <0x51>; +		#clock-cells = <0>; +		clock-frequency = <32768>; +		clock-output-names = "hym8563"; +		pinctrl-names = "default"; +		pinctrl-0 = <&hym8563_int>; +		interrupt-parent = <&gpio4>; +		interrupts = <30 IRQ_TYPE_LEVEL_LOW>; +	}; +}; + +&pwm0 { +	status = "okay"; +}; + +&pwm2 { +	status = "okay"; +}; + +&sdmmc { +	bus-width = <4>; +	cap-mmc-highspeed; +	cap-sd-highspeed; +	disable-wp; +	vqmmc-supply = <&vccio_sd>; +	pinctrl-names = "default"; +	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; +	status = "okay"; +}; + +&uart0 { +	pinctrl-names = "default"; +	pinctrl-0 = <&uart0_xfer &uart0_cts>; +	status = "okay"; +}; + +&uart2 { +	status = "okay"; +}; + +&pinctrl { +	hym8563 { +		hym8563_int: hym8563-int { +			rockchip,pins = +				<4 RK_PD6 0 &pcfg_pull_up>; +		}; +	}; +}; diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index 0cb1f23d0f3..e2b63265846 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -207,7 +207,6 @@ config ROCKCHIP_RK3399  	select SUPPORT_TPL  	select SPL  	select SPL_ATF -	select SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF  	select SPL_BOARD_INIT if SPL  	select SPL_LOAD_FIT  	select SPL_CLK if SPL @@ -232,6 +231,7 @@ config ROCKCHIP_RK3399  	imply PRE_CONSOLE_BUFFER  	imply ROCKCHIP_COMMON_BOARD  	imply ROCKCHIP_SDRAM_COMMON +	imply SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF  	imply SPL_ROCKCHIP_COMMON_BOARD  	imply TPL_SERIAL_SUPPORT  	imply TPL_LIBCOMMON_SUPPORT | 
