Hello Andreas,
Am 11.11.2013 12:03, schrieb Andreas Bießmann:
Dear Mateusz Kulikowski,
On 11/02/2013 12:19 AM, Mateusz Kulikowski wrote:
Add support for USB-A9263 board manufactured by Calao Systems
(http://www.calao-systems.com/).
Code is based on old U-Boot sources (2010.09) released by Calao and
existing AT92SAM9263-EK code.
Signed-off-by: Mateusz Kulikowski<mateusz.kulikow...@gmail.com>
---
board/calao/usb_a9263/Makefile | 34 ++++++++
board/calao/usb_a9263/usb_a9263.c | 167 +++++++++++++++++++++++++++++++++++++
boards.cfg | 1 +
include/configs/usb_a9263.h | 168 ++++++++++++++++++++++++++++++++++++++
4 files changed, 370 insertions(+)
create mode 100644 board/calao/usb_a9263/Makefile
create mode 100644 board/calao/usb_a9263/usb_a9263.c
create mode 100644 include/configs/usb_a9263.h
[...]
diff --git a/board/calao/usb_a9263/usb_a9263.c
b/board/calao/usb_a9263/usb_a9263.c
new file mode 100644
index 0000000..bbc1e25
--- /dev/null
+++ b/board/calao/usb_a9263/usb_a9263.c
@@ -0,0 +1,167 @@
[...]
+#ifdef CONFIG_MACB
+static void usb_a9263_macb_hw_init(void)
+{
+ unsigned long erstl;
+ at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC;
+ at91_rstc_t *rstc = (at91_rstc_t *)ATMEL_BASE_RSTC;
+
+ /* Enable clock */
+ writel(1<< ATMEL_ID_EMAC,&pmc->pcer);
+
+ /*
+ * Disable pull-up on:
+ * RXDV (PC25) => PHY normal mode (not Test mode)
+ * ERX0 (PE25) => PHY ADDR0
+ * ERX1 (PE26) => PHY ADDR1 => PHYADDR = 0x0
+ *
+ * PHY has internal pull-down
+ */
+ at91_set_pio_pullup(AT91_PIO_PORTC, 25, 0);
+ at91_set_pio_pullup(AT91_PIO_PORTE, 25, 0);
+ at91_set_pio_pullup(AT91_PIO_PORTE, 26, 0);
+
+ erstl = readl(&rstc->mr)& AT91_RSTC_MR_ERSTL_MASK;
+
+ /* Need to reset PHY -> 500ms reset */
+ writel(AT91_RSTC_KEY | AT91_RSTC_MR_ERSTL(0x0D) |
+ AT91_RSTC_MR_URSTEN,&rstc->mr);
+
+ writel(AT91_RSTC_KEY | AT91_RSTC_CR_EXTRST,&rstc->cr);
+
+ /* Wait for end hardware reset */
+ while (!(readl(&rstc->sr)& AT91_RSTC_SR_NRSTL))
+ ;
+
+ /* Restore NRST value */
+ writel(AT91_RSTC_KEY | erstl | AT91_RSTC_MR_URSTEN,&rstc->mr);
+
+ /* Re-enable pull-up */
+ at91_set_pio_pullup(AT91_PIO_PORTC, 25, 1);
+ at91_set_pio_pullup(AT91_PIO_PORTE, 25, 1);
+ at91_set_pio_pullup(AT91_PIO_PORTE, 26, 1);
+
+ at91_macb_hw_init();
Heiko proposed a solution for unifying macb reset sequence.
@Heiko will you send another patch?
I thought I wait for your GPIO update patches, and rebase my patch-
serie for the siemens boards on them ...
Ok, based on the spl patches from bo shen, see
http://lists.denx.de/pipermail/u-boot/2013-November/166272.html
I can sent soon the "phy_reset" patch, if the patch passes a
"MAKEALL" ;-)
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot