Re: [PATCH v3 2/2] arm64: dts: mediatek: add pumpkin board dts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 29/02/2020 18:04, Fabien Parent wrote:
> The pumpkin board is  made by Gossamer Engineering and is using
> a MediaTek SoC. The board currently comes in two available version:
> MT8516 SoC and MT8167 SoC.
> The board provides the following IOs: eMMC, NAND, SD card, USB type-A,
> Ethernet, Wi-Fi, Bluetooth, Audio (jack out, 2 PDM port, 1 analog in),
> serial over USB, and an expansion header.
> 
> Additionally there is a HDMI port, DSI port, and camera port only
> on the MT8167 version of the board.
> 
> The board can be powered by battery and/or via a USB Type-C port and
> is using a PMIC MT6392.
> 
> The eMMC and NAND are sharing pins and cannot be used together.
> 
> This commit is adding the basic boot support for the Pumpkin MT8516
> board on the eMMC.
> 
> Signed-off-by: Fabien Parent <fparent@xxxxxxxxxxxx>

pushed to v5.6-next/dts64

Thanks!

> ---
> 
> V3:
> 	* Fix warnings from dtbs_check and checkpatch.pl
> 	* Add FW optee nodes
> 	* Add usb0 and usb0_phy nodes
> 
> V2:
> 	* Remove dependency on PMIC MT6392 to make it easier to merge the DTS
> 	until the PMIC code is merged.
> 	* Rename a bunch of label to make them more straighforward
> 	* Use names for keycode instead of magic values
> 	* Add chosen for serial port
> 
> ---
>  arch/arm64/boot/dts/mediatek/Makefile         |   1 +
>  .../boot/dts/mediatek/mt8516-pumpkin.dts      |  20 ++
>  .../boot/dts/mediatek/pumpkin-common.dtsi     | 221 ++++++++++++++++++
>  3 files changed, 242 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8516-pumpkin.dts
>  create mode 100644 arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi
> 
> diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
> index 458bbc422a94..2f8967cb8717 100644
> --- a/arch/arm64/boot/dts/mediatek/Makefile
> +++ b/arch/arm64/boot/dts/mediatek/Makefile
> @@ -8,3 +8,4 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-bananapi-bpi-r64.dtb
>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-evb.dtb
>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-evb.dtb
> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt8516-pumpkin.dtb
> diff --git a/arch/arm64/boot/dts/mediatek/mt8516-pumpkin.dts b/arch/arm64/boot/dts/mediatek/mt8516-pumpkin.dts
> new file mode 100644
> index 000000000000..cce642c53812
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt8516-pumpkin.dts
> @@ -0,0 +1,20 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 BayLibre, SAS.
> + * Author: Fabien Parent <fparent@xxxxxxxxxxxx>
> + */
> +
> +/dts-v1/;
> +
> +#include "mt8516.dtsi"
> +#include "pumpkin-common.dtsi"
> +
> +/ {
> +	model = "Pumpkin MT8516";
> +	compatible = "mediatek,mt8516";
> +
> +	memory@40000000 {
> +		device_type = "memory";
> +		reg = <0 0x40000000 0 0x40000000>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi b/arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi
> new file mode 100644
> index 000000000000..a31093d7142b
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi
> @@ -0,0 +1,221 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 BayLibre, SAS.
> + * Author: Fabien Parent <fparent@xxxxxxxxxxxx>
> + */
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +/ {
> +	aliases {
> +		serial0 = &uart0;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:921600n8";
> +	};
> +
> +	firmware {
> +		optee: optee@4fd00000 {
> +			compatible = "linaro,optee-tz";
> +			method = "smc";
> +		};
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +		input-name = "gpio-keys";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&gpio_keys_default>;
> +
> +		volume-up {
> +			gpios = <&pio 42 GPIO_ACTIVE_LOW>;
> +			label = "volume_up";
> +			linux,code = <115>;
> +			wakeup-source;
> +			debounce-interval = <15>;
> +		};
> +
> +		volume-down {
> +			gpios = <&pio 43 GPIO_ACTIVE_LOW>;
> +			label = "volume_down";
> +			linux,code = <114>;
> +			wakeup-source;
> +			debounce-interval = <15>;
> +		};
> +	};
> +};
> +
> +&i2c0 {
> +	clock-div = <2>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c0_pins_a>;
> +	status = "okay";
> +
> +	tca6416: gpio@20 {
> +		compatible = "ti,tca6416";
> +		reg = <0x20>;
> +		rst-gpio = <&pio 65 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&tca6416_pins>;
> +
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +
> +		eint20_mux_sel0 {
> +			gpio-hog;
> +			gpios = <0 0>;
> +			input;
> +			line-name = "eint20_mux_sel0";
> +		};
> +
> +		expcon_mux_sel1 {
> +			gpio-hog;
> +			gpios = <1 0>;
> +			input;
> +			line-name = "expcon_mux_sel1";
> +		};
> +
> +		mrg_di_mux_sel2 {
> +			gpio-hog;
> +			gpios = <2 0>;
> +			input;
> +			line-name = "mrg_di_mux_sel2";
> +		};
> +
> +		sd_sdio_mux_sel3 {
> +			gpio-hog;
> +			gpios = <3 0>;
> +			input;
> +			line-name = "sd_sdio_mux_sel3";
> +		};
> +
> +		sd_sdio_mux_ctrl7 {
> +			gpio-hog;
> +			gpios = <7 0>;
> +			output-low;
> +			line-name = "sd_sdio_mux_ctrl7";
> +		};
> +
> +		hw_id0 {
> +			gpio-hog;
> +			gpios = <8 0>;
> +			input;
> +			line-name = "hw_id0";
> +		};
> +
> +		hw_id1 {
> +			gpio-hog;
> +			gpios = <9 0>;
> +			input;
> +			line-name = "hw_id1";
> +		};
> +
> +		hw_id2 {
> +			gpio-hog;
> +			gpios = <10 0>;
> +			input;
> +			line-name = "hw_id2";
> +		};
> +
> +		fg_int_n {
> +			gpio-hog;
> +			gpios = <11 0>;
> +			input;
> +			line-name = "fg_int_n";
> +		};
> +
> +		usba_pwr_en {
> +			gpio-hog;
> +			gpios = <12 0>;
> +			output-high;
> +			line-name = "usba_pwr_en";
> +		};
> +
> +		wifi_3v3_pg {
> +			gpio-hog;
> +			gpios = <13 0>;
> +			input;
> +			line-name = "wifi_3v3_pg";
> +		};
> +
> +		cam_rst {
> +			gpio-hog;
> +			gpios = <14 0>;
> +			output-low;
> +			line-name = "cam_rst";
> +		};
> +
> +		cam_pwdn {
> +			gpio-hog;
> +			gpios = <15 0>;
> +			output-low;
> +			line-name = "cam_pwdn";
> +		};
> +	};
> +};
> +
> +&i2c2 {
> +	clock-div = <2>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c2_pins_a>;
> +	status = "okay";
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};
> +
> +&usb0 {
> +	status = "okay";
> +	dr_mode = "peripheral";
> +
> +	usb_con: connector {
> +		compatible = "usb-c-connector";
> +		label = "USB-C";
> +	};
> +};
> +
> +&usb0_phy {
> +	status = "okay";
> +};
> +
> +&pio {
> +	gpio_keys_default: gpiodefault {
> +		pins_cmd_dat {
> +			pinmux = <MT8516_PIN_42_KPCOL0__FUNC_GPIO42>,
> +				 <MT8516_PIN_43_KPCOL1__FUNC_GPIO43>;
> +			bias-pull-up;
> +			input-enable;
> +		};
> +	};
> +
> +	i2c0_pins_a: i2c0@0 {
> +		pins1 {
> +			pinmux = <MT8516_PIN_58_SDA0__FUNC_SDA0_0>,
> +				 <MT8516_PIN_59_SCL0__FUNC_SCL0_0>;
> +			bias-disable;
> +		};
> +	};
> +
> +	i2c2_pins_a: i2c2@0 {
> +		pins1 {
> +			pinmux = <MT8516_PIN_60_SDA2__FUNC_SDA2_0>,
> +				 <MT8516_PIN_61_SCL2__FUNC_SCL2_0>;
> +			bias-disable;
> +		};
> +	};
> +
> +	tca6416_pins: pinmux_tca6416_pins {
> +		gpio_mux_rst_n_pin {
> +			pinmux = <MT8516_PIN_65_UTXD1__FUNC_GPIO65>;
> +			output-high;
> +		};
> +
> +		gpio_mux_int_n_pin {
> +			pinmux = <MT8516_PIN_64_URXD1__FUNC_GPIO64>;
> +			input-enable;
> +			bias-pull-up;
> +		};
> +	};
> +};
> 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux