Skip to content

Implement edid.S as a header#31

Open
ahmubashshir wants to merge 2 commits into
akatrevorjay:masterfrom
ahm-forks:edid-header
Open

Implement edid.S as a header#31
ahmubashshir wants to merge 2 commits into
akatrevorjay:masterfrom
ahm-forks:edid-header

Conversation

@ahmubashshir

@ahmubashshir ahmubashshir commented Dec 18, 2023

Copy link
Copy Markdown
  • Implement edid.S as edid.h and edid-private.h
  • Use edid.h to create EDID for 3840x2160 resolution

@ahmubashshir ahmubashshir marked this pull request as ready for review December 18, 2023 07:25
Signed-off-by: Mubashshir <ahmubashshir@gmail.com>
Signed-off-by: Mubashshir <ahmubashshir@gmail.com>
@akatrevorjay

akatrevorjay commented Sep 21, 2024

Copy link
Copy Markdown
Owner

Hi, what is the goal of this PR? What does this let us do that we could not before?
It looks like it adds a template and headers, but what about the rest of the repo and docs?

@ahmubashshir

Copy link
Copy Markdown
Author

Hi, what is the goal of this PR? What does this let us do that we could not before? It looks like it adds a template and headers, but what about the rest of the repo and docs?

I think the commit messages describe what does this do...

/* 3840x2160: Modeline "3840x2160" 594.00 3840 4016 4104 4400 2160 2168 2178 2250 +hsync +vsync */
#include "edid.h"

BEGIN(
	1, 3,		// version
	'L', 'N', 'X',	// Manufacturer (3char)
	2012, 5,	// mfg year, week
	0, 0 		// PROD ID, Serial
);

VIDEO_ANALOG(VIDEO_ANALOG_COMP_SYNC);
MAX_SIZE(3840, 2160, 96); // max resolution

GAMMA(120);
DSP(DSP_STANDBY|DSP_ACTIVEOFF|DSP_SUSPEND|DSP_PREFER_DT1|DSP_RGB_COLOR);

LSB_RED_GREEN	(1, 1, 3, 2);
LSB_BLUE_WHITE	(3, 0, 0, 0);
MSB_RED		(0xa4, 0x59);
MSB_GREEN	(0x4a, 0x98);
MSB_BLUE	(0x25, 0x20);
MSB_WHITE	(0x50, 0x54);

// established timing descriptors
EST_TIMING(0, 0, 0, 0, 0, 0, 0, 0);
EST_TIMING(0, 0, 0, 0, 0, 0, 0, 0);
EST_TIMING(0, 0, 0, 0, 0, 0, 0, 0);
// standard resolutions
STD_RES_RATIO(1920, XY_RATIO_16_9, 120);
STD_RES_RATIO(1280, XY_RATIO_16_9, 60);
STD_RES_RATIO(1600, XY_RATIO_16_9, 60);
STD_RES_PAD();
STD_RES_PAD();
STD_RES_PAD();
STD_RES_PAD();
STD_RES_PAD();
// 4 descriptor entries
DSC_DTD(594000, 96,
	DTD_SYNC_TYPE(1, 1) | DTD_SYNC_DIR(1, 1),
	3840,	2160,
	176,	71,
	88,	73,
	560,	90,
	0,	0);

DSC_DTD(113120, 155,
	DTD_SYNC_TYPE(1, 1) | DTD_SYNC_DIR(0, 1),
	1920,	1080,
	48,	66,
	32,	69,
	222,	20,
	0,	0);
DSC_DTD(118250, 129,
	DTD_SYNC_TYPE(1, 1) | DTD_SYNC_DIR(1, 0),
	1600,	900,
	96,	66,
	160,	68,
	512,	34,
	0,	0);
DSC_SERIAL("Linux #0");

EXTENSIONS(0);
END();

#include "edid.h" // validate presence of all required symbols

// vim: ft=c:ts=8

@ahmubashshir

Copy link
Copy Markdown
Author

IMO, this pr the is better implementation of #30
(though it needs improvement (STD_RES as constants) and documentation...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants