Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 302c73a6 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "defconfig: qcs405: enable RGB parallel interface driver"

parents 06c4a7c1 121b1d7b
Loading
Loading
Loading
Loading
+65 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -17,9 +17,73 @@
#include "qcs405-audio-overlay.dtsi"
#include "qcs405-geni-ir-overlay.dtsi"
#include "qcs405-circular-pca9956.dtsi"
#include "qcs405-mdss-panels.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. QCS405 EVB1 4000 RGB IOT";
	compatible = "qcom,qcs405-iot", "qcom,qcs405", "qcom,iot";
	qcom,board-id = <0x030020 0x1>;
};

&mdss_dsi {
	status = "disabled";
};

&mdss_dsi0 {
	status = "disabled";
};

&mdss_hdmi_tx {
	status = "disabled";
};

&msm_ext_disp {
	status = "disabled";
};

&mdss_mdp {
	qcom,mdss-pref-prim-intf = "rgb";
};

&mdss_rgb {
	qcom,rgb-panel = <&rgb_st7789v>;
	pinctrl-names = "mdss_default", "mdss_sleep";
	pinctrl-0 = <&mdss_rgb_active &mdss_rgb_data0_active
			&mdss_rgb_data1_active &mdss_rgb_data2_active
			&mdss_rgb_data3_active &mdss_rgb_data4_active
			&mdss_rgb_data5_active &mdss_rgb_data_b0_active
			&mdss_rgb_data_b1_active &mdss_rgb_data_b2_active
			&mdss_rgb_data_b3_active &mdss_rgb_data_b4_active
			&mdss_rgb_data_b5_active &mdss_rgb_hsync_active
			&mdss_rgb_vsync_active &mdss_rgb_de_active
			&mdss_rgb_clk_active>;
	pinctrl-1 = <&mdss_rgb_suspend &mdss_rgb_data0_suspend
			&mdss_rgb_data1_suspend &mdss_rgb_data2_suspend
			&mdss_rgb_data3_suspend &mdss_rgb_data4_suspend
			&mdss_rgb_data5_suspend &mdss_rgb_data_b0_suspend
			&mdss_rgb_data_b1_suspend &mdss_rgb_data_b2_suspend
			&mdss_rgb_data_b3_suspend &mdss_rgb_data_b4_suspend
			&mdss_rgb_data_b5_suspend &mdss_rgb_hsync_suspend
			&mdss_rgb_vsync_suspend &mdss_rgb_de_suspend
			&mdss_rgb_clk_suspend>;
	qcom,platform-reset-gpio = <&tlmm 58 0>;
};

&rgb_st7789v {
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};

&spi_1 {
	status = "ok";
	mdss_rgb_spi: qcom,mdss_rgb_spi@0 {
		compatible = "qcom,mdss-rgb-spi";
		reg = <0>;
		spi-max-frequency = <5000000>;
	};
};

&soc {
	gpio_keys {
		status = "disabled";
	};
};
+2 −1
Original line number Diff line number Diff line
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
/* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -11,6 +11,7 @@
 */

#include "dsi-panel-hx8394d-720p-video.dtsi"
#include "rgb-panel-st7789v.dtsi"

