question of the probe sequence of ADRV9009 and AD9528 device?

Hi , 

We have an “A10SOC + AD9009” customer board, we're checking the SPI initailization of "AD9528 and AD9009" using Linux Altera 4.14 branch now. 

When Linux Start up, we see that kernel printk shows the device probe sequence is as:


[    1.011346] adrv9009 spi0.1: adrv9009_probe : enter        /// first enter this adrv9009_probe() !!! 
[    1.016601] ad9528 spi0.0: ad9528_probe : enter            // then enter the  ad9528_probe  !!! 
[ 1.021205] ad9528 spi0.0: spi0.0 supply vcc not found, using dummy regulator


MY puzzle is  why the Device Initialization sequence is "  adrv9009 spi0.1 ->  then -> ad9528 spi0.0 " ,   WHY it is not  ad9528 probe  earlier than ad9009 probe ?  Is there any dependency ?

In device tree file "\arch\arm\boot\dts\adi-adrv9009.dtsi " , the "ad9528-1@0" is in front than the "adrv9009-phy@1" as following, thus the general understanding is " "ad9528-1@0"   SHOULD be probe and be initialized earlier than AD9009 , right  ?


&fmc_spi {

    clk0_ad9528: ad9528-1@0 {
        compatible = "adi,ad9528";
        reg = <0>;


    trx0_adrv9009: adrv9009-phy@1 {
        compatible = "adi,adrv9009";
        reg = <1>;


This is critical for us, coz we want AD9528 be configured firstly,  Thanks a lot