On Thu, Dec 19, 2013 at 07:30:50AM +0200, Tomi Valkeinen wrote: > On 2013-12-19 02:51, Sebastian Reichel wrote: > > On Wed, Dec 18, 2013 at 10:55:37PM +0100, Sebastian Reichel wrote: > >> On Tue, Dec 17, 2013 at 07:29:34PM +0200, Tomi Valkeinen wrote: > >>>>> I added N900 display DT support on top of my v2 series, including > >>>>> pinmuxing. Can you check if it looks right and works? > >>>>> > >>>>> git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git work/dss-dt > >>>> > >>>> I just tried it and it does not work. On a first look the pinmuxing > >>>> looks fishy: 0x0d4 is muxed two times. > >>> > >>> Hmm, so it is. > >>> > >>> I'm not really familiar with SDI, I just muxed all the SDI pins, except > >>> datapair3. I previously thought that there's only the data and clock > >>> pairs for SDI, but the TRM revealed more sdi pins, so I included them. > >>> It is well possible that these can be removed: > >>> > >>> 0x0d0 (PIN_OUTPUT | MUX_MODE1) /* dss_data18.sdi_vsync */ > >>> 0x0d2 (PIN_OUTPUT | MUX_MODE1) /* dss_data19.sdi_hsync */ > >>> 0x0d4 (PIN_OUTPUT | MUX_MODE1) /* dss_data20.sdi_den */ > >>> 0x0d6 (PIN_OUTPUT | MUX_MODE1) /* dss_data21.sdi_stp */ > >> > >> Just removing the dss_data20.sdi_den pin was enough to get a working display. I > >> don't know if the other pins are needed, because the display pins are already > >> muxed correctly by the bootloader. > > > > I just had a look in the leaked n900 schematics. According to it the > > following pins are connected to the display: > > > > DSS_DATA20 (E28) GPIO 90 LCD_RST > > DSS_DATA10 (AD28) SDI_DAT1N CDP 0 > > DSS_DATA11 (AD27) SDI_DAT1P CDP 1 > > DSS_DATA12 (AB28) SDI_DAT2N CDP 2 > > DSS_DATA13 (AB27) SDI_DAT2P CDP 3 > > DSS_DATA14 (AA28) SDI_DAT3N CDP 4 > > DSS_DATA15 (AA27) SDI_DAT3P CDP 5 > > DSS_DATA22 (AC27) SDI_CLKP CDP 6 > > DSS_DATA23 (AC28) SDI_CLKN CDP 7 > > > > I also noticed that dss_data19.sdi_hsync is used as gpio 89 for the > > N900's proximity sensor. Thus I suggest the following SDI pin muxing: > > > > dss_sdi_pins: pinmux_dss_sdi_pins { > > pinctrl-single,pins = < > > 0x0c0 (PIN_OUTPUT | MUX_MODE1) /* dss_data10.sdi_dat1n */ > > 0x0c2 (PIN_OUTPUT | MUX_MODE1) /* dss_data11.sdi_dat1p */ > > 0x0c4 (PIN_OUTPUT | MUX_MODE1) /* dss_data12.sdi_dat2n */ > > 0x0c6 (PIN_OUTPUT | MUX_MODE1) /* dss_data13.sdi_dat2p */ > > 0x0c8 (PIN_OUTPUT | MUX_MODE1) /* dss_data14.sdi_dat3n */ > > 0x0ca (PIN_OUTPUT | MUX_MODE1) /* dss_data15.sdi_dat3p */ > > > > 0x0d8 (PIN_OUTPUT | MUX_MODE1) /* dss_data22.sdi_clkp */ > > 0x0da (PIN_OUTPUT | MUX_MODE1) /* dss_data23.sdi_clkn */ > > >; > > }; > > Thanks, I'll do the modifications. The dat3 lines are not needed, but if > they're connected to the panel, I don't see any harm in muxing them. > > Although, makes me wonder. If the panel supports only 2 datalanes, why > does it have connectors for 3? And if it supports 3, why would N900 use > only 2? I wondered about the same and I also assumed, that the muxing should be safe. > Are you able to check if the bootloader muxes dat3 to SDI mode? The bootloader's source code is not available as far as i know. I tried to cat /sys/kernel/debug/pinctrl/48002030.pinmux/pins, but I get an external abort on non-linefetch. So I can't check it :( -- Sebastian
Attachment:
signature.asc
Description: Digital signature