سلام.من میخوام یک ال سی دی به غیر از ال سی دی که در آموزش " کار با تراشه F1C100S " آورده شده است رو راه اندازی کنم.
این پایه های ال سی دی هست.RGB565 هست
و این هم مشخصات ال سی دی
سلام.من میخوام یک ال سی دی به غیر از ال سی دی که در آموزش " کار با تراشه F1C100S " آورده شده است رو راه اندازی کنم.
سلام.
نقطه شروع کار ما برای تغییر 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 تغییر بدید ، یا اینکه در همین فایل مطابق بقیه نمایشگر ها یک نمایشگر اضافه کنید و پارامتر هاش رو بر اساس دیتاشیت مشخص کنید.
خیلی ممنونم از توضیحاتتون
1-این تغییرات رو که دادم دوباره باید سیستم عامل رو کامپایل کنم؟
2-مگه با sinux هم ال سی دی mipi میشه راه اندازی کرد؟
چندتا سوال دیگه هم داشتم تو نظرات هم پرسیدم نمی دونم ثبت شده یا نه
3-چه جوری میشه سیستم عامل از ای سی فلش رو برد بالا بیاد؟و اینکه این فایل image تولید شده الان 114 مگ هست و فلش روی برد 32 مگ …چی کار باید کرد؟ سیستم عامل رو باید سبک تر کرد؟
4-میخوام با پایتون و ssh کار کنم؟لطف میفرمایین بگین چی کار باید بکنم؟با یک som که کار میکردم پایتون رو کراس کامپایل کردم و پوشه build تولید شده رو ریختم روی برد و کار میکردم…با این هم باید همین طوری کار کنم
باتشکر
1- بله مطمئنا باید دوباره کامپایل کنید
2-نمیشه ، به طور کلی گفتم
سوالات دیگه رو لطفا یک موضوع دیگه بسازید و در اون مطرح کنید چراکه با عنوان این موضوع " راه اندازی LCD با Sinux F1" مرتبط نیست.
ببخشید من نتونستم فایل panel-simple.c رو توی پوشه buildroot-sinux پیدا کنم.
اینجاست
buildroot-sinux/output/build/linux-5.4.92/drivers/gpu/drm/panel