راه اندازی LCD با Sinux F1

سلام.من میخوام یک ال سی دی به غیر از ال سی دی که در آموزش " کار با تراشه F1C100S " آورده شده است رو راه اندازی کنم.


این پایه های ال سی دی هست.RGB565 هست
و این هم مشخصات ال سی دی

سلام.
نقطه شروع کار ما برای تغییر lcd فایل device tree هست که توی اون سخت افزارمون رو مشخص میکنیم ، این بخشی از فایل devicetree.dts هست که نمایشگرمون در اون مشخص شده

	panel: panel {
		compatible = "qiaodian,qd43003c0-40", "simple-panel";
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

			panel_input: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&tcon0_out_lcd>;
			};
		};
	};
};

نکته اول اینکه این کانفیگ برای LCD با پروتکل RGB هست و برای استفاده از پروتکل های دیگه مثل MIPI و… مراحل دیگه ای رو هم باید طی کنیم.

توی خط دوم نوع LCD مشخص شده ، در قسمت compatible
در واقع این نوع ال سی دی در فایل panel-simple.c دقیقتر ویژگی هاش مشخص شده (فایل درایور مربوط به lcd هست).

اگر که “qiaodian,qd43003c0-40” رو در این فایل سرچ کنید ، میبینید که به یک struct آدرس دهی شده که در اون پارامتر های دقیق ال سی دی هست

static const struct drm_display_mode qd43003c0_40_mode = {
	.clock = 9000,
	.hdisplay = 480,
	.hsync_start = 480 + 8,
	.hsync_end = 480 + 8 + 4,
	.htotal = 480 + 8 + 4 + 39,
	.vdisplay = 272,
	.vsync_start = 272 + 4,
	.vsync_end = 272 + 4 + 10,
	.vtotal = 272 + 4 + 10 + 2,
};

static const struct panel_desc qd43003c0_40 = {
	.modes = &qd43003c0_40_mode,
	.num_modes = 1,
	.bpc = 8,
	.size = {
		.width = 95,
		.height = 53,
	},
	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
};

شما یا باید نمایشگر مربوطه خودتون رو داخل این فایل پیدا کنید و اسمش نمایشگر رو توی device tree تغییر بدید ، یا اینکه در همین فایل مطابق بقیه نمایشگر ها یک نمایشگر اضافه کنید و پارامتر هاش رو بر اساس دیتاشیت مشخص کنید.

3 پسندیده

خیلی ممنونم از توضیحاتتون
1-این تغییرات رو که دادم دوباره باید سیستم عامل رو کامپایل کنم؟
2-مگه با sinux هم ال سی دی mipi میشه راه اندازی کرد؟
چندتا سوال دیگه هم داشتم تو نظرات هم پرسیدم نمی دونم ثبت شده یا نه
3-چه جوری میشه سیستم عامل از ای سی فلش رو برد بالا بیاد؟و اینکه این فایل image تولید شده الان 114 مگ هست و فلش روی برد 32 مگ …چی کار باید کرد؟ سیستم عامل رو باید سبک تر کرد؟
4-میخوام با پایتون و ssh کار کنم؟لطف میفرمایین بگین چی کار باید بکنم؟با یک som که کار میکردم پایتون رو کراس کامپایل کردم و پوشه build تولید شده رو ریختم روی برد و کار میکردم…با این هم باید همین طوری کار کنم
باتشکر

1- بله مطمئنا باید دوباره کامپایل کنید
2-نمیشه ، به طور کلی گفتم

سوالات دیگه رو لطفا یک موضوع دیگه بسازید و در اون مطرح کنید چراکه با عنوان این موضوع " راه اندازی LCD با Sinux F1" مرتبط نیست.

1 پسندیده

ببخشید من نتونستم فایل panel-simple.c رو توی پوشه buildroot-sinux پیدا کنم.

اینجاست
buildroot-sinux/output/build/linux-5.4.92/drivers/gpu/drm/panel

1 پسندیده