Hello,
Following patch adds the support for ROMCS_EN for writes aka chipset_enable on RDC R6030 found on bifferboard.
The patch for flashchip will follow in near future.
Signed-off-by: Rudolf Marek r.marek@assembler.cz
Thanks Rudolf
On Sun, 29 Jan 2012 00:16:55 +0100 Rudolf Marek r.marek@assembler.cz wrote:
Hello,
Following patch adds the support for ROMCS_EN for writes aka chipset_enable on RDC R6030 found on bifferboard.
The patch for flashchip will follow in near future.
Signed-off-by: Rudolf Marek r.marek@assembler.cz
thanks rudolf for the patch. the chipset/soc itself seems to be named R8610 afaics. i could not find any references to R6030 as a model name. the pci id is 6030h though... i would suggest changing the R6030 strings to R8610 if i am not mistaken.
Index: chipset_enable.c
--- chipset_enable.c (revision 1485) +++ chipset_enable.c (working copy) @@ -54,6 +54,17 @@ return 0; }
+static int enable_flash_rdc(struct pci_dev *dev, const char *name)
please also add a suffix to the function name to indicate the model.
+{
- uint8_t tmp;
- tmp = pci_read_byte(dev, 0x43);
- tmp |= 0x80;
- pci_write_byte(dev, 0x43, tmp);
- return 0;
+}
i have verified that this enables write cycles as you said. i am (still) not familiar with LPC, but there must be a few other things that are needed to get this chipset to work (at least in non-bifferboard configurations)(?) and afaics we would also like to check a few other things.
there is "FRS" which indicates the flash type boot strap, which could also be X bus. guess X bus does not work transparently, does it?
what about the FRR (flash rom region) registers?
this does not registers a flashrom programmer!?
maybe i am just confused... :)
thanks rudolf for the patch. the chipset/soc itself seems to be named R8610 afaics. i could not find any references to R6030 as a model name. the pci id is 6030h though... i would suggest changing the R6030 strings to R8610 if i am not mistaken.
Maybe R8610/R3210 SoC because the R3210 is non-industrial version. Also VortexCPUs use same chipset enable register.
+static int enable_flash_rdc(struct pci_dev *dev, const char *name)
please also add a suffix to the function name to indicate the model.
OK
i have verified that this enables write cycles as you said. i am (still) not familiar with LPC, but there must be a few other things that are needed to get this chipset to work (at least in non-bifferboard configurations)(?) and afaics we would also like to check a few other things.
LPC is just a "Serial" version of plain old ISA BUS. Which has 16Data lines (wires) and 24? Address wires. Aka "PARALEL type of flashes in flashrom". Plus of course bits (wires) to tell what transacation is on the bus...
there is "FRS" which indicates the flash type boot strap, which could also be X bus. guess X bus does not work transparently, does it?
what about the FRR (flash rom region) registers?
Yeah right maybe we can tell flashrom if it is worth to probe for LPC/FWH or just for "PARALLEL" type flashes.
this does not registers a flashrom programmer!?
It should not? From a programming point of view Paralel/FWH/LPC flashes are detected via reads/writes to the 4G-something memory space with magic sequences like AAA 555 etc... The ROM_CS just tells the SoC to generate chipselect also for writes, effectively making "write protection" disabled. There still could be some flashchip based protection.
I will update the patch to look for LPC/FWH and rename that a bit.
Thanks Rudolf
On Sun, 29 Jan 2012 14:34:17 +0100 Rudolf Marek r.marek@assembler.cz wrote:
this does not registers a flashrom programmer!?
It should not? From a programming point of view Paralel/FWH/LPC flashes are detected via reads/writes to the 4G-something memory space with magic sequences like AAA 555 etc... The ROM_CS just tells the SoC to generate chipselect also for writes, effectively making "write protection" disabled. There still could be some flashchip based protection.
i was talking about flashrom's internal representation of programmers not the SoC in question ;) registration is not needed, because internal.c:328 does that automatically for all internal programmers. (i am not really sure this is wise due to the imbalance between parallel and spi programmers).
Hi,
Here is an updated patch. Signed-off-by: Rudolf Marek r.marek@assembler.cz
I can test this in the evening.
Thanks Rudolf
Hi
Here is the updated version. I tested that on FOSDEM.
Signed-off-by: Rudolf Marek r.marek@assembler.cz
Thanks Rudolf
On Tue, 07 Feb 2012 16:41:47 +0100 Rudolf Marek r.marek@assembler.cz wrote:
Hi
Here is the updated version. I tested that on FOSDEM.
Signed-off-by: Rudolf Marek r.marek@assembler.cz
Thanks! Acked-by: Stefan Tauner stefan.tauner@student.tuwien.ac.at and committed in r1489 with minor changes (also added the bifferboard to print.c).