On Saturday 25 April 2015 16:33:18 Joachim Eastwood wrote: > > One other question: What is the preferred way of describing different > UART SoC features in DT? > 16550a is used as base on most NXP Cortex-M devices, but each UART can > have different features like; IRDA, Smart card, RS485, sync mode > (USART), DMA, hardware RTS/CTS pins and full modem pins. > Features also differ between UARTs on the same device. > > I am thinking about either using different comp strings or some kind > of feature flags in DT. (Freescale UART already uses feature flags > like: "fsl,irda-mode" and "fsl,uart-has-rtscts") I would probably specify both then, to give more flexibility to the driver in implementing it one way or the other. > All UARTs on LPC1850 have RS485 and DMA support. In additional you have: > UART0,2,3: sync mode and smart card. > UART3: IRDA > UART1: full modem control pin set. > > Comp strings could be something like: > "nxp,lpc1850-usart" <- sync+smart card > "nxp,lpc1850-usart-irda" <- sync+smart card+irda > "nxp,lpc1850-uart-modem" <- modem-pins > > or feature flags like: > nxp,sync-mode; > nxp,rs485-mode; > nxp,smart-card; > nxp,irda-mode; > nxp,full-modem; For cases where a single chip has uarts with different features, using feature flags makes most sense, you can probably skip assigning different compatible strings there. Arnd -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html