the following patch was just integrated into master:
commit 92898b424b18760084af8e2d7c242e46bdc6a29b
Author: Martin Roth <martinroth(a)google.com>
Date: Wed Dec 9 13:05:00 2015 -0700
Makefile.inc: Include build/dsdt.d if it exists
The dsdt dependency file is created, but wasn't being used to determine
whether or not to update the dsdt file. If it's present, include it
into the makefile so dsdt.aml gets rebuilt if any of the depencencies
change.
Change-Id: I76bc22541c6b9740841bda891a5b88030cb949cd
Signed-off-by: Martin Roth <martinroth(a)google.com>
Reviewed-on: https://review.coreboot.org/12699
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See https://review.coreboot.org/12699 for details.
-gerrit
the following patch was just integrated into master:
commit 2e8d4ed794f7fe58a11bd84ea7da04840b5f7a00
Author: Ionela Voinescu <ionela.voinescu(a)imgtec.com>
Date: Thu Dec 17 13:11:50 2015 +0000
soc/imgtec/pistachio: add implementation for system reset
Implement system reset by calling the watchdog soft reset.
Following the soft reset, the SoC will reset to the same logic
state and therefore have the same effect as a hard (power-on)
reset except for:
- watchdog scratch registers will be unaffected (hard reset
will clear them)
- the real time clock will be unaffected
BUG=none
TEST=tested on Pistachio bring up board
Change-Id: I1332c2249c756f6d8574fc5c407de52f88e60f08
Signed-off-by: Ionela Voinescu <ionela.voinescu(a)imgtec.com>
Reviewed-on: https://review.coreboot.org/12755
Tested-by: build bot (Jenkins)
Reviewed-by: Vadim Bendebury <vbendeb(a)chromium.org>
See https://review.coreboot.org/12755 for details.
-gerrit
the following patch was just integrated into master:
commit 3bdd45e714ebfa38e352c705b8bb7374827bc1e3
Author: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Date: Mon Dec 14 17:31:44 2015 -0800
soc/imgtec/pistachio: Implement hard_reset()
Verified boot needs hard_reset() now, so offer a dummy implementation
for the Imagination chip. Sorry, I don't have the specs for this chip
anymore to make a real implementation, but I would like to keep this
code from bit rotting.
Change-Id: I15aa47f7d248b99901a2ac0e65a46b43d7718717
Signed-off-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Reviewed-on: https://review.coreboot.org/12723
Tested-by: build bot (Jenkins)
Reviewed-by: Vadim Bendebury <vbendeb(a)chromium.org>
See https://review.coreboot.org/12723 for details.
-gerrit
Ionela Voinescu (ionela.voinescu(a)imgtec.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12773
-gerrit
commit 2b629bd3ecb18d5ba8fd8e5c8815c9a14fdaad18
Author: Ionela Voinescu <ionela.voinescu(a)imgtec.com>
Date: Sun Nov 1 19:55:48 2015 +0000
imgtec/pistachio: disable default RPU gate register values
The RPU Clock register defaults to on for all clocks.
This is modified to OFF, and the MIPS clock control modified to ON,
by default. This is because the linux kernel will manage the
clocks at all times, but the RPU can only disable clocks if the WIFI
module has been loaded.
Change-Id: I155fb37afd585ca3436a77b97c99ca6e582cbb4f
Signed-off-by: Ionela Voinescu <ionela.voinescu(a)imgtec.com>
---
src/mainboard/google/urara/bootblock.c | 8 ++++++++
src/soc/imgtec/pistachio/clocks.c | 12 ++++++++++++
src/soc/imgtec/pistachio/include/soc/clocks.h | 1 +
3 files changed, 21 insertions(+)
diff --git a/src/mainboard/google/urara/bootblock.c b/src/mainboard/google/urara/bootblock.c
index 7775916..121f35d 100644
--- a/src/mainboard/google/urara/bootblock.c
+++ b/src/mainboard/google/urara/bootblock.c
@@ -190,6 +190,14 @@ static void bootblock_mainboard_init(void)
if (ret != CLOCKS_OK)
return;
+ /*
+ * Move peripheral clock control from RPU to MIPS.
+ * The RPU gate register is not managed in Linux so disable its default
+ * values and assign MIPS gate register the default values.
+ * *Note*: All unused clocks will be gated by Linux
+ */
+ setup_clk_gate_defaults();
+
/* Setup SPIM1 MFIOs */
spim1_mfio_setup();
/* Setup UART1 clock and MFIOs
diff --git a/src/soc/imgtec/pistachio/clocks.c b/src/soc/imgtec/pistachio/clocks.c
index ab316e3..9f3da1a 100644
--- a/src/soc/imgtec/pistachio/clocks.c
+++ b/src/soc/imgtec/pistachio/clocks.c
@@ -82,6 +82,12 @@
#define MIPSCLKOUT_CTRL_ADDR 0xB8144208
#define MIPSCLKOUT_MASK 0x000000FF
+/* Peripheral Clock gate reg */
+#define MIPS_CLOCK_GATE_ADDR 0xB8144900
+#define RPU_CLOCK_GATE_ADDR 0xB8144904
+#define MIPS_CLOCK_GATE_ALL_ON 0x3fff
+#define RPU_CLOCK_GATE_ALL_OFF 0x0
+
/* Definitions for USB clock setup */
#define USBPHYCLKOUT_CTRL_ADDR 0xB814422C
#define USBPHYCLKOUT_MASK 0X0000003F
@@ -499,3 +505,9 @@ void eth_clk_setup(u8 mux, u8 divider)
write32(PISTACHIO_CLOCK_SWITCH, reg);
}
}
+
+void setup_clk_gate_defaults(void)
+{
+ write32(MIPS_CLOCK_GATE_ADDR, MIPS_CLOCK_GATE_ALL_ON);
+ write32(RPU_CLOCK_GATE_ADDR, RPU_CLOCK_GATE_ALL_OFF);
+}
diff --git a/src/soc/imgtec/pistachio/include/soc/clocks.h b/src/soc/imgtec/pistachio/include/soc/clocks.h
index fc07f0a..27ba6d6 100644
--- a/src/soc/imgtec/pistachio/include/soc/clocks.h
+++ b/src/soc/imgtec/pistachio/include/soc/clocks.h
@@ -32,6 +32,7 @@ void i2c_clk_setup(u8 divider1, u16 divider2, u8 interface);
int usb_clk_setup(u8 divider, u8 refclksel, u8 fsel);
void rom_clk_setup(u8 divider);
void eth_clk_setup(u8 mux, u8 divider);
+void setup_clk_gate_defaults(void);
enum {
CLOCKS_OK = 0,
PLL_TIMEOUT = -1,
Ionela Voinescu (ionela.voinescu(a)imgtec.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12772
-gerrit
commit e5d41d543a2977cf6a54b51f777994803689fbf5
Author: Ionela Voinescu <ionela.voinescu(a)imgtec.com>
Date: Sun Nov 1 16:36:35 2015 +0000
imgtec/pistachio: memlayout: update GRAM size
GRAM is 421056 bytes. The end of the SRAM region (GRAM plays the role
of SRAM) was placed at a 4K aligned address, resulting in a size of
408KB.
Change-Id: I9fa32ab818d600e7447bcac895e4b8c438f2f99d
Signed-off-by: Ionela Voinescu <ionela.voinescu(a)imgtec.com>
---
src/soc/imgtec/pistachio/include/soc/memlayout.ld | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/soc/imgtec/pistachio/include/soc/memlayout.ld b/src/soc/imgtec/pistachio/include/soc/memlayout.ld
index a0b48b2..c84de40 100644
--- a/src/soc/imgtec/pistachio/include/soc/memlayout.ld
+++ b/src/soc/imgtec/pistachio/include/soc/memlayout.ld
@@ -39,7 +39,7 @@ SECTIONS
ROMSTAGE(0x1a005000, 40K)
VBOOT2_WORK(0x1a00f000, 12K)
PRERAM_CBFS_CACHE(0x1a012000, 56K)
- SRAM_END(0x1a020000)
+ SRAM_END(0x1a066000)
/* Bootblock executes out of KSEG0 and sets up the identity mapping.
* This is identical to SRAM above, and thus also limited 64K and
Ionela Voinescu (ionela.voinescu(a)imgtec.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12770
-gerrit
commit f96109ac327fa6f3b4074f489d362d4b81b0c5e0
Author: Ionela Voinescu <ionela.voinescu(a)imgtec.com>
Date: Thu Dec 17 19:16:01 2015 +0000
imgtec/pistachio: identity map SOC registers region
This region must be mapped uncached. This is necesary for an
U-boot payload which will obtain all register base addresses
as physical addresses from the device tree and will use them
as such.
Change-Id: Ib5041df7d90c6ef61b7448a18dd732afbd9489ca
Signed-off-by: Ionela Voinescu <ionela.voinescu(a)imgtec.com>
---
src/soc/imgtec/pistachio/bootblock.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/soc/imgtec/pistachio/bootblock.c b/src/soc/imgtec/pistachio/bootblock.c
index eceb814..23f6471 100644
--- a/src/soc/imgtec/pistachio/bootblock.c
+++ b/src/soc/imgtec/pistachio/bootblock.c
@@ -57,4 +57,6 @@ static void bootblock_mmu_init(void)
assert(!identity_map((uint32_t)_sram, _sram_size,
C0_ENTRYLO_COHERENCY_WB));
assert(!identity_map(dram_base, dram_size, C0_ENTRYLO_COHERENCY_WB));
+ assert(!identity_map((uint32_t)_soc_registers, _soc_registers_size,
+ C0_ENTRYLO_COHERENCY_UC));
}