Anyone know if there is a function to write to the smbus similar to the smbus_read_byte function? Execpt write not read of course, like smbus_write_byte?
Thanks - Joe
Joseph Smith wrote:
Anyone know if there is a function to write to the smbus similar to the smbus_read_byte function? Execpt write not read of course, like smbus_write_byte?
Thanks - Joe
For i82801xx, it's already implemented, just totally untested. I have no idea who wrote it, and I make no claim of it actually working (although it very well could). Have a look at i82801xx_smbus.h, that's where all the smbus functions really live, you're looking for do_smbus_write_byte. It's commented out atm, my own decision since I was unsure of it with no real way to test.
-Corey
Quoting Corey Osgood corey.osgood@gmail.com:
Joseph Smith wrote:
Anyone know if there is a function to write to the smbus similar to the smbus_read_byte function? Execpt write not read of course, like smbus_write_byte?
Thanks - Joe
For i82801xx, it's already implemented, just totally untested. I have no idea who wrote it, and I make no claim of it actually working (although it very well could). Have a look at i82801xx_smbus.h, that's where all the smbus functions really live, you're looking for do_smbus_write_byte. It's commented out atm, my own decision since I was unsure of it with no real way to test.
-Corey
Hmm, Looks like in i82801xx_early_smbus.c (which is what I need for auto.c) there is smbus_write_byte, and smbus_write_block. The function is defined in i82801xx_smbus.h. I really need to get this going. Because my onboard memory has no SPD I need to write to smbus 0x51 to trick the system into thinking there is SPD there. Any suggestions on what is wrong with it??
Thanks - Joe
just provide one fake spd array...
YH
yhlu wrote:
just provide one fake spd array...
YH
My thoughts exactly. You can't write to the smbus because there's no device on the smbus at that location to receive those writes.
-Corey
Quoting Corey Osgood corey.osgood@gmail.com:
yhlu wrote:
just provide one fake spd array...
YH
My thoughts exactly. You can't write to the smbus because there's no device on the smbus at that location to receive those writes.
-Corey
How would I provide a fake spd array? Here is the situation. My board has the onboard memory without a SPD, I could just hardcode this into the northbridge raminit.c. But I don't want to do that so people that may want to use the northbridge src for other boards won't have to deal with it. So right now I have auto.c call a function that runs in between sdram_set_spd_registers and sdram_enable, like this:
sdram_set_spd_registers(memctrl); onboard_sdram_set_registers(memctrl); sdram_enable(0, memctrl);
This function, onboard_sdram_set_registers manually sets up the regsters.
Anyways I would also like to get the smbus_write_byte write going to setup my tv-out registers on my tv-out chip?
Thanks - Joe
On 8/18/07, Joseph Smith joe@smittys.pointclark.net wrote:
How would I provide a fake spd array? Here is the situation. My board has the onboard memory without a SPD, I could just hardcode this into the northbridge raminit.c. But I don't want to do that so people that may want to use the northbridge src for other boards won't have to deal with it. So right now I have auto.c call a function that runs in between sdram_set_spd_registers and sdram_enable, like this:
sdram_set_spd_registers(memctrl); onboard_sdram_set_registers(memctrl); sdram_enable(0, memctrl);
This function, onboard_sdram_set_registers manually sets up the regsters.
Anyways I would also like to get the smbus_write_byte write going to setup my tv-out registers on my tv-out chip?
rename these function to different name _*. and add functions that will handle SPD address with handling the array. and other address still call _*.
YH
Joseph Smith wrote:
Quoting Corey Osgood corey.osgood@gmail.com:
yhlu wrote:
just provide one fake spd array...
YH
My thoughts exactly. You can't write to the smbus because there's no device on the smbus at that location to receive those writes.
-Corey
How would I provide a fake spd array? Here is the situation. My board has the onboard memory without a SPD, I could just hardcode this into the northbridge raminit.c. But I don't want to do that so people that may want to use the northbridge src for other boards won't have to deal with it. So right now I have auto.c call a function that runs in between sdram_set_spd_registers and sdram_enable, like this:
sdram_set_spd_registers(memctrl); onboard_sdram_set_registers(memctrl); sdram_enable(0, memctrl);
This function, onboard_sdram_set_registers manually sets up the regsters.
Anyways I would also like to get the smbus_write_byte write going to setup my tv-out registers on my tv-out chip?
Thanks - Joe
Joe, There is an example of an spd array in mainboard/artecgroup/dbe61/cache_as_ram_auto.c spd_read_byte(). You will have to generate the correct SPD values for your memory.
Is the normal smbus_write_byte not working?
Marc