TI中文支持网
TI专业的中文技术问题搜集分享网站

XAM3359和AM3359的区别

我做了块板子,分别用XAM3359和AM3359两个CPU,但是奇怪的是XAM3359的可以跑起来系统,AM3359的不行~~~~求指点呀

Gary Wu:

XAM3359是工程样片,在其上做的任何修改,不能保证。

能具体讲一下你在AM3359上系统跑不起来,停在哪里?

yuanqi li:

回复 Gary Wu:

用AM3359停在了OMAP SD/MMC:0

往下应该是reading U-boot。img 进系统

我用XAM3359就是正常的可以进系统

liu liu1:

回复 Gary Wu:

您好,按着你上午的提示,在board/ti/am335x中修改evm.c,去掉spl_board_init中的if判断如下:

void spl_board_init(void){ uchar pmic_status_reg;

/* init board_id, configure muxes */ board_init();

//if (!strncmp("A335BONE", header.name, 8))if(0) { /* BeagleBone PMIC Code */ if (i2c_probe(TPS65217_CHIP_PM)) return;

if (tps65217_reg_read(STATUS, &pmic_status_reg)) return;

/* Increase USB current limit to 1300mA */ if (tps65217_reg_write(PROT_LEVEL_NONE, POWER_PATH, USB_INPUT_CUR_LIMIT_1300MA, USB_INPUT_CUR_LIMIT_MASK)) printf("tps65217_reg_write failure\n");

/* Only perform PMIC configurations if board rev > A1 */ if (!strncmp(header.version, "00A1", 4)) return;

/* Set DCDC2 (MPU) voltage to 1.275V */ if (tps65217_voltage_update(DEFDCDC2, DCDC_VOLT_SEL_1275MV)) { printf("tps65217_voltage_update failure\n"); return; }

/* Set LDO3, LDO4 output voltage to 3.3V */ if (tps65217_reg_write(PROT_LEVEL_2, DEFLS1, LDO_VOLTAGE_OUT_3_3, LDO_MASK)) printf("tps65217_reg_write failure\n");

if (tps65217_reg_write(PROT_LEVEL_2, DEFLS2, LDO_VOLTAGE_OUT_3_3, LDO_MASK)) printf("tps65217_reg_write failure\n");

if (!(pmic_status_reg & PWR_SRC_AC_BITMASK)) { printf("No AC power, disabling frequency switch\n"); return; }

/* Set MPU Frequency to 720MHz */ mpu_pll_config(MPUPLL_M_720); } else { uchar buf[4]; /* * EVM PMIC code. All boards currently want an MPU voltage * of 1.2625V and CORE voltage of 1.1375V to operate at * 720MHz. */ if (i2c_probe(PMIC_CTRL_I2C_ADDR)) return;

/* VDD1/2 voltage selection register access by control i/f */ if (i2c_read(PMIC_CTRL_I2C_ADDR, PMIC_DEVCTRL_REG, 1, buf, 1)) return;

buf[0] |= PMIC_DEVCTRL_REG_SR_CTL_I2C_SEL_CTL_I2C;

if (i2c_write(PMIC_CTRL_I2C_ADDR, PMIC_DEVCTRL_REG, 1, buf, 1)) return;

if (!voltage_update(MPU, PMIC_OP_REG_SEL_1_2_6) && !voltage_update(CORE, PMIC_OP_REG_SEL_1_1_3)) /* Frequency switching for OPP 120 */ mpu_pll_config(MPUPLL_M_720); }}#endif

试了试不行,又修改board_init如下:

int board_init(void){ /* Configure the i2c0 pin mux */ enable_i2c0_pin_mux();

i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);

if (read_eeprom()) goto err_out;

detect_daughter_board();

//if (!strncmp("SKU#01", header.config, 6)) { // board_id = GP_BOARD; // detect_daughter_board_profile(); //} else if (!strncmp("SKU#02", header.config, 6)) { // board_id = IA_BOARD; // detect_daughter_board_profile(); //} else if (!strncmp("SKU#03", header.config, 6)) { // board_id = IPP_BOARD; //} else if (!strncmp("A335BONE", header.name, 8)) { // board_id = BONE_BOARD; // profile = 1; /* profile 0 is internally considered as 1 */ // daughter_board_connected = 0; //} else if (!strncmp("A335X_SK", header.name, 8)) { // board_id = SK_BOARD; // profile = 1; /* profile 0 is internally considered as 1 */ // daughter_board_connected = 0; //} else { // printf("Did not find a recognized configuration, " // "assuming General purpose EVM in Profile 0 with " // "Daughter board\n"); board_id = GP_BOARD; profile = 1; /* profile 0 is internally considered as 1 */ daughter_board_connected = 1; //}

configure_evm_pin_mux(board_id, header.version, profile, daughter_board_connected);

还是不行,那块XAM3359的板子在这两种情况都可以启动,但是AM3359的板子还是启动不了,

只输出:

U-Boot SPL 2011.09 (Jan 23 2013 – 12:50:30)Texas Instruments Revision detection unimplementedCould not probe the EEPROM; something fundamentally wrong on the I2C bus.read_eeprom() failure. continuing with ddr3Could not probe the EEPROM; something fundamentally wrong on the I2C bus.

Yaoming Qin:

回复 liu liu1:

看上去你没有改彻底。你把代码再好好看看

liu liu1:

回复 Yaoming Qin:

您好,谢谢您的回复,那我在找找,看看还有没有别的。

赞(0)
未经允许不得转载:TI中文支持网 » XAM3359和AM3359的区别
分享到: 更多 (0)