&soc {
	dsi_panel_pwr_supply: dsi_panel_pwr_supply {
+92 −1
Original line number Diff line number Diff line
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
/* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -205,6 +205,96 @@
		};
	};

	mdss_rgb: qcom,mdss_rgb@0 {
		compatible = "qcom,mdss-rgb";
		#address-cells = <1>;
		#size-cells = <1>;

		ranges = <0x1a94400 0x1a94400 0x280
			0x1a94b80 0x1a94b80 0x30
			0x193e000 0x193e000 0x30>;

		reg = <0x1a94400 0x280>,
			<0x1a94b80 0x30>,
			<0x193e000 0x30>;
		reg-names = "dsi_phy",
		      "dsi_phy_regulator", "mmss_misc_phys";

		gdsc-supply = <&gdsc_mdss>;
		vdda-1p2-supply = <&pms405_l4>;
		vdda-1p8-supply = <&pms405_l5>;
		vddio-supply = <&pms405_l6>;

		/* Bus Scale Settings */
		qcom,msm-bus,name = "mdss_rgb";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
			<22 512 0 0>,
			<22 512 0 1000>;

		clocks = <&clock_gcc_mdss MDSS_MDP_VOTE_CLK>,
			<&clock_gcc GCC_MDSS_AHB_CLK>,
			<&clock_gcc GCC_MDSS_AXI_CLK>,
			<&mdss_dsi0_pll BYTECLK_SRC_0_CLK>,
			<&mdss_dsi0_pll PCLK_SRC_0_CLK>,
			<&clock_gcc_mdss GCC_MDSS_BYTE0_CLK>,
			<&clock_gcc_mdss GCC_MDSS_PCLK0_CLK>,
			<&clock_gcc GCC_MDSS_ESC0_CLK>,
			<&clock_gcc_mdss BYTE0_CLK_SRC>,
			<&clock_gcc_mdss PCLK0_CLK_SRC>;
		clock-names = "mdp_core_clk", "iface_clk", "bus_clk",
			"ext_byte0_clk", "ext_pixel0_clk",
			"byte_clk", "pixel_clk", "core_clk",
			"byte_clk_rcg", "pixel_clk_rcg";

		qcom,mdss-fb-map = <&mdss_fb0>;
		qcom,mdss-mdp = <&mdss_mdp>;

		qcom,core-supply-entries {
			#address-cells = <1>;
			#size-cells = <0>;

			qcom,core-supply-entry@0 {
				reg = <0>;
				qcom,supply-name = "gdsc";
				qcom,supply-min-voltage = <0>;
				qcom,supply-max-voltage = <0>;
				qcom,supply-enable-load = <0>;
				qcom,supply-disable-load = <0>;
			};
		};

		qcom,ctrl-supply-entries {
			#address-cells = <1>;
			#size-cells = <0>;

			qcom,ctrl-supply-entry@0 {
				reg = <0>;
				qcom,supply-name = "vdda-1p2";
				qcom,supply-min-voltage = <1200000>;
				qcom,supply-max-voltage = <1200000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-disable-load = <100>;
				qcom,supply-post-on-sleep = <20>;
			};
		};

		qcom,phy-supply-entries {
			#address-cells = <1>;
			#size-cells = <0>;

			qcom,phy-supply-entry@0 {
				reg = <0>;
				qcom,supply-name = "vdda-1p8";
				qcom,supply-min-voltage = <1800000>;
				qcom,supply-max-voltage = <1800000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-disable-load = <100>;
			};
		};
	};

	mdss_dsi: qcom,mdss_dsi@0 {
		compatible = "qcom,mdss-dsi";
		hw-config = "single_dsi";
@@ -366,6 +456,7 @@
	};

	qcom,mdss_wb_panel {
		status = "disabled";
		compatible = "qcom,mdss_wb";
		qcom,mdss_pan_res = <640 640>;
		qcom,mdss_pan_bpp = <24>;
+467 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -791,6 +791,472 @@
			};
		};

		mdss_rgb_data0_active: mdss_rgb_data0_active {
			mux {
				pins = "gpio26", "gpio41";
				function = "rgb_data0";
			};

			config {
				pins = "gpio26", "gpio41";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data0_suspend: mdss_rgb_data0_suspend {
			mux {
				pins = "gpio26", "gpio41";
				function = "rgb_data0";
			};

			config {
				pins = "gpio26", "gpio41";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data1_active: mdss_rgb_data1_active {
			mux {
				pins = "gpio27", "gpio42";
				function = "rgb_data1";
			};

			config {
				pins = "gpio27", "gpio42";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data1_suspend: mdss_rgb_data1_suspend {
			mux {
				pins = "gpio27", "gpio42";
				function = "rgb_data1";
			};

			config {
				pins = "gpio27", "gpio42";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data2_active: mdss_rgb_data2_active {
			mux {
				pins = "gpio28", "gpio43";
				function = "rgb_data2";
			};

			config {
				pins = "gpio28", "gpio43";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data2_suspend: mdss_rgb_data2_suspend {
			mux {
				pins = "gpio28", "gpio43";
				function = "rgb_data2";
			};

			config {
				pins = "gpio28", "gpio43";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data3_active: mdss_rgb_data3_active {
			mux {
				pins = "gpio29", "gpio44";
				function = "rgb_data3";
			};

			config {
				pins = "gpio29", "gpio44";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data3_suspend: mdss_rgb_data3_suspend {
			mux {
				pins = "gpio29", "gpio44";
				function = "rgb_data3";
			};

			config {
				pins = "gpio29", "gpio44";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data4_active: mdss_rgb_data4_active {
			mux {
				pins = "gpio39", "gpio45";
				function = "rgb_data4";
			};

			config {
				pins = "gpio39", "gpio45";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data4_suspend: mdss_rgb_data4_suspend {
			mux {
				pins = "gpio39", "gpio45";
				function = "rgb_data4";
			};

			config {
				pins = "gpio39", "gpio45";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data5_active: mdss_rgb_data5_active {
			mux {
				pins = "gpio40", "gpio46";
				function = "rgb_data5";
			};

			config {
				pins = "gpio40", "gpio46";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data5_suspend: mdss_rgb_data5_suspend {
			mux {
				pins = "gpio40", "gpio46";
				function = "rgb_data5";
			};

			config {
				pins = "gpio40", "gpio46";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data_b0_active: mdss_rgb_data_b0_active {
			mux {
				pins = "gpio47";
				function = "rgb_data_b0";
			};

			config {
				pins = "gpio47";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data_b0_suspend: mdss_rgb_data_b0_suspend {
			mux {
				pins = "gpio47";
				function = "rgb_data_b0";
			};

			config {
				pins = "gpio47";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data_b1_active: mdss_rgb_data_b1_active {
			mux {
				pins = "gpio48";
				function = "rgb_data_b1";
			};

			config {
				pins = "gpio48";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data_b1_suspend: mdss_rgb_data_b1_suspend {
			mux {
				pins = "gpio48";
				function = "rgb_data_b1";
			};

			config {
				pins = "gpio48";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data_b2_active: mdss_rgb_data_b2_active {
			mux {
				pins = "gpio49";
				function = "rgb_data_b2";
			};

			config {
				pins = "gpio49";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data_b2_suspend: mdss_rgb_data_b2_suspend {
			mux {
				pins = "gpio49";
				function = "rgb_data_b2";
			};

			config {
				pins = "gpio49";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data_b3_active: mdss_rgb_data_b3_active {
			mux {
				pins = "gpio50";
				function = "rgb_data_b3";
			};

			config {
				pins = "gpio50";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data_b3_suspend: mdss_rgb_data_b3_suspend {
			mux {
				pins = "gpio50";
				function = "rgb_data_b3";
			};

			config {
				pins = "gpio50";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data_b4_active: mdss_rgb_data_b4_active {
			mux {
				pins = "gpio51";
				function = "rgb_data_b4";
			};

			config {
				pins = "gpio51";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data_b4_suspend: mdss_rgb_data_b4_suspend {
			mux {
				pins = "gpio51";
				function = "rgb_data_b4";
			};

			config {
				pins = "gpio51";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_data_b5_active: mdss_rgb_data_b5_active {
			mux {
				pins = "gpio52";
				function = "rgb_data_b5";
			};

			config {
				pins = "gpio52";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_data_b5_suspend: mdss_rgb_data_b5_suspend {
			mux {
				pins = "gpio52";
				function = "rgb_data_b5";
			};

			config {
				pins = "gpio52";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_hsync_active: mdss_rgb_hsync_active {
			mux {
				pins = "gpio53";
				function = "rgb_hsync";
			};

			config {
				pins = "gpio53";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_hsync_suspend: mdss_rgb_hsync_suspend {
			mux {
				pins = "gpio53";
				function = "rgb_hsync";
			};

			config {
				pins = "gpio53";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_vsync_active: mdss_rgb_vsync_active {
			mux {
				pins = "gpio54";
				function = "rgb_vsync";
			};

			config {
				pins = "gpio54";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_vsync_suspend: mdss_rgb_vsync_suspend {
			mux {
				pins = "gpio54";
				function = "rgb_vsync";
			};

			config {
				pins = "gpio54";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_de_active: mdss_rgb_de_active {
			mux {
				pins = "gpio55";
				function = "rgb_de";
			};

			config {
				pins = "gpio55";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_de_suspend: mdss_rgb_de_suspend {
			mux {
				pins = "gpio55";
				function = "rgb_de";
			};

			config {
				pins = "gpio55";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_clk_active: mdss_rgb_clk_active {
			mux {
				pins = "gpio56";
				function = "rgb_clk";
			};

			config {
				pins = "gpio56";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-low;
			};
		};

		mdss_rgb_clk_suspend: mdss_rgb_clk_suspend {
			mux {
				pins = "gpio56";
				function = "rgb_clk";
			};

			config {
				pins = "gpio56";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		mdss_rgb_active: mdss_rgb_active {
			mux {
				pins = "gpio58";
				drive-strength = <8>; /* 8 mA */
				bias-disable = <0>; /* no pull */
				output-high;
			};
		};

		mdss_rgb_suspend: mdss_rgb_suspend {
			mux {
				pins = "gpio58";
				drive-strength = <2>; /* 2 mA */
				bias-pull-down; /* pull down */
				input-enable;
			};
		};

		pmx_mdss: pmx_mdss {
			mdss_dsi_active: mdss_dsi_active {
				mux {
+30 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2019, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

&mdss_mdp {
	rgb_st7789v: qcom,mdss_rgb_st7789v {
		qcom,mdss-rgb-panel-name = "st7789v LCD rgb panel";
		qcom,mdss-rgb-panel-framerate = <60>;
		qcom,mdss-rgb-panel-width = <240>;
		qcom,mdss-rgb-panel-height = <320>;
		qcom,mdss-rgb-h-front-porch = <38>;
		qcom,mdss-rgb-h-back-porch = <10>;
		qcom,mdss-rgb-h-pulse-width = <10>;
		qcom,mdss-rgb-h-sync-skew = <0>;
		qcom,mdss-rgb-v-back-porch = <4>;
		qcom,mdss-rgb-v-front-porch = <8>;
		qcom,mdss-rgb-v-pulse-width = <4>;
		qcom,mdss-rgb-bpp = <18>;
		qcom,mdss-rgb-panel-clockrate = <6000000>;
	};
};
Loading