Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

Driver for EP93xx LCD controller

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

Trình điều khiển cho bộ điều khiển EP93xx LCD

Bộ điều khiển EP93xx LCD có thể điều khiển cả màn hình máy tính để bàn tiêu chuẩn và màn hình LCD được nhúng. Nếu bạn có một màn hình máy tính để bàn tiêu chuẩn thì bạn có thể sử dụng cơ sở dữ liệu chế độ video tiêu chuẩn của Linux. Trong tập tin bảng của bạn:

cấu trúc tĩnh ep93xxfb_mach_info some_board_fb_info = {

.num_modes = EP93XXFB_USE_MODEDB, .bpp = 16,

};

Nếu bạn có màn hình LCD được nhúng thì bạn cần xác định video chế độ cho nó như sau:

cấu trúc tĩnh fb_videomode some_board_video_modes[] = {
{

.name = “some_lcd_name”, /* Đồng hồ pixel, hiên nhà, v.v. */

},

};

Lưu ý rằng giá trị đồng hồ pixel tính bằng pico-giây. Bạn có thể sử dụng Macro KHZ2PICOS để chuyển đổi giá trị đồng hồ pixel. Hầu hết các giá trị khác đều ở dạng đồng hồ pixel. Xem The Frame Buffer Device để biết thêm chi tiết.

Cấu trúc ep93xxfb_mach_info cho bo mạch của bạn sẽ trông giống như sau đây:

cấu trúc tĩnh ep93xxfb_mach_info some_board_fb_info = {

.num_modes = ARRAY_SIZE(some_board_video_modes), .modes = some_board_video_modes, .default_mode = &some_board_video_modes[0], .bpp = 16,

};

Thiết bị bộ đệm khung có thể được đăng ký bằng cách thêm thông tin sau vào chức năng khởi tạo bảng của bạn:

ep93xx_register_fb(&some_board_fb_info);

Cờ thuộc tính video

Cấu trúc ep93xxfb_mach_info có trường flags có thể được sử dụng để cấu hình bộ điều khiển. Các cờ thuộc tính video đầy đủ được ghi lại trong phần 7 của hướng dẫn sử dụng EP93xx. Sau đây cờ có sẵn:

dữ liệu ở cạnh tăng.

EP93XXFB_SYNC_BLANK_HIGH Tín hiệu trống đang hoạt động ở mức cao. Bởi

mặc định tín hiệu trống đang hoạt động ở mức thấp.

EP93XXFB_SYNC_HORIZ_HIGH Đồng bộ hóa ngang đang hoạt động ở mức cao. Bởi

mặc định đồng bộ hóa ngang đang hoạt động ở mức thấp.

EP93XXFB_SYNC_VERT_HIGH Đồng bộ dọc đang hoạt động ở mức cao. Bởi

mặc định đồng bộ dọc đang hoạt động ở mức cao.


Địa chỉ vật lý của bộ đệm khung có thể được kiểm soát bằng cách sử dụng cờ sau:

EP93XXFB_USE_SDCSN1 Sử dụng SDCSn[1] cho bộ đệm khung.

EP93XXFB_USE_SDCSN2 Sử dụng SDCSn[2] cho bộ đệm khung.

EP93XXFB_USE_SDCSN3 Sử dụng SDCSn[3] cho bộ đệm khung.

Lệnh gọi lại nền tảng

Trình điều khiển bộ đệm khung EP93xx hỗ trợ ba nền tảng tùy chọn cuộc gọi lại: thiết lập, chia nhỏ và để trống. Chức năng thiết lập và phân tách được gọi khi trình điều khiển bộ đệm khung được cài đặt và gỡ bỏ tương ứng. Hàm trống được gọi bất cứ khi nào màn hình hiển thị được để trống hoặc không được để trống.

Các thiết bị thiết lập và chia nhỏ vượt qua cấu trúc platform_device dưới dạng một cuộc tranh luận. Cấu trúc fb_info và ep93xxfb_mach_info có thể thu được như sau:

int tĩnh some_board_fb_setup(struct platform_device *pdev)
{

cấu trúc ep93xxfb_mach_info *mach_info = pdev->dev.platform_data; cấu trúc fb_info *fb_info = platform_get_drvdata(pdev);

/* Thiết lập bộ đệm khung cụ thể cho bảng */

}

Cài đặt chế độ video

Chế độ video được đặt bằng cú pháp sau

video=XRESxYRES[-BPP][@REFRESH]

Nếu trình điều khiển video EP93xx được tích hợp sẵn thì chế độ video được bật dòng lệnh nhân Linux, ví dụ:

video=ep93xx-fb:800x600-16@60

Nếu trình điều khiển video EP93xx được xây dựng dưới dạng mô-đun thì chế độ video sẽ là được đặt khi mô-đun được cài đặt:

modprobe ep93xx-fb video=320x240

Lỗi trang màn hình

Ít nhất trên EP9315 có một lỗi silicon gây ra bit 27 VIDSCRNPAGE (độ lệch vật lý của bộ đệm khung) được buộc ở mức thấp. có một lỗi không chính thức cho lỗi này tại:

ZZ0000ZZ

Theo mặc định, trình điều khiển bộ đệm khung EP93xx sẽ kiểm tra xem vùng vật lý được phân bổ có địa chỉ có bit 27 được thiết lập. Nếu đúng như vậy thì bộ nhớ sẽ được giải phóng và lỗi được trả về. Việc kiểm tra có thể bị vô hiệu hóa bằng cách thêm vào như sau tùy chọn khi tải trình điều khiển:

ep93xx-fb.check_screenpage_bug=0

Trong một số trường hợp, có thể cấu hình lại bố cục SDRAM của bạn để tránh lỗi này. Xem phần 13 của hướng dẫn sử dụng EP93xx để biết chi tiết.