[PATCH v9 09/16] arm: dts: rockchip: add rk3066a-mk808.dts

Kever Yang kever.yang at rock-chips.com
Sat Apr 9 05:52:16 CEST 2022


On 2022/4/4 22:19, Johan Jonker wrote:
> MK808 is a RK3066-based board with 1 USB host and 1 USB OTG port,
> HDMI and a micro-SD card slot. It also includes on-board NAND
> and 1GB of SDRAM. Add rk3066a-mk808.dts. Move U-boot specific
> things in a rk3066a-mk808-u-boot.dtsi file.
>
> Signed-off-by: Johan Jonker <jbx6244 at gmail.com>

Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
>
> Changed V9:
>    add led config
>    move dtb-$() in Makefile
>
> Changed V8:
>    update dts
> ---
>   arch/arm/dts/Makefile                  |   3 +
>   arch/arm/dts/rk3066a-mk808-u-boot.dtsi |  48 ++++++
>   arch/arm/dts/rk3066a-mk808.dts         | 216 +++++++++++++++++++++++++
>   3 files changed, 267 insertions(+)
>   create mode 100644 arch/arm/dts/rk3066a-mk808-u-boot.dtsi
>   create mode 100644 arch/arm/dts/rk3066a-mk808.dts
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 99dc7bc777..e8657bed09 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -90,6 +90,9 @@ dtb-$(CONFIG_ROCKCHIP_PX30) += \
>   dtb-$(CONFIG_ROCKCHIP_RK3036) += \
>   	rk3036-sdk.dtb
>   
> +dtb-$(CONFIG_ROCKCHIP_RK3066) += \
> +	rk3066a-mk808.dtb
> +
>   dtb-$(CONFIG_ROCKCHIP_RK3128) += \
>   	rk3128-evb.dtb
>   
> diff --git a/arch/arm/dts/rk3066a-mk808-u-boot.dtsi b/arch/arm/dts/rk3066a-mk808-u-boot.dtsi
> new file mode 100644
> index 0000000000..3ea5fd9511
> --- /dev/null
> +++ b/arch/arm/dts/rk3066a-mk808-u-boot.dtsi
> @@ -0,0 +1,48 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +
> +#include "rk3066a-u-boot.dtsi"
> +
> +/ {
> +	config {
> +		u-boot,boot-led = "mk808:blue:power";
> +	};
> +};
> +
> +&cru {
> +	u-boot,dm-pre-reloc;
> +};
> +
> +&dmc {
> +	compatible = "rockchip,rk3066-dmc", "syscon";
> +	rockchip,pctl-timing = <0x12c 0xc8 0x1f4 0x1e 0x4e 0x4 0x69 0x6
> +				0x3 0x0 0x6 0x5 0xc 0x10 0x6 0x4
> +				0x4 0x5 0x4 0x200 0x3 0xa 0x40 0x0
> +				0x1 0x5 0x5 0x3 0xc 0x1e 0x100 0x0
> +				0x4 0x0>;
> +	rockchip,phy-timing = <0x208c6690 0x690878 0x10022a00
> +			       0x220 0x40 0x0 0x0>;
> +	rockchip,sdram-params = <0x24716310 0 2 300000000 3 9 0>;
> +};
> +
> +&mmc0 {
> +	fifo-mode;
> +	max-frequency = <4000000>;
> +	u-boot,dm-spl;
> +};
> +
> +&mmc1 {
> +	status = "disabled";
> +};
> +
> +&noc {
> +	compatible = "rockchip,rk3066-noc", "syscon";
> +};
> +
> +&timer2 {
> +	clock-frequency = <24000000>;
> +	u-boot,dm-pre-reloc;
> +};
> +
> +&uart2 {
> +	u-boot,dm-pre-reloc;
> +};
> diff --git a/arch/arm/dts/rk3066a-mk808.dts b/arch/arm/dts/rk3066a-mk808.dts
> new file mode 100644
> index 0000000000..667d57a4ff
> --- /dev/null
> +++ b/arch/arm/dts/rk3066a-mk808.dts
> @@ -0,0 +1,216 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2016 Paweł Jarosz <paweljarosz3691 at gmail.com>
> + */
> +
> +/dts-v1/;
> +#include <dt-bindings/input/input.h>
> +#include "rk3066a.dtsi"
> +
> +/ {
> +	model = "Rikomagic MK808";
> +	compatible = "rikomagic,mk808", "rockchip,rk3066a";
> +
> +	aliases {
> +		mmc0 = &mmc0;
> +		mmc1 = &mmc1;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial2:115200n8";
> +	};
> +
> +	memory at 60000000 {
> +		reg = <0x60000000 0x40000000>;
> +		device_type = "memory";
> +	};
> +
> +	adc-keys {
> +		compatible = "adc-keys";
> +		io-channels = <&saradc 1>;
> +		io-channel-names = "buttons";
> +		keyup-threshold-microvolt = <2500000>;
> +		poll-interval = <100>;
> +
> +		recovery {
> +			label = "recovery";
> +			linux,code = <KEY_VENDOR>;
> +			press-threshold-microvolt = <0>;
> +		};
> +	};
> +
> +	gpio-leds {
> +		compatible = "gpio-leds";
> +
> +		blue_led: led-0 {
> +			label = "mk808:blue:power";
> +			gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
> +			default-state = "off";
> +			linux,default-trigger = "default-on";
> +		};
> +	};
> +
> +	hdmi_con {
> +		compatible = "hdmi-connector";
> +		type = "c";
> +
> +		port {
> +			hdmi_con_in: endpoint {
> +				remote-endpoint = <&hdmi_out_con>;
> +			};
> +		};
> +	};
> +
> +	vcc_2v5: vcc-2v5 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc_2v5";
> +		regulator-min-microvolt = <2500000>;
> +		regulator-max-microvolt = <2500000>;
> +	};
> +
> +	vcc_io: vcc-io {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc_io";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +	};
> +
> +	vcc_host: usb-host-regulator {
> +		compatible = "regulator-fixed";
> +		enable-active-high;
> +		gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
> +		pinctrl-0 = <&host_drv>;
> +		pinctrl-names = "default";
> +		regulator-always-on;
> +		regulator-name = "host-pwr";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		startup-delay-us = <100000>;
> +		vin-supply = <&vcc_io>;
> +	};
> +
> +	vcc_otg: usb-otg-regulator {
> +		compatible = "regulator-fixed";
> +		enable-active-high;
> +		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
> +		pinctrl-0 = <&otg_drv>;
> +		pinctrl-names = "default";
> +		regulator-always-on;
> +		regulator-name = "vcc_otg";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		startup-delay-us = <100000>;
> +		vin-supply = <&vcc_io>;
> +	};
> +
> +	vcc_sd: sdmmc-regulator {
> +		compatible = "regulator-fixed";
> +		gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
> +		pinctrl-0 = <&sdmmc_pwr>;
> +		pinctrl-names = "default";
> +		regulator-name = "vcc_sd";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		startup-delay-us = <100000>;
> +		vin-supply = <&vcc_io>;
> +	};
> +
> +	vcc_wifi: sdio-regulator {
> +		compatible = "regulator-fixed";
> +		enable-active-high;
> +		gpio = <&gpio3 RK_PD0 GPIO_ACTIVE_HIGH>;
> +		pinctrl-0 = <&wifi_pwr>;
> +		pinctrl-names = "default";
> +		regulator-name = "vcc_wifi";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		startup-delay-us = <100000>;
> +		vin-supply = <&vcc_io>;
> +	};
> +};
> +
> +&hdmi {
> +	status = "okay";
> +};
> +
> +&hdmi_in_vop1 {
> +	status = "disabled";
> +};
> +
> +&hdmi_out {
> +	hdmi_out_con: endpoint {
> +		remote-endpoint = <&hdmi_con_in>;
> +	};
> +};
> +
> +&mmc0 {
> +	bus-width = <4>;
> +	cap-mmc-highspeed;
> +	cap-sd-highspeed;
> +	vmmc-supply = <&vcc_sd>;
> +	status = "okay";
> +};
> +
> +&mmc1 {
> +	bus-width = <4>;
> +	non-removable;
> +	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
> +	pinctrl-names = "default";
> +	vmmc-supply = <&vcc_wifi>;
> +	status = "okay";
> +};
> +
> +&pinctrl {
> +	usb-host {
> +		host_drv: host-drv {
> +			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_default>;
> +		};
> +	};
> +
> +	usb-otg {
> +		otg_drv: otg-drv {
> +			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_default>;
> +		};
> +	};
> +
> +	sdmmc {
> +		sdmmc_pwr: sdmmc-pwr {
> +			rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_default>;
> +		};
> +	};
> +
> +	sdio {
> +		wifi_pwr: wifi-pwr {
> +			rockchip,pins = <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
> +		};
> +	};
> +};
> +
> +&saradc {
> +	vref-supply = <&vcc_2v5>;
> +	status = "okay";
> +};
> +
> +&uart2 {
> +	status = "okay";
> +};
> +
> +&usb_host {
> +	status = "okay";
> +};
> +
> +&usb_otg {
> +	status = "okay";
> +};
> +
> +&usbphy {
> +	status = "okay";
> +};
> +
> +&vop0 {
> +	status = "okay";
> +};
> +
> +&wdt {
> +	status = "okay";
> +};


More information about the U-Boot mailing list