Hi:
Here is the sii9022 code I added in the device tree,The kernel version 4.4.12.
&dss {
status = "ok";
vdda_video-supply = <&ldoln_reg>;
ports{
#address-cells = <1>;
#size-cells = <0>;
port {
reg = <0>;
dpi_out: endpoint {
remote-endpoint = <&sii9022_in>;
data-lines = <24>;
};
};
};
};
&i2c4 {
status = "okay";
clock-frequency = <400000>;
sii9022: sii9022@39 {
#sound-dai-cells = <0>;
compatible = "sil,sii9022";
reg = <0x39>;
i2s-fifo-routing = <
(ENABLE_BIT|CONNECT_SD0)
0
0
0
>;
interrupt-parent = <&gpio5>;
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
sii9022_in: endpoint {
remote-endpoint = <&dpi_out>;
};
};
port@1 {
reg = <1>;
sii9022_out: endpoint {
remote-endpoint = <&hdmi1_connector_in>;
};
};
};
};
};
SII9022 Are there any errors in the device tree part?
Compile Replace the new device tree file am57xx-beagle-x15.dtb.
Print DBUG information, The red part is a dbug print error. No resolution was obtained。
[ 2.270218] mmcblk0: mmc1:0001 M8G1GC 7.28 GiB
[ 2.275932] dmm 4e000000.dmm: initialized all PAT entries
[ 2.281593] === omap_connect_dssdevs ===
[ 2.284998] mmcblk0boot0: mmc1:0001 M8G1GC partition 1 4.00 MiB
[ 2.291506] ===================
[ 2.294657] hdmic_connect
[ 2.295188] mmcblk0boot1: mmc1:0001 M8G1GC partition 2 4.00 MiB
[ 2.303274] ###### sii9022_connect ######
[ 2.303781] mmcblk0: p1 p2
[ 2.310141] ====== hdmi_connect ======
[ 2.314176] ====== hdmi_connect end ======
[ 2.319070] ###### sii9022_connect end ######
[ 2.323456] hdmic_connect end
[ 2.326445] === omap_connect_dssdevs end ===
[ 2.333287] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 2.339957] [drm] No driver support for vblank timestamp query.
[ 2.355849] omapdrm omapdrm.0: No connectors reported connected with modes
[ 2.369788] [drm] Cannot find any crtc or sizes - going 1024x768
[ 2.385632] [drm] Enabling DMM ywrap scrolling
[ 2.403001] Console: switching to colour frame buffer device 240x67
[ 2.421370] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
[ 2.448659] omapwb-m2m: Device registered as video10
[ 2.453655] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0
[ 2.470284] hctosys: unable to open rtc device (rtc0)
[ 2.486683] aic_dvdd_fixed: disabling
[ 2.490612] ldousb: disabling
[ 2.494070] ALSA device list:
[ 2.497058] No soundcards found.
[ 2.550628] EXT4-fs (mmcblk0p2): recovery complete
[ 2.555929] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 2.564099] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 2.572977] devtmpfs: mounted
[ 2.576174] Freeing unused kernel memory: 360K (c095a000 - c09b4000)
[ 2.582578] This architecture does not have kernel memory protection.
[ 2.651804] random: nonblocking pool is initialized
See sii9022 drive only in the omapdss_hdmi_ops into the sii9022_connect
static const struct omapdss_hdmi_ops sii9022_hdmi_ops = {
.connect = sii9022_connect,
.disconnect = sii9022_disconnect,
.enable = sii9022_enable,
.disable = sii9022_disable,
.check_timings = sii9022_check_timings,
.set_timings = sii9022_set_timings,
.get_timings = sii9022_get_timings,
.read_edid = sii9022_read_edid,
.detect = sii9022_detect,
.set_hdmi_mode = sii9022_set_hdmi_mode,
.set_infoframe = sii9022_set_infoframe,
};
Why sii9022 can not get resolution?read_edid function is how to call?The oscilloscope does not measure the hdmi signal and the signal on the DDC BUS bus?