When we tried to select the LVDS source, the Port number setting can't work.
From the spec, the Port-2 is LVDS. We send the I2C command "0x34, 0x84, 0x80", and read the value of register 0x04 back. It always be 0x0.
Could anyone help to solve this issue?
Hereunder is our test log, FYI.
==========================================================
[ 162.356325] [DLPC INFO:]dlpc_i2c_write, addr = 0x0, buf = 0xdcabbe95, len = 0x1
[ 162.364557] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 162.373448] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.378759] sunxi_i2c_do_xfer()919 - data = 0x80
[ 162.383991] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.389302] sunxi_i2c_do_xfer()919 - data = 0x3
[ 162.394431] sunxi_i2c_do_xfer()921 - <-- Write CMD: 0x34 0x80 0x03
[ 162.394434]
[ 162.406660] [DLPC INFO:]dlpc_i2c_write success
[ 162.511608] [DLPC INFO:]dlpc_i2c_read, addr = 0x0
[ 162.516927] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 162.525817] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.531138] sunxi_i2c_do_xfer()919 - data = 0x0
[ 162.536256] sunxi_i2c_do_xfer()921 - <-- READ CMD: 0x34 0x00
[ 162.364557] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 162.373448] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.378759] sunxi_i2c_do_xfer()919 - data = 0x80
[ 162.383991] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.389302] sunxi_i2c_do_xfer()919 - data = 0x3
[ 162.394431] sunxi_i2c_do_xfer()921 - <-- Write CMD: 0x34 0x80 0x03
[ 162.394434]
[ 162.406660] [DLPC INFO:]dlpc_i2c_write success
[ 162.511608] [DLPC INFO:]dlpc_i2c_read, addr = 0x0
[ 162.516927] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 162.525817] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.531138] sunxi_i2c_do_xfer()919 - data = 0x0
[ 162.536256] sunxi_i2c_do_xfer()921 - <-- READ CMD: 0x34 0x00
[ 162.536259]
[ 162.546266] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 162.555158] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.560479] sunxi_i2c_do_xfer()919 - data = 0xee
[ 162.565694] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.571015] sunxi_i2c_do_xfer()919 - data = 0xee
[ 162.576229] sunxi_i2c_do_xfer()921 -
[ 162.576231]
[ 162.587359] [DLPC INFO:]dlpc_i2c_read success
[ 162.592204] [DLPC INFO:]dlpc_select_lvds_source, addr = 0x0, val = 0x3! <-- READ Value
[ 162.804049] [DLPC INFO:]dlpc_i2c_write, addr = 0x5, buf = 0xdcabbe95, len = 0x1
[ 162.812272] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 162.821162] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.826474] sunxi_i2c_do_xfer()919 - data = 0x85
[ 162.831700] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.837011] sunxi_i2c_do_xfer()919 - data = 0x40
[ 162.842235] sunxi_i2c_do_xfer()921 - <-- Write CMD: 0x34 0x85 0x40
[ 162.546266] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 162.555158] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.560479] sunxi_i2c_do_xfer()919 - data = 0xee
[ 162.565694] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.571015] sunxi_i2c_do_xfer()919 - data = 0xee
[ 162.576229] sunxi_i2c_do_xfer()921 -
[ 162.576231]
[ 162.587359] [DLPC INFO:]dlpc_i2c_read success
[ 162.592204] [DLPC INFO:]dlpc_select_lvds_source, addr = 0x0, val = 0x3! <-- READ Value
[ 162.804049] [DLPC INFO:]dlpc_i2c_write, addr = 0x5, buf = 0xdcabbe95, len = 0x1
[ 162.812272] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 162.821162] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.826474] sunxi_i2c_do_xfer()919 - data = 0x85
[ 162.831700] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.837011] sunxi_i2c_do_xfer()919 - data = 0x40
[ 162.842235] sunxi_i2c_do_xfer()921 - <-- Write CMD: 0x34 0x85 0x40
[ 162.842238]
[ 162.854589] [DLPC INFO:]dlpc_i2c_write success
[ 162.964033] [DLPC INFO:]dlpc_i2c_read, addr = 0x5
[ 162.969363] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 162.978255] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.983600] sunxi_i2c_do_xfer()919 - data = 0x5
[ 162.988719] sunxi_i2c_do_xfer()921 - <-- Read CMD: 0x34 0x05
[ 162.854589] [DLPC INFO:]dlpc_i2c_write success
[ 162.964033] [DLPC INFO:]dlpc_i2c_read, addr = 0x5
[ 162.969363] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 162.978255] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 162.983600] sunxi_i2c_do_xfer()919 - data = 0x5
[ 162.988719] sunxi_i2c_do_xfer()921 - <-- Read CMD: 0x34 0x05
[ 162.988722]
[ 162.997200] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.006094] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.011417] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.016632] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.021953] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.027168] sunxi_i2c_do_xfer()921 -
[ 163.027171]
[ 163.035438] [DLPC INFO:]dlpc_i2c_read success
[ 163.040303] [DLPC INFO:]dlpc_select_lvds_source, addr = 0x5, val = 0x40! <-- READ Value
[ 163.252024] [DLPC INFO:]dlpc_i2c_write, addr = 0x17, buf = 0xdcabbe95, len = 0x1
[ 163.260386] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.269265] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.274587] sunxi_i2c_do_xfer()919 - data = 0x97
[ 163.279802] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.285146] sunxi_i2c_do_xfer()919 - data = 0x1
[ 163.290276] sunxi_i2c_do_xfer()921 - <-- Write CMD: 0x34 0x97 0x1
[ 162.997200] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.006094] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.011417] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.016632] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.021953] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.027168] sunxi_i2c_do_xfer()921 -
[ 163.027171]
[ 163.035438] [DLPC INFO:]dlpc_i2c_read success
[ 163.040303] [DLPC INFO:]dlpc_select_lvds_source, addr = 0x5, val = 0x40! <-- READ Value
[ 163.252024] [DLPC INFO:]dlpc_i2c_write, addr = 0x17, buf = 0xdcabbe95, len = 0x1
[ 163.260386] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.269265] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.274587] sunxi_i2c_do_xfer()919 - data = 0x97
[ 163.279802] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.285146] sunxi_i2c_do_xfer()919 - data = 0x1
[ 163.290276] sunxi_i2c_do_xfer()921 - <-- Write CMD: 0x34 0x97 0x1
[ 163.290279]
[ 163.302545] [DLPC INFO:]dlpc_i2c_write success
[ 163.407473] [DLPC INFO:]dlpc_i2c_read, addr = 0x17
[ 163.412899] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.421788] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.427099] sunxi_i2c_do_xfer()919 - data = 0x17
[ 163.432324] sunxi_i2c_do_xfer()921 - <-- Read CMD: 0x34 0x17
[ 163.302545] [DLPC INFO:]dlpc_i2c_write success
[ 163.407473] [DLPC INFO:]dlpc_i2c_read, addr = 0x17
[ 163.412899] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.421788] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.427099] sunxi_i2c_do_xfer()919 - data = 0x17
[ 163.432324] sunxi_i2c_do_xfer()921 - <-- Read CMD: 0x34 0x17
[ 163.432327]
[ 163.440819] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.449698] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.455026] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.460253] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.465564] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.470789] sunxi_i2c_do_xfer()921 -
[ 163.470792]
[ 163.479096] [DLPC INFO:]dlpc_i2c_read success
[ 163.483955] [DLPC INFO:]dlpc_select_lvds_source, addr = 0x17, val = 0x1! <-- READ Value
[ 163.491400] [DLPC INFO:]dlpc_i2c_write, addr = 0x4, buf = 0xdcabbe95, len = 0x1
[ 163.499612] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.508500] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.518825] sunxi_i2c_do_xfer()919 - data = 0x84
[ 163.524050] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.529360] sunxi_i2c_do_xfer()919 - data = 0x80
[ 163.534586] sunxi_i2c_do_xfer()921 - <-- Write CMD: 0x34 0x84 0x80
[ 163.440819] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.449698] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.455026] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.460253] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.465564] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.470789] sunxi_i2c_do_xfer()921 -
[ 163.470792]
[ 163.479096] [DLPC INFO:]dlpc_i2c_read success
[ 163.483955] [DLPC INFO:]dlpc_select_lvds_source, addr = 0x17, val = 0x1! <-- READ Value
[ 163.491400] [DLPC INFO:]dlpc_i2c_write, addr = 0x4, buf = 0xdcabbe95, len = 0x1
[ 163.499612] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.508500] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.518825] sunxi_i2c_do_xfer()919 - data = 0x84
[ 163.524050] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.529360] sunxi_i2c_do_xfer()919 - data = 0x80
[ 163.534586] sunxi_i2c_do_xfer()921 - <-- Write CMD: 0x34 0x84 0x80
[ 163.534589]
[ 163.546898] [DLPC INFO:]dlpc_i2c_write success
[ 163.751839] [DLPC INFO:]dlpc_i2c_read, addr = 0x4
[ 163.757158] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.766078] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.771403] sunxi_i2c_do_xfer()919 - data = 0x4
[ 163.776521] sunxi_i2c_do_xfer()921 - <-- Read CMD: 0x34 0x04
[ 163.546898] [DLPC INFO:]dlpc_i2c_write success
[ 163.751839] [DLPC INFO:]dlpc_i2c_read, addr = 0x4
[ 163.757158] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.766078] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.771403] sunxi_i2c_do_xfer()919 - data = 0x4
[ 163.776521] sunxi_i2c_do_xfer()921 - <-- Read CMD: 0x34 0x04
[ 163.776523]
[ 163.784904] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.793796] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.799107] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.804332] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.809643] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.819871] sunxi_i2c_do_xfer()921 -
[ 163.819874]
[ 163.828144] [DLPC INFO:]dlpc_i2c_read success
[ 163.832987] [DLPC INFO:]dlpc_select_lvds_source, addr = 0x4, val = 0x0! <-- READ Value
[ 163.840334] [DLPC ERROR:]dlpc_select_lvds_source CMD_INPUT_DATA_CHANNEL_SETUP value fail
[ 163.784904] sunxi_i2c_do_xfer()915 - Sunxi I2C bus 0x0 transfer, base_addr = 0xf1c2ac00
[ 163.793796] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.799107] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.804332] sunxi_i2c_do_xfer()918 - baddr = 0x1a
[ 163.809643] sunxi_i2c_do_xfer()919 - data = 0xee
[ 163.819871] sunxi_i2c_do_xfer()921 -
[ 163.819874]
[ 163.828144] [DLPC INFO:]dlpc_i2c_read success
[ 163.832987] [DLPC INFO:]dlpc_select_lvds_source, addr = 0x4, val = 0x0! <-- READ Value
[ 163.840334] [DLPC ERROR:]dlpc_select_lvds_source CMD_INPUT_DATA_CHANNEL_SETUP value fail
=====================================================