I have sorted the touchscreen on the SAMA5D2 - minor errors in the init code "as supplied" meaning a couple of registers were not set up right.
I have also found that priority inheritance is needed, at least for the ADC example app: I've not sat back or read my books to see why, but it works for now. The issue I now have is that the call to close the ADC device, as opened by the example app, calls sam_adc_shutdown which disables interrupts and detaches them: up_disable_irq(SAM_IRQ_ADC) irq_detach(SAM_IRQ_ADC) Some other arch adc drivers do this too. The problem is that the enabling and attaching is done from sam_adc_initialize, therefore when the device is first registered from board_bringug. The result is that you can never again open the adc for business until a board reset. That doesn't seem right to me? The easy option is to comment out the two calls, but I don't know if that's deemed acceptable, especially as other adc drivers do the same?