avionic design with actual uboot and tooling
submodule of avionic design uboot bootloader and with included tools to get you started , read readme.md and readme-tk1-loader.md
This commit is contained in:
13
u-boot/arch/arm/mach-uniphier/clk/Makefile
Normal file
13
u-boot/arch/arm/mach-uniphier/clk/Makefile
Normal file
@@ -0,0 +1,13 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-$(CONFIG_ARCH_UNIPHIER_SLD3) += clk-ld4.o
|
||||
obj-$(CONFIG_ARCH_UNIPHIER_LD4) += clk-ld4.o
|
||||
obj-$(CONFIG_ARCH_UNIPHIER_PRO4) += clk-pro4.o
|
||||
obj-$(CONFIG_ARCH_UNIPHIER_SLD8) += clk-ld4.o
|
||||
obj-$(CONFIG_ARCH_UNIPHIER_PRO5) += clk-pro5.o
|
||||
obj-$(CONFIG_ARCH_UNIPHIER_PXS2) += clk-pxs2.o
|
||||
obj-$(CONFIG_ARCH_UNIPHIER_LD6B) += clk-pxs2.o
|
||||
obj-$(CONFIG_ARCH_UNIPHIER_LD11) += clk-ld11.o
|
||||
obj-$(CONFIG_ARCH_UNIPHIER_LD20) += clk-ld20.o
|
||||
28
u-boot/arch/arm/mach-uniphier/clk/clk-ld11.c
Normal file
28
u-boot/arch/arm/mach-uniphier/clk/clk-ld11.c
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright (C) 2016 Socionext Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include "../init.h"
|
||||
#include "../sg-regs.h"
|
||||
|
||||
void uniphier_ld11_clk_init(void)
|
||||
{
|
||||
if (readl(SG_PINMON0) & BIT(27)) {
|
||||
/* if booted without stand-by MPU */
|
||||
|
||||
writel(1, SG_ETPHYPSHUT);
|
||||
writel(1, SG_ETPHYCNT);
|
||||
|
||||
udelay(1); /* wait for regulator level 1.1V -> 2.5V */
|
||||
|
||||
writel(3, SG_ETPHYCNT);
|
||||
writel(3, SG_ETPHYPSHUT);
|
||||
writel(7, SG_ETPHYCNT);
|
||||
}
|
||||
}
|
||||
14
u-boot/arch/arm/mach-uniphier/clk/clk-ld20.c
Normal file
14
u-boot/arch/arm/mach-uniphier/clk/clk-ld20.c
Normal file
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2016 Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <linux/io.h>
|
||||
|
||||
#include "../init.h"
|
||||
#include "../sc64-regs.h"
|
||||
|
||||
void uniphier_ld20_clk_init(void)
|
||||
{
|
||||
}
|
||||
43
u-boot/arch/arm/mach-uniphier/clk/clk-ld4.c
Normal file
43
u-boot/arch/arm/mach-uniphier/clk/clk-ld4.c
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright (C) 2011-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <linux/io.h>
|
||||
|
||||
#include "../init.h"
|
||||
#include "../sc-regs.h"
|
||||
|
||||
void uniphier_ld4_clk_init(void)
|
||||
{
|
||||
u32 tmp;
|
||||
|
||||
/* deassert reset */
|
||||
tmp = readl(SC_RSTCTRL);
|
||||
#ifdef CONFIG_UNIPHIER_ETH
|
||||
tmp |= SC_RSTCTRL_NRST_ETHER;
|
||||
#endif
|
||||
#ifdef CONFIG_USB_EHCI
|
||||
tmp |= SC_RSTCTRL_NRST_STDMAC;
|
||||
#endif
|
||||
#ifdef CONFIG_NAND_DENALI
|
||||
tmp |= SC_RSTCTRL_NRST_NAND;
|
||||
#endif
|
||||
writel(tmp, SC_RSTCTRL);
|
||||
readl(SC_RSTCTRL); /* dummy read */
|
||||
|
||||
/* provide clocks */
|
||||
tmp = readl(SC_CLKCTRL);
|
||||
#ifdef CONFIG_UNIPHIER_ETH
|
||||
tmp |= SC_CLKCTRL_CEN_ETHER;
|
||||
#endif
|
||||
#ifdef CONFIG_USB_EHCI
|
||||
tmp |= SC_CLKCTRL_CEN_MIO | SC_CLKCTRL_CEN_STDMAC;
|
||||
#endif
|
||||
#ifdef CONFIG_NAND_DENALI
|
||||
tmp |= SC_CLKCTRL_CEN_NAND;
|
||||
#endif
|
||||
writel(tmp, SC_CLKCTRL);
|
||||
readl(SC_CLKCTRL); /* dummy read */
|
||||
}
|
||||
58
u-boot/arch/arm/mach-uniphier/clk/clk-pro4.c
Normal file
58
u-boot/arch/arm/mach-uniphier/clk/clk-pro4.c
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright (C) 2011-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <linux/io.h>
|
||||
|
||||
#include "../init.h"
|
||||
#include "../sc-regs.h"
|
||||
|
||||
void uniphier_pro4_clk_init(void)
|
||||
{
|
||||
u32 tmp;
|
||||
|
||||
/* deassert reset */
|
||||
tmp = readl(SC_RSTCTRL);
|
||||
#ifdef CONFIG_USB_XHCI_UNIPHIER
|
||||
tmp |= SC_RSTCTRL_NRST_USB3B0 | SC_RSTCTRL_NRST_USB3C0 |
|
||||
SC_RSTCTRL_NRST_GIO;
|
||||
#endif
|
||||
#ifdef CONFIG_UNIPHIER_ETH
|
||||
tmp |= SC_RSTCTRL_NRST_ETHER;
|
||||
#endif
|
||||
#ifdef CONFIG_USB_EHCI
|
||||
tmp |= SC_RSTCTRL_NRST_STDMAC;
|
||||
#endif
|
||||
#ifdef CONFIG_NAND_DENALI
|
||||
tmp |= SC_RSTCTRL_NRST_NAND;
|
||||
#endif
|
||||
writel(tmp, SC_RSTCTRL);
|
||||
readl(SC_RSTCTRL); /* dummy read */
|
||||
|
||||
#ifdef CONFIG_USB_XHCI_UNIPHIER
|
||||
tmp = readl(SC_RSTCTRL2);
|
||||
tmp |= SC_RSTCTRL2_NRST_USB3B1 | SC_RSTCTRL2_NRST_USB3C1;
|
||||
writel(tmp, SC_RSTCTRL2);
|
||||
readl(SC_RSTCTRL2); /* dummy read */
|
||||
#endif
|
||||
|
||||
/* provide clocks */
|
||||
tmp = readl(SC_CLKCTRL);
|
||||
#ifdef CONFIG_USB_XHCI_UNIPHIER
|
||||
tmp |= SC_CLKCTRL_CEN_USB31 | SC_CLKCTRL_CEN_USB30 |
|
||||
SC_CLKCTRL_CEN_GIO;
|
||||
#endif
|
||||
#ifdef CONFIG_UNIPHIER_ETH
|
||||
tmp |= SC_CLKCTRL_CEN_ETHER;
|
||||
#endif
|
||||
#ifdef CONFIG_USB_EHCI
|
||||
tmp |= SC_CLKCTRL_CEN_MIO | SC_CLKCTRL_CEN_STDMAC;
|
||||
#endif
|
||||
#ifdef CONFIG_NAND_DENALI
|
||||
tmp |= SC_CLKCTRL_CEN_NAND;
|
||||
#endif
|
||||
writel(tmp, SC_CLKCTRL);
|
||||
readl(SC_CLKCTRL); /* dummy read */
|
||||
}
|
||||
45
u-boot/arch/arm/mach-uniphier/clk/clk-pro5.c
Normal file
45
u-boot/arch/arm/mach-uniphier/clk/clk-pro5.c
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <linux/io.h>
|
||||
|
||||
#include "../init.h"
|
||||
#include "../sc-regs.h"
|
||||
|
||||
void uniphier_pro5_clk_init(void)
|
||||
{
|
||||
u32 tmp;
|
||||
|
||||
/* deassert reset */
|
||||
tmp = readl(SC_RSTCTRL);
|
||||
#ifdef CONFIG_USB_XHCI_UNIPHIER
|
||||
tmp |= SC_RSTCTRL_NRST_USB3B0 | SC_RSTCTRL_NRST_GIO;
|
||||
#endif
|
||||
#ifdef CONFIG_NAND_DENALI
|
||||
tmp |= SC_RSTCTRL_NRST_NAND;
|
||||
#endif
|
||||
writel(tmp, SC_RSTCTRL);
|
||||
readl(SC_RSTCTRL); /* dummy read */
|
||||
|
||||
#ifdef CONFIG_USB_XHCI_UNIPHIER
|
||||
tmp = readl(SC_RSTCTRL2);
|
||||
tmp |= SC_RSTCTRL2_NRST_USB3B1;
|
||||
writel(tmp, SC_RSTCTRL2);
|
||||
readl(SC_RSTCTRL2); /* dummy read */
|
||||
#endif
|
||||
|
||||
/* provide clocks */
|
||||
tmp = readl(SC_CLKCTRL);
|
||||
#ifdef CONFIG_USB_XHCI_UNIPHIER
|
||||
tmp |= SC_CLKCTRL_CEN_USB31 | SC_CLKCTRL_CEN_USB30 |
|
||||
SC_CLKCTRL_CEN_GIO;
|
||||
#endif
|
||||
#ifdef CONFIG_NAND_DENALI
|
||||
tmp |= SC_CLKCTRL_CEN_NAND;
|
||||
#endif
|
||||
writel(tmp, SC_CLKCTRL);
|
||||
readl(SC_CLKCTRL); /* dummy read */
|
||||
}
|
||||
51
u-boot/arch/arm/mach-uniphier/clk/clk-pxs2.c
Normal file
51
u-boot/arch/arm/mach-uniphier/clk/clk-pxs2.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <linux/io.h>
|
||||
|
||||
#include "../init.h"
|
||||
#include "../sc-regs.h"
|
||||
|
||||
void uniphier_pxs2_clk_init(void)
|
||||
{
|
||||
u32 tmp;
|
||||
|
||||
/* deassert reset */
|
||||
tmp = readl(SC_RSTCTRL);
|
||||
#ifdef CONFIG_USB_XHCI_UNIPHIER
|
||||
tmp |= SC_RSTCTRL_NRST_USB3B0 | SC_RSTCTRL_NRST_GIO;
|
||||
#endif
|
||||
#ifdef CONFIG_UNIPHIER_ETH
|
||||
tmp |= SC_RSTCTRL_NRST_ETHER;
|
||||
#endif
|
||||
#ifdef CONFIG_NAND_DENALI
|
||||
tmp |= SC_RSTCTRL_NRST_NAND;
|
||||
#endif
|
||||
writel(tmp, SC_RSTCTRL);
|
||||
readl(SC_RSTCTRL); /* dummy read */
|
||||
|
||||
#ifdef CONFIG_USB_XHCI_UNIPHIER
|
||||
tmp = readl(SC_RSTCTRL2);
|
||||
tmp |= SC_RSTCTRL2_NRST_USB3B1;
|
||||
writel(tmp, SC_RSTCTRL2);
|
||||
readl(SC_RSTCTRL2); /* dummy read */
|
||||
#endif
|
||||
|
||||
/* provide clocks */
|
||||
tmp = readl(SC_CLKCTRL);
|
||||
#ifdef CONFIG_USB_XHCI_UNIPHIER
|
||||
tmp |= SC_CLKCTRL_CEN_USB31 | SC_CLKCTRL_CEN_USB30 |
|
||||
SC_CLKCTRL_CEN_GIO;
|
||||
#endif
|
||||
#ifdef CONFIG_UNIPHIER_ETH
|
||||
tmp |= SC_CLKCTRL_CEN_ETHER;
|
||||
#endif
|
||||
#ifdef CONFIG_NAND_DENALI
|
||||
tmp |= SC_CLKCTRL_CEN_NAND;
|
||||
#endif
|
||||
writel(tmp, SC_CLKCTRL);
|
||||
readl(SC_CLKCTRL); /* dummy read */
|
||||
}
|
||||
Reference in New Issue
Block a user