21 Jul, 2019

15 commits

  • Use LPDDR4-100 sdram timings dtsi for Rockpro64 board.

    All these timings are processed during TPL stage of rockpro64 board,
    bootchain. This make TPL would replace rockchip in house rkbin in
    current bootchain.

    Bootchain after and before this change:

    TPL -> SPL -> U-Boot proper

    rkbin -> SPL -> U-Boot proper

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Add sdram timings for LPDDR4-100 via rk3399-sdram-lpddr4-100.dtsi file.
    all timings are dumped from rkbin/bin/rk33/rk3399_ddr_800MHz_v1.20.bin

    Associated LPDDR4 board -u-boot.dtsi can include this to make these
    timings available during SPL or TPL stages.

    Signed-off-by: Jagan Teki
    Signed-off-by: YouMin Chen
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Due to foot-print issues, we have LPDDR4 code can be
    marked as CONFIG_RAM_RK3399_LPDDR4.

    So, enable it for Rock-PI-4 board.

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Due to foot-print issues, we have LPDDR4 code can be
    marked as CONFIG_RAM_RK3399_LPDDR4.

    So, enable it for Rockpro64 board.

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • DDR set rate can be even required for lpddr4 and we
    need to keep the lpddr4 code to compile only for relevant
    boards which do support lpddr4.

    For this requirement, and for code readability handle
    data training via sdram_rk3399_ops with .set_rate and
    same will update in future while supporting lpddr4 code.

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • LPDDR4 initialization start with at board selected frequency
    and then it switches into 400MHz and 800MHz simultaneously to
    make the proper sequence work on each channel with associated
    training.

    So, add LPDDR4-800 timings inc file in driver area so-that
    these timings will take during LPDDR4 initialization phase.

    Signed-off-by: Jagan Teki
    Signed-off-by: YouMin Chen
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • LPDDR4 initialization start with at board selected frequency
    and then it switches into 400MHz and 800MHz simultaneously to
    make the proper sequence work on each channel with associated
    training.

    So, add LPDDR4-400 timings inc file in driver area so-that
    these timings will take during LPDDR4 initialization phase.

    Signed-off-by: Jagan Teki
    Signed-off-by: YouMin Chen
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Add support for setting 400MHz ddr clock.

    Signed-off-by: Jagan Teki
    Signed-off-by: YouMin Chen
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Add support for setting 50MHz ddr clock.

    Signed-off-by: Jagan Teki
    Signed-off-by: YouMin Chen
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Add u-boot,dm-pre-reloc property for pmu in rk3399-u-boot.dtsi
    so-that SPL can access pmu.

    Signed-off-by: Jagan Teki
    Signed-off-by: YouMin Chen
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Add pmu compatible with relevant U_BOOT_DRIVER for rk3399
    via syscon rk3399 driver.

    Signed-off-by: Jagan Teki
    Signed-off-by: YouMin Chen
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Add pmu header file for rk3399 SoC, this will help
    to configure pmu in sdram driver.

    Signed-off-by: Jagan Teki
    Signed-off-by: YouMin Chen
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Like data training in other sdram types, mr detection need
    to taken care for lpddr4 with looped rank and associated
    channel to make sure the proper configuration held.

    Once the mr detection successful for active and configured
    rank with channel number, the same can later reused during
    actual LPDDR4 initialization.

    So, add code to support for it.

    Signed-off-by: Jagan Teki
    Signed-off-by: YouMin Chen
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • data training can be even required for lpddr4 and we
    need to keep the lpddr4 code to compile only for relevant
    boards which do support lpddr4.

    For this requirement, and for code readability handle
    data training via sdram_rk3399_ops and same will update
    in future while supporting lpddr4 code.

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • data training is using chan_info as first argument with
    channel number as second argument instead of that use
    dram_info as first argument so-that we can get the
    chan_info at data training definition.

    This was the argument handling is meaningful, readable
    and it would help to add similar data training for
    lpddr4 in future.

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki
     

20 Jul, 2019

25 commits