thanks for replayng ; you have a 3228 and not a 3229 , probabily a 3228b
00000000 52 4b 23 82 the numbers 23 82 are 3228 in reverse mode
so you must use trust os for 3228, the trust os for 3229 simply will not boot the board but this you already knew
regarding the changing in code in kernel I did the following ( but no changes in code, maybe in make config ) :
in my long post linux on 3229 I used too the kernel 4.4.189 and it worked fine. I booted in 4.4.189 and take the config.gz and then recompile 4.4.194 with that same .config and it worked with SAME dtb .
last info : I am pretty sure you have uart debug. At very early booting ( power on) what ddr it says ?
ddr3 or ddr2 ? because ddr2 on 3228 HAVEN'T dmc ( ddr frequency scaling) so they will run at the speed that uboot set , probabily at 333 mhz ( all this infos thanks to @knaerzche that explained in his work on libreelec ).
If you have ddr2 you must DISABLE dmc node in dtb
boards with 3228b and ddr2..... well.... they are a bit slower than others
i realized the different behaviour from kernel 4.4.194 to 4.4.189
in @jock config many thing are compiled as modules so then you must insert right modules under /lib/modules
in 4.4.189 compilation many things are compiled IN kernel so they work out of box, but yet you should check if have ddr2 or ddr3