Am Mittwoch, den 05.07.2017, 12:41 +0000 schrieb Mayur Nande: > Hello all, > > I have a question regarding the earliest possible GPIO toggle with > barebox on imx6. We use boards with imx6 quad core processor (from > Phytec). In our hardware design we have a push button controller which > has a "KILL" pin attached to one of the GPIO pins on i.mx6. The > requirement is that this pin should be set to 1 within 400 ms of power > on. I tried setting this at various places in barebox with incremental > improvements starting from the init script, board.c, lowlevel.c and > then DCD/lowlevel.c combination. > > The best performance I got was by setting the iomux registers > (IOMUXC_SW_MUX_CTL_PAD and IOMUXC_SW_PAD_CTL_PAD) in DCD and the GPIO > direction and value registers in lowlevel.c (since GPIO controller > registers are not accessible with DCD). Even with this, I get the GPIO > set in around 460-475ms at the best. I understand that some of the > time here is used by the hardware for voltage regulation/crystal > stabilization which probably we can't do anything about. If lowlevel.c is too late already, the only chance to make this work is setting the DCD padctl to configure a pull-up/down to satisfy the KILL pin. Then in the board file set up the GPIO and switch the padctl to neutral state. Still 400ms sound like a awfully long time to reach lowlevel init. What is your boot source, i.e. where is the barebox binary stored? Regards, Lucas _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox