I also find it interesting that changing the pixel clock polarity did not change anything. I guess that means that the output hold time (which is speced at 2ns minimum on the TVP5150) is sufficient to still clock in the correct values.
So with the IC (and therefore the VDIC) in the path it sounds like you are pretty close. Here are few more things to try that might help you find the issue:
1. If you are seeing green when the TVP5150 is configured to output black then the sample order seems messed up. For black the TVP5150 outputs YUV422 as Y=0x10 and U,V=0x80. With these swapped Y=0x80 and U,V=0x10 you get green. Just as a test try the following pixel formats for the CSI to see if any of them give you black video when TVP5150 is set to output black:
V4L2_PIX_FMT_YUYV
V4L2_PIX_FMT_YVYU
V4L2_PIX_FMT_UYVY (probably what should be used with tvp5150)
V4L2_PIX_FMT_VYUY
2. The CSI uses the following registers when it interprets that SAV/EAV codes: CCIR_PRECOM, CCIR_CODE_1, CCIR_CODE_2 and CCIR_CODE_3. It would be worth checking that they contain the same values as CSI0.
3. Try putting CSI1 in to test mode. This will cause it to generate a chess board test pattern regardless of the input (see CSI1_TST_CTRL register). That register will also let you control the RGB value of the even pixels. If this works and you get a stable image with the color you expect on the even pixels it means that the IPU path past the CSI (ie. IC, VDIC and IDMAC) are all configured correctly. That would put your problem with the CSI config, TV5150 config or output, or possibly still an SI problem on your board between the connector and the MX6 (something that would not change even if you cross connect your 5150s).
4. You've probably already done this but while capture is running dump all CSI1 registers and then review them to make sure they all make sense. Even better would be to first dump all CSI0 regs from the working video path and compare them to CSI1.
Good luck, I hope you find the root cause soon.
Don