This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5718: Debug console issue

Part Number: AM5718
Other Parts Discussed in Thread: TPS51200, DRA752, DA8XX

Tool/software: Linux

Hi,

Earlier we have worked on the ti-processor-sdk-linux-am57xx-evm-02.00.01.07. Present we are working on i-processor-sdk-linux-am57xx-evm-04.03.00.05. with this version we are not getting any messages on the console. please find u-boot patch. Please help on what went wrong.

uboot.patch.tar.gz

Thanks & Regards,

N.V.Subbaiah.

  • Can you add
    stdout-path = &uart1;

    to your .dts file?

    Steve K.
  • Hi,

    Thanks for the response. We have tried updating the dts file as per your comment also. Still we are not getting any boot messages. Please find the patch,

    iff --git a/arch/arm/dts/am57xx-idk-common.dtsi b/arch/arm/dts/am57xx-idk-common.dtsi
    index 62954c7..76c1e45 100644
    --- a/arch/arm/dts/am57xx-idk-common.dtsi
    +++ b/arch/arm/dts/am57xx-idk-common.dtsi
    @@ -10,14 +10,14 @@

    / {
    aliases {
    - rtc0 = &tps659038_rtc;
    - rtc1 = &rtc;
    + //rtc0 = &tps659038_rtc;
    + //rtc1 = &rtc;
    };

    chosen {
    - stdout-path = &uart3;
    + stdout-path = &uart1;
    };
    -
    + /*
    vmain: fixedregulator-vmain {
    compatible = "regulator-fixed";
    regulator-name = "VMAIN";
    @@ -26,7 +26,7 @@
    regulator-always-on;
    regulator-boot-on;
    };
    -
    +
    v3_3d: fixedregulator-v3_3d {
    compatible = "regulator-fixed";
    regulator-name = "V3_3D";
    @@ -36,9 +36,18 @@
    regulator-always-on;
    regulator-boot-on;
    };
    -
    + */
    + evm_3v3_sd: fixedregulator-sd {
    + compatible = "regulator-fixed";
    + regulator-name = "evm_3v3_sd";
    + regulator-min-microvolt = <3300000>;
    + regulator-max-microvolt = <3300000>;
    + enable-active-high;
    + //gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>;
    + };
    + /*
    vtt_fixed: fixedregulator-vtt {
    - /* TPS51200 */
    + // TPS51200 //
    compatible = "regulator-fixed";
    regulator-name = "vtt_fixed";
    vin-supply = <&v3_3d>;
    @@ -46,251 +55,173 @@
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    regulator-boot-on;
    + };*/
    + vtt_fixed: fixedregulator-vtt {
    + /* TPS51200 */
    + compatible = "regulator-fixed";
    + regulator-name = "vtt_fixed";
    + //vin-supply = <&sysen2>;
    + regulator-min-microvolt = <1350000>;
    + regulator-max-microvolt = <1350000>;
    + regulator-boot-on;
    + regulator-always-on;
    + enable-active-high;
    + gpio = <&gpio7 7 GPIO_ACTIVE_HIGH>;
    };
    +
    };

    &i2c1 {
    status = "okay";
    clock-frequency = <400000>;

    - tps659038: tps659038@58 {
    - compatible = "ti,tps659038";
    + tps65917: tps65917@58 {
    + compatible = "ti,tps65917";
    reg = <0x58>;
    - interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH
    - &dra7_pmx_core 0x418>;
    - #interrupt-cells = <2>;
    - interrupt-controller;
    ti,system-power-controller;

    - tps659038_pmic {
    - compatible = "ti,tps659038-pmic";
    + tps65917_pmic {
    + compatible = "ti,tps65917-pmic";
    +
    + smps1-in-supply = <&evm_3v3_sd>;
    + smps2-in-supply = <&evm_3v3_sd>;
    + smps3-in-supply = <&evm_3v3_sd>;
    + smps4-in-supply = <&evm_3v3_sd>;
    + smps5-in-supply = <&evm_3v3_sd>;
    + ldo1-in-supply = <&evm_3v3_sd>;
    + ldo2-in-supply = <&evm_3v3_sd>;
    + ldo3-in-supply = <&evm_3v3_sd>;
    + ldo4-in-supply = <&evm_3v3_sd>;
    + ldo5-in-supply = <&evm_3v3_sd>;
    +

    - smps12-in-supply = <&vmain>;
    - smps3-in-supply = <&vmain>;
    - smps45-in-supply = <&vmain>;
    - smps6-in-supply = <&vmain>;
    - smps7-in-supply = <&vmain>;
    - smps8-in-supply = <&vmain>;
    - smps9-in-supply = <&vmain>;
    - ldo1-in-supply = <&vmain>;
    - ldo2-in-supply = <&vmain>;
    - ldo3-in-supply = <&vmain>;
    - ldo4-in-supply = <&vmain>;
    - ldo9-in-supply = <&vmain>;
    - ldoln-in-supply = <&vmain>;
    - ldousb-in-supply = <&vmain>;
    - ldortc-in-supply = <&vmain>;

    regulators {
    - smps12_reg: smps12 {
    + smps1_reg: smps1 {
    /* VDD_MPU */
    - regulator-name = "smps12";
    + regulator-name = "smps1";
    regulator-min-microvolt = <850000>;
    regulator-max-microvolt = <1250000>;
    regulator-always-on;
    regulator-boot-on;
    };

    - smps3_reg: smps3 {
    - /* VDD_DDR EMIF1 EMIF2 */
    - regulator-name = "smps3";
    - regulator-min-microvolt = <1350000>;
    - regulator-max-microvolt = <1350000>;
    - regulator-always-on;
    - regulator-boot-on;
    - };
    -
    - smps45_reg: smps45 {
    - /* VDD_DSPEVE on AM572 */
    - /* VDD_IVA + VDD_DSP on AM571 */
    - regulator-name = "smps45";
    + smps2_reg: smps2 {
    + /* VDD_CORE */
    + regulator-name = "smps2";
    regulator-min-microvolt = <850000>;
    - regulator-max-microvolt = <1250000>;
    - regulator-always-on;
    + regulator-max-microvolt = <1150000>;
    regulator-boot-on;
    + regulator-always-on;
    };

    - smps6_reg: smps6 {
    - /* VDD_GPU */
    - regulator-name = "smps6";
    + smps3_reg: smps3 {
    + /* VDD_GPU IVA DSPEVE */
    + regulator-name = "smps3";
    regulator-min-microvolt = <850000>;
    regulator-max-microvolt = <1250000>;
    - regulator-always-on;
    regulator-boot-on;
    + regulator-always-on;
    };

    - smps7_reg: smps7 {
    - /* VDD_CORE */
    - regulator-name = "smps7";
    - regulator-min-microvolt = <850000>;
    - regulator-max-microvolt = <1150000>;
    + smps4_reg: smps4 {
    + /* VDDS1V8 */
    + regulator-name = "smps4";
    + regulator-min-microvolt = <1800000>;
    + regulator-max-microvolt = <1800000>;
    regulator-always-on;
    regulator-boot-on;
    };

    - smps8_reg: smps8 {
    - /* 5728 - VDD_IVAHD */
    - /* 5718 - N.C. test point */
    - regulator-name = "smps8";
    - };
    -
    - smps9_reg: smps9 {
    - /* VDD_3_3D */
    - regulator-name = "smps9";
    - regulator-min-microvolt = <3300000>;
    - regulator-max-microvolt = <3300000>;
    - regulator-always-on;
    + smps5_reg: smps5 {
    + /* VDD_DDR */
    + regulator-name = "smps5";
    + regulator-min-microvolt = <1350000>;
    + regulator-max-microvolt = <1350000>;
    regulator-boot-on;
    + regulator-always-on;
    };

    ldo1_reg: ldo1 {
    - /* VDDSHV8 - VSDMMC */
    - /* NOTE: on rev 1.3a, data supply */
    + /* LDO1_OUT --> SDIO */
    regulator-name = "ldo1";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;
    - regulator-boot-on;
    regulator-always-on;
    + regulator-boot-on;
    };

    ldo2_reg: ldo2 {
    - /* VDDSH18V */
    + /* LDO2_OUT --> TP1017 (UNUSED) */
    regulator-name = "ldo2";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    - regulator-always-on;
    - regulator-boot-on;
    };

    ldo3_reg: ldo3 {
    - /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */
    + /* VDDA_1V8_PHY */
    regulator-name = "ldo3";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    - regulator-always-on;
    regulator-boot-on;
    - };
    -
    - ldo4_reg: ldo4 {
    - /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/
    - regulator-name = "ldo4";
    - regulator-min-microvolt = <1800000>;
    - regulator-max-microvolt = <1800000>;
    regulator-always-on;
    - regulator-boot-on;
    };

    - /* LDO5-8 unused */
    -
    - ldo9_reg: ldo9 {
    - /* VDD_RTC */
    - regulator-name = "ldo9";
    - regulator-min-microvolt = <840000>;
    - regulator-max-microvolt = <1160000>;
    - regulator-always-on;
    - regulator-boot-on;
    - };
    -
    - ldoln_reg: ldoln {
    + ldo5_reg: ldo5 {
    /* VDDA_1V8_PLL */
    - regulator-name = "ldoln";
    + regulator-name = "ldo5";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-always-on;
    regulator-boot-on;
    };

    - ldousb_reg: ldousb {
    + ldo4_reg: ldo4 {
    /* VDDA_3V_USB: VDDA_USBHS33 */
    - regulator-name = "ldousb";
    + regulator-name = "ldo4";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    - regulator-always-on;
    regulator-boot-on;
    };
    -
    - ldortc_reg: ldortc {
    - /* VDDA_RTC */
    - regulator-name = "ldortc";
    - regulator-min-microvolt = <1800000>;
    - regulator-max-microvolt = <1800000>;
    - regulator-always-on;
    - regulator-boot-on;
    - };
    -
    - regen1: regen1 {
    - /* VDD_3V3_ON */
    - regulator-name = "regen1";
    - regulator-boot-on;
    - regulator-always-on;
    - };
    -
    - regen2: regen2 {
    - /* Needed for PMIC internal resource */
    - regulator-name = "regen2";
    - regulator-boot-on;
    - regulator-always-on;
    - };
    };
    };
    -
    - tps659038_rtc: tps659038_rtc {
    - compatible = "ti,palmas-rtc";
    - interrupt-parent = <&tps659038>;
    - interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
    - wakeup-source;
    - };
    -
    - tps659038_pwr_button: tps659038_pwr_button {
    - compatible = "ti,palmas-pwrbutton";
    - interrupt-parent = <&tps659038>;
    - interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
    - wakeup-source;
    - ti,palmas-long-press-seconds = <12>;
    - };
    -
    - tps659038_gpio: tps659038_gpio {
    - compatible = "ti,palmas-gpio";
    - gpio-controller;
    - #gpio-cells = <2>;
    - };
    };
    };

    -&uart3 {
    +&uart1 {
    status = "okay";
    - interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH
    - &dra7_pmx_core 0x248>;
    + //interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH
    + // &dra7_pmx_core 0x248>;
    };
    -
    +/*
    &rtc {
    status = "okay";
    ext-clk-src;
    };
    -
    +*/
    &mac {
    status = "okay";
    - dual_emac;
    + //dual_emac;
    };

    &cpsw_emac0 {
    phy_id = <&davinci_mdio>, <0>;
    - phy-mode = "rgmii";
    - dual_emac_res_vlan = <1>;
    + phy-mode = "rmii";
    + //dual_emac_res_vlan = <1>;
    };
    -
    +/*
    &cpsw_emac1 {
    phy_id = <&davinci_mdio>, <1>;
    phy-mode = "rgmii";
    dual_emac_res_vlan = <2>;
    };
    -
    +*/
    &usb2_phy1 {
    - phy-supply = <&ldousb_reg>;
    + phy-supply = <&ldo4_reg>;
    };

    &usb2_phy2 {
    - phy-supply = <&ldousb_reg>;
    + phy-supply = <&ldo4_reg>;
    };

    &usb1 {
    @@ -298,32 +229,34 @@
    };

    &usb2 {
    - dr_mode = "otg";
    + dr_mode = "host";
    };

    &mmc1 {
    status = "okay";
    - vmmc-supply = <&v3_3d>;
    - vmmc_aux-supply = <&ldo1_reg>;
    + vmmc-supply = <&evm_3v3_sd>;
    + //vmmc_aux-supply = <&ldo1_reg>;
    bus-width = <4>;
    cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
    + /*
    /delete-property/ sd-uhs-sdr104;
    /delete-property/ sd-uhs-sdr50;
    /delete-property/ sd-uhs-ddr50;
    /delete-property/ sd-uhs-sdr25;
    /delete-property/ sd-uhs-sdr12;
    + */
    };

    &mmc2 {
    status = "okay";
    - vmmc-supply = <&v3_3d>;
    + vmmc-supply = <&evm_3v3_sd>;
    bus-width = <8>;
    ti,non-removable;
    - max-frequency = <96000000>;
    - no-1-8-v;
    - /delete-property/ mmc-hs200-1_8v;
    + //max-frequency = <96000000>;
    + //no-1-8-v;
    + ///delete-property/ mmc-hs200-1_8v;
    };
    -
    +#if 0
    &qspi {
    status = "okay";

    @@ -372,3 +305,4 @@
    };
    };
    };
    +#endif
    diff --git a/arch/arm/mach-omap2/hwinit-common.c b/arch/arm/mach-omap2/hwinit-common.c
    index f701239..6e04d4b 100644
    --- a/arch/arm/mach-omap2/hwinit-common.c
    +++ b/arch/arm/mach-omap2/hwinit-common.c
    @@ -208,6 +208,8 @@ void board_init_f(ulong dummy)
    board_early_init_f();
    #endif
    /* For regular u-boot sdram_init() is called from dram_init() */
    + //preloader_console_init();
    + //debug("\n console init ");
    sdram_init();
    gd->ram_size = omap_sdram_size();
    }
    diff --git a/board/ti/am57xx/Kconfig b/board/ti/am57xx/Kconfig
    index cead0f4..9b9b792 100644
    --- a/board/ti/am57xx/Kconfig
    +++ b/board/ti/am57xx/Kconfig
    @@ -12,7 +12,7 @@ config SYS_CONFIG_NAME
    config CONS_INDEX
    int "UART used for console"
    range 1 6
    - default 3
    + default 1
    help
    The AM57x (and DRA7xx) SoC has a total of 6 UARTs available to it.
    Depending on your specific board you may want something other than UART3
    diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
    index f5f6dff..919e155 100644
    --- a/board/ti/am57xx/board.c
    +++ b/board/ti/am57xx/board.c
    @@ -33,6 +33,8 @@

    #include "../common/board_detect.h"
    #include "mux_data.h"
    +#include <miiphy.h>
    +#include <cpsw.h>

    #define board_is_x15() board_ti_is("BBRDX15_")
    #define board_is_x15_revb1() (board_ti_is("BBRDX15_") && \
    @@ -54,8 +56,8 @@
    DECLARE_GLOBAL_DATA_PTR;

    #define GPIO_ETH_LCD GPIO_TO_PIN(2, 22)
    -/* GPIO 7_11 */
    -#define GPIO_DDR_VTT_EN 203
    +/* GPIO 7_07 */
    +#define GPIO_DDR_VTT_EN 199

    /* Touch screen controller to identify the LCD */
    #define OSD_TS_FT_BUS_ADDRESS 0
    @@ -80,16 +82,17 @@ const struct omap_sysinfo sysinfo = {
    };

    static const struct dmm_lisa_map_regs beagle_x15_lisa_regs = {
    - .dmm_lisa_map_3 = 0x80740300,
    + .dmm_lisa_map_3 = 0x80640100,
    .is_ma_present = 0x1
    };

    static const struct dmm_lisa_map_regs am571x_idk_lisa_regs = {
    - .dmm_lisa_map_3 = 0x80640100,
    + .dmm_lisa_map_3 = 0x80640100,
    .is_ma_present = 0x1
    };

    static const struct dmm_lisa_map_regs am574x_idk_lisa_regs = {
    +
    .dmm_lisa_map_2 = 0xc0600200,
    .dmm_lisa_map_3 = 0x80600100,
    .is_ma_present = 0x1
    @@ -97,33 +100,42 @@ static const struct dmm_lisa_map_regs am574x_idk_lisa_regs = {

    void emif_get_dmm_regs(const struct dmm_lisa_map_regs **dmm_lisa_regs)
    {
    - if (board_is_am571x_idk())
    - *dmm_lisa_regs = &am571x_idk_lisa_regs;
    + if (board_is_am571x_idk())
    + {
    + *dmm_lisa_regs = &am571x_idk_lisa_regs;
    + printf("\n Board is AM571x");
    + }
    else if (board_is_am574x_idk())
    + {
    *dmm_lisa_regs = &am574x_idk_lisa_regs;
    + printf("\n Board is AM574x");
    + }
    else
    + {
    *dmm_lisa_regs = &beagle_x15_lisa_regs;
    + printf("\n Board is Beagle-X15");
    + }
    }


    static const struct emif_regs am574x_emif1_ddr3_666mhz_emif_ecc_regs = {
    @@ -323,7 +336,7 @@ struct vcores_data beagle_x15_volts = {
    .mpu.value[OPP_NOM] = VDD_MPU_DRA7_NOM,
    .mpu.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_MPU_NOM,
    .mpu.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .mpu.addr = TPS659038_REG_ADDR_SMPS12,
    + .mpu.addr = TPS65917_REG_ADDR_SMPS1,
    .mpu.pmic = &tps659038,
    .mpu.abb_tx_done_mask = OMAP_ABB_MPU_TXDONE_MASK,

    @@ -334,7 +347,7 @@ struct vcores_data beagle_x15_volts = {
    .eve.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_DSPEVE_OD,
    .eve.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_DSPEVE_HIGH,
    .eve.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .eve.addr = TPS659038_REG_ADDR_SMPS45,
    + .eve.addr = TPS65917_REG_ADDR_SMPS3,
    .eve.pmic = &tps659038,
    .eve.abb_tx_done_mask = OMAP_ABB_EVE_TXDONE_MASK,

    @@ -345,14 +358,14 @@ struct vcores_data beagle_x15_volts = {
    .gpu.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_GPU_OD,
    .gpu.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_GPU_HIGH,
    .gpu.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .gpu.addr = TPS659038_REG_ADDR_SMPS45,
    + .gpu.addr = TPS65917_REG_ADDR_SMPS3,
    .gpu.pmic = &tps659038,
    .gpu.abb_tx_done_mask = OMAP_ABB_GPU_TXDONE_MASK,

    .core.value[OPP_NOM] = VDD_CORE_DRA7_NOM,
    .core.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_CORE_NOM,
    .core.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .core.addr = TPS659038_REG_ADDR_SMPS6,
    + .core.addr = TPS65917_REG_ADDR_SMPS2,
    .core.pmic = &tps659038,

    .iva.value[OPP_NOM] = VDD_IVA_DRA7_NOM,
    @@ -362,7 +375,7 @@ struct vcores_data beagle_x15_volts = {
    .iva.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_IVA_OD,
    .iva.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_IVA_HIGH,
    .iva.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .iva.addr = TPS659038_REG_ADDR_SMPS45,
    + .iva.addr = TPS65917_REG_ADDR_SMPS3,
    .iva.pmic = &tps659038,
    .iva.abb_tx_done_mask = OMAP_ABB_IVA_TXDONE_MASK,
    };
    @@ -371,7 +384,7 @@ struct vcores_data am572x_idk_volts = {
    .mpu.value[OPP_NOM] = VDD_MPU_DRA7_NOM,
    .mpu.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_MPU_NOM,
    .mpu.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .mpu.addr = TPS659038_REG_ADDR_SMPS12,
    + .mpu.addr = TPS65917_REG_ADDR_SMPS1,
    .mpu.pmic = &tps659038,
    .mpu.abb_tx_done_mask = OMAP_ABB_MPU_TXDONE_MASK,

    @@ -382,7 +395,7 @@ struct vcores_data am572x_idk_volts = {
    .eve.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_DSPEVE_OD,
    .eve.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_DSPEVE_HIGH,
    .eve.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .eve.addr = TPS659038_REG_ADDR_SMPS45,
    + .eve.addr = TPS65917_REG_ADDR_SMPS3,
    .eve.pmic = &tps659038,
    .eve.abb_tx_done_mask = OMAP_ABB_EVE_TXDONE_MASK,

    @@ -393,14 +406,14 @@ struct vcores_data am572x_idk_volts = {
    .gpu.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_GPU_OD,
    .gpu.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_GPU_HIGH,
    .gpu.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .gpu.addr = TPS659038_REG_ADDR_SMPS6,
    + .gpu.addr = TPS65917_REG_ADDR_SMPS3,
    .gpu.pmic = &tps659038,
    .gpu.abb_tx_done_mask = OMAP_ABB_GPU_TXDONE_MASK,

    .core.value[OPP_NOM] = VDD_CORE_DRA7_NOM,
    .core.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_CORE_NOM,
    .core.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .core.addr = TPS659038_REG_ADDR_SMPS7,
    + .core.addr = TPS65917_REG_ADDR_SMPS2,
    .core.pmic = &tps659038,

    .iva.value[OPP_NOM] = VDD_IVA_DRA7_NOM,
    @@ -410,7 +423,7 @@ struct vcores_data am572x_idk_volts = {
    .iva.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_IVA_OD,
    .iva.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_IVA_HIGH,
    .iva.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .iva.addr = TPS659038_REG_ADDR_SMPS8,
    + .iva.addr = TPS65917_REG_ADDR_SMPS3,
    .iva.pmic = &tps659038,
    .iva.abb_tx_done_mask = OMAP_ABB_IVA_TXDONE_MASK,
    };
    @@ -419,7 +432,7 @@ struct vcores_data am571x_idk_volts = {
    .mpu.value[OPP_NOM] = VDD_MPU_DRA7_NOM,
    .mpu.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_MPU_NOM,
    .mpu.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .mpu.addr = TPS659038_REG_ADDR_SMPS12,
    + .mpu.addr = TPS65917_REG_ADDR_SMPS1,
    .mpu.pmic = &tps659038,
    .mpu.abb_tx_done_mask = OMAP_ABB_MPU_TXDONE_MASK,

    @@ -430,7 +443,7 @@ struct vcores_data am571x_idk_volts = {
    .eve.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_DSPEVE_OD,
    .eve.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_DSPEVE_HIGH,
    .eve.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .eve.addr = TPS659038_REG_ADDR_SMPS45,
    + .eve.addr = TPS65917_REG_ADDR_SMPS3,//TPS659038_REG_ADDR_SMPS45,
    .eve.pmic = &tps659038,
    .eve.abb_tx_done_mask = OMAP_ABB_EVE_TXDONE_MASK,

    @@ -441,14 +454,14 @@ struct vcores_data am571x_idk_volts = {
    .gpu.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_GPU_OD,
    .gpu.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_GPU_HIGH,
    .gpu.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .gpu.addr = TPS659038_REG_ADDR_SMPS6,
    + .gpu.addr = TPS65917_REG_ADDR_SMPS3,//TPS659038_REG_ADDR_SMPS6,
    .gpu.pmic = &tps659038,
    .gpu.abb_tx_done_mask = OMAP_ABB_GPU_TXDONE_MASK,

    .core.value[OPP_NOM] = VDD_CORE_DRA7_NOM,
    .core.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_CORE_NOM,
    .core.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .core.addr = TPS659038_REG_ADDR_SMPS7,
    + .core.addr = TPS65917_REG_ADDR_SMPS2,//TPS659038_REG_ADDR_SMPS7,
    .core.pmic = &tps659038,

    .iva.value[OPP_NOM] = VDD_IVA_DRA7_NOM,
    @@ -458,7 +471,7 @@ struct vcores_data am571x_idk_volts = {
    .iva.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_IVA_OD,
    .iva.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_IVA_HIGH,
    .iva.efuse.reg_bits = DRA752_EFUSE_REGBITS,
    - .iva.addr = TPS659038_REG_ADDR_SMPS45,
    + .iva.addr = TPS65917_REG_ADDR_SMPS3,//TPS659038_REG_ADDR_SMPS45,
    .iva.pmic = &tps659038,
    .iva.abb_tx_done_mask = OMAP_ABB_IVA_TXDONE_MASK,
    };
    @@ -512,6 +525,7 @@ void do_board_detect(void)
    void do_board_detect(void)
    {
    char *bname = NULL;
    +
    int rc;

    rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS,
    @@ -530,14 +544,22 @@ void do_board_detect(void)
    else if (board_is_am571x_idk())
    bname = "AM571x IDK";

    - if (bname)
    - snprintf(sysinfo.board_string, SYSINFO_BOARD_NAME_MAX_LEN,
    + //bname = "AM571x IDK";
    + if (bname)
    + {
    + snprintf(sysinfo.board_string, SYSINFO_BOARD_NAME_MAX_LEN,
    "Board: %s REV %s\n", bname, board_ti_get_rev());
    + }
    + else
    + {
    + printf("\n Board name is NULL");
    + }
    }

    static void setup_board_eeprom_env(void)
    {
    char *name = "beagle_x15";
    +
    int rc;

    rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS,
    @@ -567,7 +589,8 @@ static void setup_board_eeprom_env(void)
    printf("Unidentified board claims %s in eeprom header\n",
    board_ti_get_name());
    }
    -
    +
    + //name = "am571x_idk";
    invalid_eeprom:
    set_board_info_env(name);
    }
    @@ -587,12 +610,15 @@ void vcores_init(void)
    void hw_data_init(void)
    {
    *prcm = &dra7xx_prcm;
    +
    if (is_dra72x())
    *dplls_data = &dra72x_dplls;
    else if (is_dra76x())
    *dplls_data = &dra76x_dplls;
    else
    *dplls_data = &dra7xx_dplls;
    +
    + //*dplls_data = &dra72x_dplls;
    *ctrl = &dra7xx_ctrl;
    }

    @@ -609,11 +635,13 @@ bool am571x_idk_needs_lcd(void)
    gpio_free(GPIO_ETH_LCD);

    return needs_lcd;
    +
    + //return false;
    }

    int board_init(void)
    {
    - gpmc_init();
    + gpmc_init();/*We are not using in SOM*/
    gd->bd->bi_boot_params = (CONFIG_SYS_SDRAM_BASE + 0x100);

    return 0;
    @@ -683,12 +711,13 @@ out:
    __func__);
    hang();
    }
    -
    +
    return;
    }

    int board_late_init(void)
    {
    +
    setup_board_eeprom_env();
    u8 val;

    @@ -722,6 +751,7 @@ int board_late_init(void)
    #if !defined(CONFIG_SPL_BUILD)
    board_ti_set_ethaddr(2);
    #endif
    +
    omap_die_id_serial();
    omap_set_fastboot_vars();

    @@ -771,7 +801,12 @@ void recalibrate_iodelay(void)
    iod_sz = ARRAY_SIZE(iodelay_cfg_array_x15_sr2_0);
    }
    }
    -
    +/*
    + pconf = core_padconf_array_essential_am571x_idk;
    + pconf_sz = ARRAY_SIZE(core_padconf_array_essential_am571x_idk);
    + iod = iodelay_cfg_array_am571x_idk;
    + iod_sz = ARRAY_SIZE(iodelay_cfg_array_am571x_idk);
    +*/
    /* Setup I/O isolation */
    ret = __recalibrate_iodelay_start();
    if (ret)
    @@ -781,6 +816,7 @@ void recalibrate_iodelay(void)
    do_set_mux32((*ctrl)->control_padconf_core_base, pconf, pconf_sz);

    /* Now do the weird minor deltas that should be safe */
    +
    if (board_is_x15() || board_is_am572x_evm()) {
    if (board_is_x15_revb1() || board_is_am572x_evm_reva3() ||
    board_is_x15_revc()) {
    @@ -800,7 +836,9 @@ void recalibrate_iodelay(void)
    delta_iod = iodelay_cfg_array_am571x_idk_4port;
    delta_iod_sz = ARRAY_SIZE(iodelay_cfg_array_am571x_idk_4port);

    - } else {
    + } else
    +
    + {
    pconf = core_padconf_array_icss1eth_am571x_idk;
    pconf_sz = ARRAY_SIZE(core_padconf_array_icss1eth_am571x_idk);
    }
    @@ -1024,12 +1062,12 @@ static struct cpsw_slave_data cpsw_slaves[] = {
    {
    .slave_reg_ofs = 0x208,
    .sliver_reg_ofs = 0xd80,
    - .phy_addr = 1,
    + .phy_addr = 9,
    },
    {
    .slave_reg_ofs = 0x308,
    .sliver_reg_ofs = 0xdc0,
    - .phy_addr = 2,
    + .phy_addr = 1,
    },
    };

    @@ -1118,16 +1156,17 @@ int board_eth_init(bd_t *bis)
    }

    ctrl_val = readl((*ctrl)->control_core_control_io1) & (~0x33);
    - ctrl_val |= 0x22;
    + ctrl_val |= 0x11;/*To enable RMII Interface*/
    writel(ctrl_val, (*ctrl)->control_core_control_io1);

    /* The phy address for the AM57xx IDK are different than x15 */
    if (board_is_am572x_idk() || board_is_am571x_idk() ||
    board_is_am574x_idk()) {
    - cpsw_data.slave_data[0].phy_addr = 0;
    - cpsw_data.slave_data[1].phy_addr = 1;
    + cpsw_data.slave_data[0].phy_addr = 9;
    + //cpsw_data.slave_data[1].phy_addr = 1;
    }
    -
    + cpsw_slaves[0].phy_if = PHY_INTERFACE_MODE_RMII;
    + cpsw_data.slave_data[0].phy_addr = 9;
    ret = cpsw_register(&cpsw_data);
    if (ret < 0)
    printf("Error %d registering CPSW switch\n", ret);
    @@ -1137,11 +1176,11 @@ int board_eth_init(bd_t *bis)
    * On AM57xx the 2 MAC addresses define the address range
    */
    board_ti_get_eth_mac_addr(0, mac_addr1);
    - board_ti_get_eth_mac_addr(1, mac_addr2);
    + //board_ti_get_eth_mac_addr(1, mac_addr2);

    - if (is_valid_ethaddr(mac_addr1) && is_valid_ethaddr(mac_addr2)) {
    + if (is_valid_ethaddr(mac_addr1) /*&& is_valid_ethaddr(mac_addr2)*/) {
    mac1 = mac_to_u64(mac_addr1);
    - mac2 = mac_to_u64(mac_addr2);
    + //mac2 = mac_to_u64(mac_addr2);

    /* must contain an address range */
    num_macs = mac2 - mac1 + 1;
    diff --git a/board/ti/am57xx/mux_data.h b/board/ti/am57xx/mux_data.h
    index 4781d67..f5bbd0e 100644

    --- a/configs/am57xx_evm_defconfig
    +++ b/configs/am57xx_evm_defconfig
    @@ -1,4 +1,5 @@
    CONFIG_ARM=y
    +#CONFIG_OF_EMBED=y
    CONFIG_OMAP54XX=y
    CONFIG_SYS_MALLOC_F_LEN=0x2000
    # CONFIG_SPL_NAND_SUPPORT is not set
    @@ -15,7 +16,7 @@ CONFIG_DRA7_IVA_OPP_HIGH=y
    CONFIG_DRA7_GPU_OPP_HIGH=y
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_USE_BOOTARGS=y
    -CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=am57xevmboard"
    +CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS0,115200 androidboot.console=ttyS0 androidboot.hardware=am57xevmboard"
    CONFIG_SYS_CONSOLE_INFO_QUIET=y
    CONFIG_VERSION_VARIABLE=y
    CONFIG_SPL=y
    diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
    index 5e7ebc8..13b5d41 100644
    --- a/drivers/net/davinci_emac.c
    +++ b/drivers/net/davinci_emac.c
    @@ -287,8 +287,9 @@ static int gen_get_link_speed(int phy_addr)

    if (davinci_eth_phy_read(phy_addr, MII_STATUS_REG, &tmp) &&
    (tmp & 0x04)) {
    -#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
    - defined(CONFIG_MACH_DAVINCI_DA850_EVM)
    +//#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
    +// defined(CONFIG_MACH_DAVINCI_DA850_EVM)
    +#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII)
    davinci_eth_phy_read(phy_addr, MII_LPA, &tmp);

    /* Speed doesn't matter, there is no setting for it in EMAC. */
    @@ -428,8 +429,9 @@ static int davinci_eth_open(struct eth_device *dev, bd_t *bis)
    }
    #endif

    -#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
    - defined(CONFIG_MACH_DAVINCI_DA850_EVM)
    +//#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
    +// defined(CONFIG_MACH_DAVINCI_DA850_EVM)
    +#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII)
    adap_ewrap->c0rxen = adap_ewrap->c1rxen = adap_ewrap->c2rxen = 0;
    adap_ewrap->c0txen = adap_ewrap->c1txen = adap_ewrap->c2txen = 0;
    adap_ewrap->c0miscen = adap_ewrap->c1miscen = adap_ewrap->c2miscen = 0;
    @@ -489,8 +491,9 @@ static int davinci_eth_open(struct eth_device *dev, bd_t *bis)
    writel(1, &adap_emac->RXUNICASTSET);

    /* Enable MII interface and Full duplex mode */
    -#if defined(CONFIG_SOC_DA8XX) || \
    - (defined(CONFIG_OMAP34XX) && defined(CONFIG_DRIVER_TI_EMAC_USE_RMII))
    +//#if defined(CONFIG_SOC_DA8XX) || \
    +// (defined(CONFIG_OMAP34XX) && defined(CONFIG_DRIVER_TI_EMAC_USE_RMII))
    +#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII)
    writel((EMAC_MACCONTROL_MIIEN_ENABLE |
    EMAC_MACCONTROL_FULLDUPLEX_ENABLE |
    EMAC_MACCONTROL_RMIISPEED_100),
    @@ -591,8 +594,9 @@ static void davinci_eth_close(struct eth_device *dev)
    writel(0, &adap_ewrap->EWCTL);
    #endif

    -#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
    - defined(CONFIG_MACH_DAVINCI_DA850_EVM)
    +//#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
    +// defined(CONFIG_MACH_DAVINCI_DA850_EVM)
    +#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII)
    adap_ewrap->c0rxen = adap_ewrap->c1rxen = adap_ewrap->c2rxen = 0;
    adap_ewrap->c0txen = adap_ewrap->c1txen = adap_ewrap->c2txen = 0;
    adap_ewrap->c0miscen = adap_ewrap->c1miscen = adap_ewrap->c2miscen = 0;
    @@ -872,9 +876,10 @@ int davinci_emac_initialize(void)
    return retval;
    }

    -#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
    - defined(CONFIG_MACH_DAVINCI_DA850_EVM) && \
    - !defined(CONFIG_DRIVER_TI_EMAC_RMII_NO_NEGOTIATE)
    +//#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
    +// defined(CONFIG_MACH_DAVINCI_DA850_EVM) && \
    +// !defined(CONFIG_DRIVER_TI_EMAC_RMII_NO_NEGOTIATE)
    +#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII)
    for (i = 0; i < num_phy; i++) {
    if (phy[i].is_phy_connected(i))
    phy[i].auto_negotiate(i);
    diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h
    index 429f7ca..eeb215a 100644
    --- a/include/configs/am57xx_evm.h
    +++ b/include/configs/am57xx_evm.h
    @@ -32,7 +32,7 @@
    #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
    #define CONFIG_SYS_REDUNDAND_ENVIRONMENT

    -#define CONSOLEDEV "ttyO2"
    +#define CONSOLEDEV "ttyO0"
    #define CONFIG_SYS_NS16550_COM1 UART1_BASE /* Base EVM has UART0 */
    #define CONFIG_SYS_NS16550_COM2 UART2_BASE /* UART2 */
    #define CONFIG_SYS_NS16550_COM3 UART3_BASE /* UART3 */
    @@ -93,7 +93,7 @@
    #define PHY_ANEG_TIMEOUT 16000 /* PHY needs longer aneg time at 1G */
    #define CONFIG_PHY_MICREL
    #define CONFIG_PHY_MICREL_KSZ9031
    -
    +#define CONFIG_DRIVER_TI_EMAC_USE_RMII
    #define CONFIG_SUPPORT_EMMC_BOOT

    /* USB xHCI HOST */
    diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h
    index cfec434..3c55c86 100644
    --- a/include/configs/omap5_uevm.h
    +++ b/include/configs/omap5_uevm.h
    @@ -29,7 +29,7 @@

    #include <configs/ti_omap5_common.h>

    -#define CONFIG_CONS_INDEX 3
    +#define CONFIG_CONS_INDEX 1
    #define CONFIG_SYS_NS16550_COM3 UART3_BASE
    #define CONFIG_BAUDRATE 115200

    @@ -69,7 +69,7 @@
    #define CONFIG_USB_HOST_ETHER
    #define CONFIG_USB_ETHER_SMSC95XX

    -#define CONSOLEDEV "ttyO2"
    +#define CONSOLEDEV "ttyO0"

    /* Max time to hold reset on this board, see doc/README.omap-reset-time */
    #define CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC 16296
    diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h
    index e7b4e35..f21a444 100644
    --- a/include/environment/ti/boot.h
    +++ b/include/environment/ti/boot.h
    @@ -11,7 +11,7 @@
    #define __TI_BOOT_H

    #ifndef CONSOLEDEV
    -#define CONSOLEDEV "ttyO2"
    +#define CONSOLEDEV "ttyO0"
    #endif

    #ifndef PARTS_DEFAULT
  • Can you remove
    CONFIG_SYS_CONSOLE_INFO_QUIET=y

    Or set it to n

    Steve K.
  • Hi,

    we have done and tested as per your suggestion. We are not getting any messages. Please suggest what might be the issue.

    # CONFIG_SYS_CONSOLE_INFO_QUIET is not set

    Thanks & Regards,

    N.V.Subbaiah.

  • Can you see if there is any data before the transceiver? Can you probe the uart pins?

    Steve K.