Other Parts Discussed in Thread: DRA752, TMP102, PMP
Hi sir,
I am using AM5728EVM based on custom board, we are connected AM5728_SOC_VIN3A(mcspi3&vin3a)<------GS2961A<------Camera
In below case we are attached schematic

in u-boot below pin mux i used
{VOUT1_HSYNC, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_hsync.vin3a_hsync */
{VOUT1_VSYNC, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_vsync.vin3a_vsync */
{VOUT1_D8, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d8.vin3a_d8 */
{VOUT1_D9, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d9.vin3a_d9 */
{VOUT1_D10, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d10.vin3a_d10 */
{VOUT1_D11, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d11.vin3a_d11 */
{VOUT1_D12, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d12.vin3a_d12 */
{VOUT1_D13, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d13.vin3a_d13 */
{VOUT1_D14, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d14.vin3a_d14 */
{VOUT1_D15, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d15.vin3a_d15 */
{VOUT1_D16, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d16.vin3a_d0 */
{VOUT1_D17, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d17.vin3a_d1 */
{VOUT1_D18, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d18.vin3a_d2 */
{VOUT1_D19, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d19.vin3a_d3 */
{VOUT1_D20, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d20.vin3a_d4 */
{VOUT1_D21, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d21.vin3a_d5 */
{VOUT1_D22, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d22.vin3a_d6 */
{VOUT1_D23, (M4 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* vout1_d23.vin3a_d7 */
in linux kernel dts/am57xx-beagle-x15-common.dtsi
&vip2 {
status = "okay";
};
&vin3a {
status = "okay";
endpoint {
remote-endpoint = <&cam>;
slave-mode;
};
};
&mcspi3{
status = "okay";
ti,pindir-d0-out-d1-in;
port {
cam: endpoint {
remote-endpoint = <&vin3a>;
hsync-active = <0>;
vsync-active = <0>;
pclk-sample = <1>;
pixel-clock-freq = <9600000>; //750khZ
input-clock-freq = <32000000>;
data-shift = <0>;
bus-width = <8>;
};
};
gs2971: gs2971@0 {
compatible = "pisosr-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0>;
spi-max-frequency = <1000000>;
spi-cpol;
};
};
in dra74x.dts
vip2: vip@0x48990000 {
compatible = "ti,vip2";
reg = <0x48990000 0x114>,
<0x48995500 0xD8>,
<0x48995700 0x18>,
<0x48995800 0x80>,
<0x48995a00 0xD8>,
<0x48995c00 0x18>,
<0x48995d00 0x80>,
<0x4899d000 0x400>;
reg-names = "vip",
"parser0",
"csc0",
"sc0",
"parser1",
"csc1",
"sc1",
"vpdma";
ti,hwmods = "vip2";
interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>;
/* CTRL_CORE_SMA_SW_1 */
syscon-pol = <&scm_conf 0x534>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
vin3a: port@0 {
reg = <0>;
status = "okay";
}
Added gs2971 driver in driver/media/platform/mxc/capture/gs2971.c
but vin3a port and v4l2 port not enabled in linux kernel of dmesg
Thanking you,
Regards,
Ramachandra