
Hi Heiko,
On Thu, Jan 9, 2020 at 5:26 AM Heiko Schocher hs@denx.de wrote:
Hmm.. I wonder ... if you want to detect the revd1, you must access the pmic in SPL, so you need a DTS in which it is configured, also DM PMIC support in SPL ... which introduces a lot of dependencies starting with enabling CONFIG_SPL_DM and blows up SPL ... :-(
Yes, as we are very memory limited in SPL, so what about just probing the I2C bus directly at 0x8 via I2C API to detect the presence of the PMIC?
This way we do not need DM PMIC support in SPL.
Do we need to mark I2C with 'u-boot,dm-pre-reloc;' too and create a arch/arm/dts/imx6qdl-wandboard-u-boot.dtsi ?
2 problems I see:
reorder board_fit_config_name_match
see attached patch: 0001-wandboard-reorder-board_fit_config_name_match.patch
With this patch (based on your patches) and hack [2] U-Boot works also again.
detect rev D1 board (remaining problem)
board_fit_config_name_match() is called from board_fit_config_name_match, so from SPL where you have no access (yet?) to pmic_get(), and so is_revd1() is always 0 -> which leads to wrong DTB selection.
First question: other possibility to detect revision D1 ?
may only probing the chip is enough ?
As far as I know probing the PMIC chip is the only way to detect D1.
Should we use instead CONFIG_DTB_RESELECT ?
Not familiar with CONFIG_DTB_RESELECT, sorry.
This is the way to go I think, added patches: 0002-wandboard-enable-CONFIG_DTB_RESELECT.patch 0003-wandboard-use-imx6dl-wandboard-revd1-as-default-DTB.patch 0004-wandboard-add-u-boot-specific-wandboard-revd1-u-boot.patch 0005-wandboard-in-SPL-use-only-D1-DTB.patch
with them, after a soft reset all works fine, see [3] but on power on I see [4] :-(
Any idea, why after a power on, pmic does not work?
Interesting, I do not see this behavior with a imx6qp wandboard revd1.
I have seen I2C errors when booting with an HDMI cable connected: https://lists.denx.de/pipermail/u-boot/2019-December/393503.html
,but haven't had a chance to debug this yet.
Regards,
Fabio Estevam