freebsd-dev/sys/arm/freescale/imx
Ian Lepore 7e7ef41632 Fix imx6 hdmi init after r323553, which used a config_intrhook to defer the
attachment of i2c devices needed by hdmi.

The hdmi init also uses an intrhook callback to defer initialization, and if
the hdmi callback runs first, the i2c devices will not yet have registered
their device_t in association with their FDT phandle, which allows cross-
device references on FDT systems.

Now the hdmi deferred init checks for the i2c device registration, and if
it's not complete yet, it registers as an eventhandler watching for newbus
attach events.  When the i2c device eventually attaches, the hdmi driver
unregisters from watching further events, and continues with the hdmi init.
Because the function signatures for an intrhook callback and an event
handler callback are the same, a single function is used for both callbacks.

Reported by:	Russell Haley <russ.haley@gmail.com>
2017-10-08 18:38:22 +00:00
..
files.imx5 Start to rename files with common or generic names to be SoC specific. The 2017-06-04 09:11:14 +00:00
files.imx6 Add i.MX6 and Xilinx to GENERIC. 2017-09-24 09:33:08 +00:00
imx6_ahci.c Define a single instance of ahci_devclass and reference it from all the 2017-10-02 02:58:28 +00:00
imx6_anatop.c Add the missing void to function signatures in much of the arm code. 2016-12-13 13:43:22 +00:00
imx6_anatopreg.h Add support for audio transmitting, include drivers for: 2015-01-24 13:07:07 +00:00
imx6_anatopvar.h Add support for audio transmitting, include drivers for: 2015-01-24 13:07:07 +00:00
imx6_audmux.c Stop including fdt_common.h from the arm code when it's unneeded. 2016-11-14 11:41:22 +00:00
imx6_ccm.c Add an ahci driver for imx6. 2017-08-03 14:43:41 +00:00
imx6_ccmreg.h Add an ahci driver for imx6. 2017-08-03 14:43:41 +00:00
imx6_hdmi.c Fix imx6 hdmi init after r323553, which used a config_intrhook to defer the 2017-10-08 18:38:22 +00:00
imx6_ipu.c Stop including fdt_common.h from the arm code when it's unneeded. 2016-11-14 11:41:22 +00:00
imx6_machdep.c Add external PLATFORM access on arm, and use it in the pl310 driver. 2017-07-11 16:30:16 +00:00
imx6_machdep.h Add external PLATFORM access on arm, and use it in the pl310 driver. 2017-07-11 16:30:16 +00:00
imx6_mp.c Start to move the arm *_mp.h to be names *_machdep.h. These will be used 2017-07-10 15:27:53 +00:00
imx6_pl310.c Add external PLATFORM access on arm, and use it in the pl310 driver. 2017-07-11 16:30:16 +00:00
imx6_sdma.c [iMX6] Fix SDMA driver build 2016-12-21 01:38:44 +00:00
imx6_sdma.h [iMX6] Fix SDMA driver build 2016-12-21 01:38:44 +00:00
imx6_snvs.c Add a driver for the imx6 on-chip realtime clock. 2017-07-04 18:38:34 +00:00
imx6_src.c Add the missing void to function signatures in much of the arm code. 2016-12-13 13:43:22 +00:00
imx6_src.h - Add driver for System-Reset-Controler i.MX6 module 2015-11-13 23:47:41 +00:00
imx6_ssi.c [iMX6] Fix build for SSI driver and add dependency for SDMA driver 2016-12-21 01:32:19 +00:00
imx6_usbphy.c Support the "disable-over-current" property for imx ehci controllers. 2017-07-13 02:16:15 +00:00
imx51_ccm.c Make the imx5 clocks driver work with vendor-supplied dts (which does not 2017-03-18 17:50:49 +00:00
imx51_ccmreg.h
imx51_ccmvar.h
imx51_dpllreg.h
imx51_ipuv3_fbd.c Use the correct OF_getencprop over OF_getprop + fdt32_to_cpu to read 2016-11-14 12:03:08 +00:00
imx51_ipuv3.c Use the correct OF_getencprop over OF_getprop + fdt32_to_cpu to read 2016-11-14 12:03:08 +00:00
imx51_ipuv3reg.h
imx51_machdep.c Enable MULTIDELAY in the i.MX5 kernel configs. This will help adding them 2017-06-03 15:39:23 +00:00
imx51_sdmareg.h
imx51_ssireg.h
imx51_tzicreg.h
imx53_machdep.c Enable MULTIDELAY in the i.MX5 kernel configs. This will help adding them 2017-06-03 15:39:23 +00:00
imx_ccmvar.h Add an ahci driver for imx6. 2017-08-03 14:43:41 +00:00
imx_common.c Restrict where we need to define fdt_fixup_table to just PowerPC and 2016-09-23 14:11:23 +00:00
imx_console.c Start to rename files with common or generic names to be SoC specific. The 2017-06-04 09:11:14 +00:00
imx_epit.c Move the simple armv6 only timer drivers to require MULTIDELAY to help 2017-07-04 18:07:09 +00:00
imx_gpio.c Add gpio methods to read/write/configure up to 32 pins simultaneously. 2017-09-10 18:08:25 +00:00
imx_gpt.c Move the simple armv6 only timer drivers to require MULTIDELAY to help 2017-07-04 18:07:09 +00:00
imx_gptreg.h
imx_i2c.c Defer attaching and probing iicbus and its children until interrupts are 2017-09-13 16:54:27 +00:00
imx_iomux.c Fix the interface to imx_iomux_gpr_get/set(). The functions were defined 2017-08-02 18:28:06 +00:00
imx_iomuxreg.h Add an ahci driver for imx6. 2017-08-03 14:43:41 +00:00
imx_iomuxvar.h Fix the interface to imx_iomux_gpr_get/set(). The functions were defined 2017-08-02 18:28:06 +00:00
imx_machdep.c Handle imx6 erratum ERR004346... to reboot, clear the SRS bit twice within 2017-01-24 02:09:30 +00:00
imx_machdep.h Add code/constants for detecting imx6ul (ultralite) chips, a species of 2017-04-09 20:59:12 +00:00
imx_nop_usbphy.c
imx_wdog.c Stop including fdt_common.h from the arm code when it's unneeded. 2016-11-14 11:41:22 +00:00
imx_wdogreg.h Rename sysctl node hw.imx6 to hw.imx. Move its definition to imx_machdep.c 2015-11-26 17:26:52 +00:00
std.imx6 Tag all armv7 kernels as such in their machine config line. 2017-10-05 23:01:50 +00:00
std.imx51 Tag all armv7 kernels as such in their machine config line. 2017-10-05 23:01:50 +00:00
std.imx53 Tag all armv7 kernels as such in their machine config line. 2017-10-05 23:01:50 +00:00
tzic.c Convert the imx5 interrupt controller driver to INTRNG. 2017-03-19 18:30:38 +00:00