mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-31 03:21:32 +00:00
Merge branch 'master' of git://git.denx.de/u-boot-uniphier
This commit is contained in:
commit
231af7f95a
31 changed files with 469 additions and 285 deletions
|
@ -868,6 +868,8 @@ config ARCH_UNIPHIER
|
||||||
select PINCTRL
|
select PINCTRL
|
||||||
select SPL
|
select SPL
|
||||||
select SPL_DM
|
select SPL_DM
|
||||||
|
select SPL_LIBCOMMON_SUPPORT
|
||||||
|
select SPL_LIBGENERIC_SUPPORT
|
||||||
select SPL_OF_CONTROL
|
select SPL_OF_CONTROL
|
||||||
select SPL_PINCTRL
|
select SPL_PINCTRL
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
interrupts = <0 33 4>;
|
interrupts = <0 33 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart0>;
|
pinctrl-0 = <&pinctrl_uart0>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
serial1: serial@54006900 {
|
serial1: serial@54006900 {
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
interrupts = <0 35 4>;
|
interrupts = <0 35 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart1>;
|
pinctrl-0 = <&pinctrl_uart1>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
serial2: serial@54006a00 {
|
serial2: serial@54006a00 {
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
interrupts = <0 37 4>;
|
interrupts = <0 37 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart2>;
|
pinctrl-0 = <&pinctrl_uart2>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
serial3: serial@54006b00 {
|
serial3: serial@54006b00 {
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
interrupts = <0 177 4>;
|
interrupts = <0 177 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart3>;
|
pinctrl-0 = <&pinctrl_uart3>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
system_bus: system-bus@58c00000 {
|
system_bus: system-bus@58c00000 {
|
||||||
|
@ -79,16 +79,33 @@
|
||||||
reg = <0x59801000 0x400>;
|
reg = <0x59801000 0x400>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mio: mioctrl@59810000 {
|
mioctrl@59810000 {
|
||||||
/* specify compatible in each SoC DTSI */
|
compatible = "socionext,uniphier-mioctrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
reg = <0x59810000 0x800>;
|
reg = <0x59810000 0x800>;
|
||||||
#clock-cells = <1>;
|
u-boot,dm-pre-reloc;
|
||||||
|
|
||||||
|
mio_clk: clock {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
mio_rst: reset {
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
peri: perictrl@59820000 {
|
perictrl@59820000 {
|
||||||
/* specify compatible in each SoC DTSI */
|
compatible = "socionext,uniphier-perictrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
reg = <0x59820000 0x200>;
|
reg = <0x59820000 0x200>;
|
||||||
#clock-cells = <1>;
|
|
||||||
|
peri_clk: clock {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
peri_rst: reset {
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
timer@60000200 {
|
timer@60000200 {
|
||||||
|
@ -114,7 +131,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
soc-glue@5f800000 {
|
soc-glue@5f800000 {
|
||||||
compatible = "simple-mfd", "syscon";
|
compatible = "socionext,uniphier-soc-glue",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
reg = <0x5f800000 0x2000>;
|
reg = <0x5f800000 0x2000>;
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
|
|
||||||
|
@ -124,12 +142,18 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sysctrl: sysctrl@61840000 {
|
sysctrl@61840000 {
|
||||||
/* specify compatible in each SoC DTSI */
|
compatible = "socionext,uniphier-sysctrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
reg = <0x61840000 0x4000>;
|
reg = <0x61840000 0x4000>;
|
||||||
#clock-cells = <1>;
|
|
||||||
clock-names = "ref";
|
sys_clk: clock {
|
||||||
clocks = <&refclk>;
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sys_rst: reset {
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nand: nand@68000000 {
|
nand: nand@68000000 {
|
||||||
|
|
|
@ -54,12 +54,6 @@
|
||||||
clock-frequency = <25000000>;
|
clock-frequency = <25000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart_clk: uart_clk {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <58820000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
i2c_clk: i2c_clk {
|
i2c_clk: i2c_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
@ -69,10 +63,10 @@
|
||||||
|
|
||||||
timer {
|
timer {
|
||||||
compatible = "arm,armv8-timer";
|
compatible = "arm,armv8-timer";
|
||||||
interrupts = <1 13 0xf01>,
|
interrupts = <1 13 4>,
|
||||||
<1 14 0xf01>,
|
<1 14 4>,
|
||||||
<1 11 0xf01>,
|
<1 11 4>,
|
||||||
<1 10 0xf01>;
|
<1 10 4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
|
@ -89,7 +83,7 @@
|
||||||
interrupts = <0 33 4>;
|
interrupts = <0 33 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart0>;
|
pinctrl-0 = <&pinctrl_uart0>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 0>;
|
||||||
clock-frequency = <58820000>;
|
clock-frequency = <58820000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -100,7 +94,7 @@
|
||||||
interrupts = <0 35 4>;
|
interrupts = <0 35 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart1>;
|
pinctrl-0 = <&pinctrl_uart1>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 1>;
|
||||||
clock-frequency = <58820000>;
|
clock-frequency = <58820000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -111,7 +105,7 @@
|
||||||
interrupts = <0 37 4>;
|
interrupts = <0 37 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart2>;
|
pinctrl-0 = <&pinctrl_uart2>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 2>;
|
||||||
clock-frequency = <58820000>;
|
clock-frequency = <58820000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -122,7 +116,7 @@
|
||||||
interrupts = <0 177 4>;
|
interrupts = <0 177 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart3>;
|
pinctrl-0 = <&pinctrl_uart3>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 3>;
|
||||||
clock-frequency = <58820000>;
|
clock-frequency = <58820000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -213,6 +207,22 @@
|
||||||
reg = <0x59801000 0x400>;
|
reg = <0x59801000 0x400>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
perictrl@59820000 {
|
||||||
|
compatible = "socionext,uniphier-perictrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
|
reg = <0x59820000 0x200>;
|
||||||
|
|
||||||
|
peri_clk: clock {
|
||||||
|
compatible = "socionext,uniphier-ld11-peri-clock";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
peri_rst: reset {
|
||||||
|
compatible = "socionext,uniphier-ld11-peri-reset";
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
usb0: usb@5a800100 {
|
usb0: usb@5a800100 {
|
||||||
compatible = "socionext,uniphier-ehci", "generic-ehci";
|
compatible = "socionext,uniphier-ehci", "generic-ehci";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
@ -220,7 +230,7 @@
|
||||||
interrupts = <0 243 4>;
|
interrupts = <0 243 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb0>;
|
pinctrl-0 = <&pinctrl_usb0>;
|
||||||
clocks = <&mio 3>, <&mio 6>;
|
clocks = <&mio_clk 3>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb1: usb@5a810100 {
|
usb1: usb@5a810100 {
|
||||||
|
@ -230,7 +240,7 @@
|
||||||
interrupts = <0 244 4>;
|
interrupts = <0 244 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb1>;
|
pinctrl-0 = <&pinctrl_usb1>;
|
||||||
clocks = <&mio 4>, <&mio 6>;
|
clocks = <&mio_clk 4>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb2: usb@5a820100 {
|
usb2: usb@5a820100 {
|
||||||
|
@ -240,17 +250,29 @@
|
||||||
interrupts = <0 245 4>;
|
interrupts = <0 245 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb2>;
|
pinctrl-0 = <&pinctrl_usb2>;
|
||||||
clocks = <&mio 5>, <&mio 6>;
|
clocks = <&mio_clk 5>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mio: mioctrl@5b3e0000 {
|
mioctrl@5b3e0000 {
|
||||||
compatible = "socionext,ph1-ld11-mioctrl";
|
compatible = "socionext,uniphier-mioctrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
reg = <0x5b3e0000 0x800>;
|
reg = <0x5b3e0000 0x800>;
|
||||||
#clock-cells = <1>;
|
|
||||||
|
mio_clk: clock {
|
||||||
|
compatible = "socionext,uniphier-ld11-mio-clock";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
mio_rst: reset {
|
||||||
|
compatible = "socionext,uniphier-ld11-mio-reset";
|
||||||
|
#reset-cells = <1>;
|
||||||
|
resets = <&sys_rst 7>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
soc-glue@5f800000 {
|
soc-glue@5f800000 {
|
||||||
compatible = "simple-mfd", "syscon";
|
compatible = "socionext,uniphier-soc-glue",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
reg = <0x5f800000 0x2000>;
|
reg = <0x5f800000 0x2000>;
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
|
|
||||||
|
@ -273,6 +295,22 @@
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
interrupts = <1 9 4>;
|
interrupts = <1 9 4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sysctrl@61840000 {
|
||||||
|
compatible = "socionext,uniphier-ld11-sysctrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
|
reg = <0x61840000 0x4000>;
|
||||||
|
|
||||||
|
sys_clk: clock {
|
||||||
|
compatible = "socionext,uniphier-ld11-clock";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sys_rst: reset {
|
||||||
|
compatible = "socionext,uniphier-ld11-reset";
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -78,12 +78,6 @@
|
||||||
clock-frequency = <25000000>;
|
clock-frequency = <25000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart_clk: uart_clk {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <58820000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
i2c_clk: i2c_clk {
|
i2c_clk: i2c_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
@ -93,10 +87,10 @@
|
||||||
|
|
||||||
timer {
|
timer {
|
||||||
compatible = "arm,armv8-timer";
|
compatible = "arm,armv8-timer";
|
||||||
interrupts = <1 13 0xf01>,
|
interrupts = <1 13 4>,
|
||||||
<1 14 0xf01>,
|
<1 14 4>,
|
||||||
<1 11 0xf01>,
|
<1 11 4>,
|
||||||
<1 10 0xf01>;
|
<1 10 4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
|
@ -113,7 +107,7 @@
|
||||||
interrupts = <0 33 4>;
|
interrupts = <0 33 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart0>;
|
pinctrl-0 = <&pinctrl_uart0>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 0>;
|
||||||
clock-frequency = <58820000>;
|
clock-frequency = <58820000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -124,7 +118,7 @@
|
||||||
interrupts = <0 35 4>;
|
interrupts = <0 35 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart1>;
|
pinctrl-0 = <&pinctrl_uart1>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 1>;
|
||||||
clock-frequency = <58820000>;
|
clock-frequency = <58820000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -135,7 +129,7 @@
|
||||||
interrupts = <0 37 4>;
|
interrupts = <0 37 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart2>;
|
pinctrl-0 = <&pinctrl_uart2>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 2>;
|
||||||
clock-frequency = <58820000>;
|
clock-frequency = <58820000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -146,7 +140,7 @@
|
||||||
interrupts = <0 177 4>;
|
interrupts = <0 177 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart3>;
|
pinctrl-0 = <&pinctrl_uart3>;
|
||||||
clocks = <&uart_clk>;
|
clocks = <&peri_clk 3>;
|
||||||
clock-frequency = <58820000>;
|
clock-frequency = <58820000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -237,10 +231,36 @@
|
||||||
reg = <0x59801000 0x400>;
|
reg = <0x59801000 0x400>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mio: mioctrl@59810000 {
|
mioctrl@59810000 {
|
||||||
compatible = "socionext,ph1-ld20-mioctrl";
|
compatible = "socionext,uniphier-mioctrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
reg = <0x59810000 0x800>;
|
reg = <0x59810000 0x800>;
|
||||||
#clock-cells = <1>;
|
|
||||||
|
mio_clk: clock {
|
||||||
|
compatible = "socionext,uniphier-ld20-mio-clock";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
mio_rst: reset {
|
||||||
|
compatible = "socionext,uniphier-ld20-mio-reset";
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
perictrl@59820000 {
|
||||||
|
compatible = "socionext,uniphier-perictrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
|
reg = <0x59820000 0x200>;
|
||||||
|
|
||||||
|
peri_clk: clock {
|
||||||
|
compatible = "socionext,uniphier-ld20-peri-clock";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
peri_rst: reset {
|
||||||
|
compatible = "socionext,uniphier-ld20-peri-reset";
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sd: sdhc@5a400000 {
|
sd: sdhc@5a400000 {
|
||||||
|
@ -250,12 +270,13 @@
|
||||||
interrupts = <0 76 4>;
|
interrupts = <0 76 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_sd>;
|
pinctrl-0 = <&pinctrl_sd>;
|
||||||
clocks = <&mio 0>;
|
clocks = <&mio_clk 0>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
soc-glue@5f800000 {
|
soc-glue@5f800000 {
|
||||||
compatible = "simple-mfd", "syscon";
|
compatible = "socionext,uniphier-soc-glue",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
reg = <0x5f800000 0x2000>;
|
reg = <0x5f800000 0x2000>;
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
|
|
||||||
|
@ -278,6 +299,22 @@
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
interrupts = <1 9 4>;
|
interrupts = <1 9 4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sysctrl@61840000 {
|
||||||
|
compatible = "socionext,uniphier-sysctrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
|
reg = <0x61840000 0x4000>;
|
||||||
|
|
||||||
|
sys_clk: clock {
|
||||||
|
compatible = "socionext,uniphier-ld20-clock";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sys_rst: reset {
|
||||||
|
compatible = "socionext,uniphier-ld20-reset";
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -30,12 +30,6 @@
|
||||||
clock-frequency = <50000000>;
|
clock-frequency = <50000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart_clk: uart_clk {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <36864000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
iobus_clk: iobus_clk {
|
iobus_clk: iobus_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
@ -228,7 +222,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_sd>;
|
pinctrl-0 = <&pinctrl_sd>;
|
||||||
pinctrl-1 = <&pinctrl_sd_1v8>;
|
pinctrl-1 = <&pinctrl_sd_1v8>;
|
||||||
clocks = <&mio 0>;
|
clocks = <&mio_clk 0>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -240,7 +234,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_emmc>;
|
pinctrl-0 = <&pinctrl_emmc>;
|
||||||
pinctrl-1 = <&pinctrl_emmc_1v8>;
|
pinctrl-1 = <&pinctrl_emmc_1v8>;
|
||||||
clocks = <&mio 1>;
|
clocks = <&mio_clk 1>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
non-removable;
|
non-removable;
|
||||||
};
|
};
|
||||||
|
@ -252,7 +246,7 @@
|
||||||
interrupts = <0 80 4>;
|
interrupts = <0 80 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb0>;
|
pinctrl-0 = <&pinctrl_usb0>;
|
||||||
clocks = <&mio 3>, <&mio 6>;
|
clocks = <&mio_clk 3>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb1: usb@5a810100 {
|
usb1: usb@5a810100 {
|
||||||
|
@ -262,7 +256,7 @@
|
||||||
interrupts = <0 81 4>;
|
interrupts = <0 81 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb1>;
|
pinctrl-0 = <&pinctrl_usb1>;
|
||||||
clocks = <&mio 4>, <&mio 6>;
|
clocks = <&mio_clk 4>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb2: usb@5a820100 {
|
usb2: usb@5a820100 {
|
||||||
|
@ -272,7 +266,7 @@
|
||||||
interrupts = <0 82 4>;
|
interrupts = <0 82 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb2>;
|
pinctrl-0 = <&pinctrl_usb2>;
|
||||||
clocks = <&mio 5>, <&mio 6>;
|
clocks = <&mio_clk 5>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
aidet@61830000 {
|
aidet@61830000 {
|
||||||
|
@ -302,22 +296,30 @@
|
||||||
clock-frequency = <36864000>;
|
clock-frequency = <36864000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mio {
|
&mio_clk {
|
||||||
compatible = "socionext,ph1-ld4-mioctrl";
|
compatible = "socionext,uniphier-ld4-mio-clock";
|
||||||
clock-names = "stdmac", "ehci";
|
|
||||||
clocks = <&sysctrl 10>, <&sysctrl 18>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&peri {
|
&mio_rst {
|
||||||
compatible = "socionext,ph1-ld4-perictrl";
|
compatible = "socionext,uniphier-ld4-mio-reset";
|
||||||
clock-names = "uart", "i2c";
|
};
|
||||||
clocks = <&sysctrl 3>, <&sysctrl 4>;
|
|
||||||
|
&peri_clk {
|
||||||
|
compatible = "socionext,uniphier-ld4-peri-clock";
|
||||||
|
};
|
||||||
|
|
||||||
|
&peri_rst {
|
||||||
|
compatible = "socionext,uniphier-ld4-peri-reset";
|
||||||
};
|
};
|
||||||
|
|
||||||
&pinctrl {
|
&pinctrl {
|
||||||
compatible = "socionext,uniphier-ld4-pinctrl";
|
compatible = "socionext,uniphier-ld4-pinctrl";
|
||||||
};
|
};
|
||||||
|
|
||||||
&sysctrl {
|
&sys_clk {
|
||||||
compatible = "socionext,ph1-ld4-sysctrl";
|
compatible = "socionext,uniphier-ld4-clock";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sys_rst {
|
||||||
|
compatible = "socionext,uniphier-ld4-reset";
|
||||||
};
|
};
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mio {
|
&mio_clk {
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -351,7 +351,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_sd>;
|
pinctrl-0 = <&pinctrl_sd>;
|
||||||
pinctrl-1 = <&pinctrl_sd_1v8>;
|
pinctrl-1 = <&pinctrl_sd_1v8>;
|
||||||
clocks = <&mio 0>;
|
clocks = <&mio_clk 0>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -363,7 +363,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_emmc>;
|
pinctrl-0 = <&pinctrl_emmc>;
|
||||||
pinctrl-1 = <&pinctrl_emmc_1v8>;
|
pinctrl-1 = <&pinctrl_emmc_1v8>;
|
||||||
clocks = <&mio 1>;
|
clocks = <&mio_clk 1>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
non-removable;
|
non-removable;
|
||||||
};
|
};
|
||||||
|
@ -376,7 +376,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_sd1>;
|
pinctrl-0 = <&pinctrl_sd1>;
|
||||||
pinctrl-1 = <&pinctrl_sd1_1v8>;
|
pinctrl-1 = <&pinctrl_sd1_1v8>;
|
||||||
clocks = <&mio 2>;
|
clocks = <&mio_clk 2>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -387,7 +387,7 @@
|
||||||
interrupts = <0 80 4>;
|
interrupts = <0 80 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb2>;
|
pinctrl-0 = <&pinctrl_usb2>;
|
||||||
clocks = <&mio 3>, <&mio 6>;
|
clocks = <&mio_clk 3>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb3: usb@5a810100 {
|
usb3: usb@5a810100 {
|
||||||
|
@ -397,7 +397,7 @@
|
||||||
interrupts = <0 81 4>;
|
interrupts = <0 81 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb3>;
|
pinctrl-0 = <&pinctrl_usb3>;
|
||||||
clocks = <&mio 4>, <&mio 6>;
|
clocks = <&mio_clk 4>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
aidet@5fc20000 {
|
aidet@5fc20000 {
|
||||||
|
@ -444,22 +444,30 @@
|
||||||
clock-frequency = <73728000>;
|
clock-frequency = <73728000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mio {
|
&mio_clk {
|
||||||
compatible = "socionext,ph1-pro4-mioctrl";
|
compatible = "socionext,uniphier-pro4-mio-clock";
|
||||||
clock-names = "stdmac", "ehci";
|
|
||||||
clocks = <&sysctrl 10>, <&sysctrl 18>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&peri {
|
&mio_rst {
|
||||||
compatible = "socionext,ph1-pro4-perictrl";
|
compatible = "socionext,uniphier-pro4-mio-reset";
|
||||||
clock-names = "uart", "fi2c";
|
};
|
||||||
clocks = <&sysctrl 3>, <&sysctrl 4>;
|
|
||||||
|
&peri_clk {
|
||||||
|
compatible = "socionext,uniphier-pro4-peri-clock";
|
||||||
|
};
|
||||||
|
|
||||||
|
&peri_rst {
|
||||||
|
compatible = "socionext,uniphier-pro4-peri-reset";
|
||||||
};
|
};
|
||||||
|
|
||||||
&pinctrl {
|
&pinctrl {
|
||||||
compatible = "socionext,uniphier-pro4-pinctrl";
|
compatible = "socionext,uniphier-pro4-pinctrl";
|
||||||
};
|
};
|
||||||
|
|
||||||
&sysctrl {
|
&sys_clk {
|
||||||
compatible = "socionext,ph1-pro4-sysctrl";
|
compatible = "socionext,uniphier-pro4-clock";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sys_rst {
|
||||||
|
compatible = "socionext,uniphier-pro4-reset";
|
||||||
};
|
};
|
||||||
|
|
|
@ -38,12 +38,6 @@
|
||||||
clock-frequency = <50000000>;
|
clock-frequency = <50000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart_clk: uart_clk {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <73728000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
i2c_clk: i2c_clk {
|
i2c_clk: i2c_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
@ -367,7 +361,7 @@
|
||||||
interrupts = <0 78 4>;
|
interrupts = <0 78 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_emmc>;
|
pinctrl-0 = <&pinctrl_emmc>;
|
||||||
clocks = <&mio 1>;
|
clocks = <&mio_clk 1>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
non-removable;
|
non-removable;
|
||||||
};
|
};
|
||||||
|
@ -380,7 +374,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_sd>;
|
pinctrl-0 = <&pinctrl_sd>;
|
||||||
pinctrl-1 = <&pinctrl_sd_1v8>;
|
pinctrl-1 = <&pinctrl_sd_1v8>;
|
||||||
clocks = <&mio 0>;
|
clocks = <&mio_clk 0>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -423,22 +417,30 @@
|
||||||
clock-frequency = <73728000>;
|
clock-frequency = <73728000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mio {
|
&mio_clk {
|
||||||
compatible = "socionext,ph1-pro5-mioctrl";
|
compatible = "socionext,uniphier-pro5-mio-clock";
|
||||||
clock-names = "stdmac";
|
|
||||||
clocks = <&sysctrl 10>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&peri {
|
&mio_rst {
|
||||||
compatible = "socionext,ph1-pro5-perictrl";
|
compatible = "socionext,uniphier-pro5-mio-reset";
|
||||||
clock-names = "uart", "fi2c";
|
};
|
||||||
clocks = <&sysctrl 3>, <&sysctrl 4>;
|
|
||||||
|
&peri_clk {
|
||||||
|
compatible = "socionext,uniphier-pro5-peri-clock";
|
||||||
|
};
|
||||||
|
|
||||||
|
&peri_rst {
|
||||||
|
compatible = "socionext,uniphier-pro5-peri-reset";
|
||||||
};
|
};
|
||||||
|
|
||||||
&pinctrl {
|
&pinctrl {
|
||||||
compatible = "socionext,uniphier-pro5-pinctrl";
|
compatible = "socionext,uniphier-pro5-pinctrl";
|
||||||
};
|
};
|
||||||
|
|
||||||
&sysctrl {
|
&sys_clk {
|
||||||
compatible = "socionext,ph1-pro5-sysctrl";
|
compatible = "socionext,uniphier-pro5-clock";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sys_rst {
|
||||||
|
compatible = "socionext,uniphier-pro5-reset";
|
||||||
};
|
};
|
||||||
|
|
|
@ -86,10 +86,6 @@
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mio {
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
|
||||||
|
|
||||||
&emmc {
|
&emmc {
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
|
@ -42,12 +42,6 @@
|
||||||
clock-frequency = <50000000>;
|
clock-frequency = <50000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart_clk: uart_clk {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <36864000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
iobus_clk: iobus_clk {
|
iobus_clk: iobus_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
@ -92,7 +86,6 @@
|
||||||
interrupts = <0 33 4>;
|
interrupts = <0 33 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart0>;
|
pinctrl-0 = <&pinctrl_uart0>;
|
||||||
clocks = <&uart_clk>;
|
|
||||||
clock-frequency = <36864000>;
|
clock-frequency = <36864000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -103,7 +96,6 @@
|
||||||
interrupts = <0 35 4>;
|
interrupts = <0 35 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart1>;
|
pinctrl-0 = <&pinctrl_uart1>;
|
||||||
clocks = <&uart_clk>;
|
|
||||||
clock-frequency = <36864000>;
|
clock-frequency = <36864000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -114,7 +106,6 @@
|
||||||
interrupts = <0 37 4>;
|
interrupts = <0 37 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_uart2>;
|
pinctrl-0 = <&pinctrl_uart2>;
|
||||||
clocks = <&uart_clk>;
|
|
||||||
clock-frequency = <36864000>;
|
clock-frequency = <36864000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -299,12 +290,22 @@
|
||||||
reg = <0x59801000 0x400>;
|
reg = <0x59801000 0x400>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mio: mioctrl@59810000 {
|
mioctrl@59810000 {
|
||||||
compatible = "socionext,ph1-sld3-mioctrl";
|
compatible = "socionext,uniphier-mioctrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
reg = <0x59810000 0x800>;
|
reg = <0x59810000 0x800>;
|
||||||
#clock-cells = <1>;
|
u-boot,dm-pre-reloc;
|
||||||
clock-names = "stdmac", "ehci";
|
|
||||||
clocks = <&sysctrl 10>, <&sysctrl 18>;
|
mio_clk: clock {
|
||||||
|
compatible = "socionext,uniphier-sld3-mio-clock";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
mio_rst: reset {
|
||||||
|
compatible = "socionext,uniphier-sld3-mio-reset";
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
emmc: sdhc@5a400000 {
|
emmc: sdhc@5a400000 {
|
||||||
|
@ -315,7 +316,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_emmc>;
|
pinctrl-0 = <&pinctrl_emmc>;
|
||||||
pinctrl-1 = <&pinctrl_emmc_1v8>;
|
pinctrl-1 = <&pinctrl_emmc_1v8>;
|
||||||
clocks = <&mio 1>;
|
clocks = <&mio_clk 1>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
non-removable;
|
non-removable;
|
||||||
};
|
};
|
||||||
|
@ -328,7 +329,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_sd>;
|
pinctrl-0 = <&pinctrl_sd>;
|
||||||
pinctrl-1 = <&pinctrl_sd_1v8>;
|
pinctrl-1 = <&pinctrl_sd_1v8>;
|
||||||
clocks = <&mio 0>;
|
clocks = <&mio_clk 0>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -339,7 +340,7 @@
|
||||||
interrupts = <0 80 4>;
|
interrupts = <0 80 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb0>;
|
pinctrl-0 = <&pinctrl_usb0>;
|
||||||
clocks = <&mio 3>, <&mio 6>;
|
clocks = <&mio_clk 3>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb1: usb@5a810100 {
|
usb1: usb@5a810100 {
|
||||||
|
@ -349,7 +350,7 @@
|
||||||
interrupts = <0 81 4>;
|
interrupts = <0 81 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb1>;
|
pinctrl-0 = <&pinctrl_usb1>;
|
||||||
clocks = <&mio 4>, <&mio 6>;
|
clocks = <&mio_clk 4>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb2: usb@5a820100 {
|
usb2: usb@5a820100 {
|
||||||
|
@ -359,7 +360,7 @@
|
||||||
interrupts = <0 82 4>;
|
interrupts = <0 82 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb2>;
|
pinctrl-0 = <&pinctrl_usb2>;
|
||||||
clocks = <&mio 5>, <&mio 6>;
|
clocks = <&mio_clk 5>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb3: usb@5a830100 {
|
usb3: usb@5a830100 {
|
||||||
|
@ -369,7 +370,7 @@
|
||||||
interrupts = <0 83 4>;
|
interrupts = <0 83 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb3>;
|
pinctrl-0 = <&pinctrl_usb3>;
|
||||||
clocks = <&mio 7>, <&mio 6>;
|
clocks = <&mio_clk 7>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
soc-glue@5f800000 {
|
soc-glue@5f800000 {
|
||||||
|
@ -388,12 +389,20 @@
|
||||||
reg = <0xf1830000 0x200>;
|
reg = <0xf1830000 0x200>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sysctrl: sysctrl@f1840000 {
|
sysctrl@f1840000 {
|
||||||
compatible = "socionext,ph1-sld3-sysctrl";
|
compatible = "socionext,uniphier-sysctrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
reg = <0xf1840000 0x4000>;
|
reg = <0xf1840000 0x4000>;
|
||||||
#clock-cells = <1>;
|
|
||||||
clock-names = "ref";
|
sys_clk: clock {
|
||||||
clocks = <&refclk>;
|
compatible = "socionext,uniphier-sld3-clock";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sys_rst: reset {
|
||||||
|
compatible = "socionext,uniphier-sld3-reset";
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nand: nand@f8000000 {
|
nand: nand@f8000000 {
|
||||||
|
|
|
@ -30,12 +30,6 @@
|
||||||
clock-frequency = <50000000>;
|
clock-frequency = <50000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart_clk: uart_clk {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <80000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
iobus_clk: iobus_clk {
|
iobus_clk: iobus_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
@ -228,7 +222,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_sd>;
|
pinctrl-0 = <&pinctrl_sd>;
|
||||||
pinctrl-1 = <&pinctrl_sd_1v8>;
|
pinctrl-1 = <&pinctrl_sd_1v8>;
|
||||||
clocks = <&mio 0>;
|
clocks = <&mio_clk 0>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -240,7 +234,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_emmc>;
|
pinctrl-0 = <&pinctrl_emmc>;
|
||||||
pinctrl-1 = <&pinctrl_emmc_1v8>;
|
pinctrl-1 = <&pinctrl_emmc_1v8>;
|
||||||
clocks = <&mio 1>;
|
clocks = <&mio_clk 1>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
non-removable;
|
non-removable;
|
||||||
};
|
};
|
||||||
|
@ -252,7 +246,7 @@
|
||||||
interrupts = <0 80 4>;
|
interrupts = <0 80 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb0>;
|
pinctrl-0 = <&pinctrl_usb0>;
|
||||||
clocks = <&mio 3>, <&mio 6>;
|
clocks = <&mio_clk 3>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb1: usb@5a810100 {
|
usb1: usb@5a810100 {
|
||||||
|
@ -262,7 +256,7 @@
|
||||||
interrupts = <0 81 4>;
|
interrupts = <0 81 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb1>;
|
pinctrl-0 = <&pinctrl_usb1>;
|
||||||
clocks = <&mio 4>, <&mio 6>;
|
clocks = <&mio_clk 4>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb2: usb@5a820100 {
|
usb2: usb@5a820100 {
|
||||||
|
@ -272,7 +266,7 @@
|
||||||
interrupts = <0 82 4>;
|
interrupts = <0 82 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usb2>;
|
pinctrl-0 = <&pinctrl_usb2>;
|
||||||
clocks = <&mio 5>, <&mio 6>;
|
clocks = <&mio_clk 5>, <&mio_clk 6>;
|
||||||
};
|
};
|
||||||
|
|
||||||
aidet@61830000 {
|
aidet@61830000 {
|
||||||
|
@ -302,22 +296,30 @@
|
||||||
clock-frequency = <80000000>;
|
clock-frequency = <80000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mio {
|
&mio_clk {
|
||||||
compatible = "socionext,ph1-sld8-mioctrl";
|
compatible = "socionext,uniphier-sld8-mio-clock";
|
||||||
clock-names = "stdmac", "ehci";
|
|
||||||
clocks = <&sysctrl 10>, <&sysctrl 18>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&peri {
|
&mio_rst {
|
||||||
compatible = "socionext,ph1-sld8-perictrl";
|
compatible = "socionext,uniphier-sld8-mio-reset";
|
||||||
clock-names = "uart", "i2c";
|
};
|
||||||
clocks = <&sysctrl 3>, <&sysctrl 4>;
|
|
||||||
|
&peri_clk {
|
||||||
|
compatible = "socionext,uniphier-sld8-peri-clock";
|
||||||
|
};
|
||||||
|
|
||||||
|
&peri_rst {
|
||||||
|
compatible = "socionext,uniphier-sld8-peri-reset";
|
||||||
};
|
};
|
||||||
|
|
||||||
&pinctrl {
|
&pinctrl {
|
||||||
compatible = "socionext,uniphier-sld8-pinctrl";
|
compatible = "socionext,uniphier-sld8-pinctrl";
|
||||||
};
|
};
|
||||||
|
|
||||||
&sysctrl {
|
&sys_clk {
|
||||||
compatible = "socionext,ph1-sld8-sysctrl";
|
compatible = "socionext,uniphier-sld8-clock";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sys_rst {
|
||||||
|
compatible = "socionext,uniphier-sld8-reset";
|
||||||
};
|
};
|
||||||
|
|
|
@ -69,7 +69,7 @@
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mio {
|
&mio_clk {
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mio {
|
&mio_clk {
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -52,12 +52,6 @@
|
||||||
clock-frequency = <50000000>;
|
clock-frequency = <50000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart_clk: uart_clk {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <88900000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
i2c_clk: i2c_clk {
|
i2c_clk: i2c_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
@ -366,7 +360,7 @@
|
||||||
interrupts = <0 78 4>;
|
interrupts = <0 78 4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_emmc>;
|
pinctrl-0 = <&pinctrl_emmc>;
|
||||||
clocks = <&mio 1>;
|
clocks = <&mio_clk 1>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
non-removable;
|
non-removable;
|
||||||
};
|
};
|
||||||
|
@ -379,7 +373,7 @@
|
||||||
pinctrl-names = "default", "1.8v";
|
pinctrl-names = "default", "1.8v";
|
||||||
pinctrl-0 = <&pinctrl_sd>;
|
pinctrl-0 = <&pinctrl_sd>;
|
||||||
pinctrl-1 = <&pinctrl_sd_1v8>;
|
pinctrl-1 = <&pinctrl_sd_1v8>;
|
||||||
clocks = <&mio 0>;
|
clocks = <&mio_clk 0>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -427,22 +421,30 @@
|
||||||
clock-frequency = <88900000>;
|
clock-frequency = <88900000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mio {
|
&mio_clk {
|
||||||
compatible = "socionext,proxstream2-mioctrl";
|
compatible = "socionext,uniphier-pxs2-mio-clock";
|
||||||
clock-names = "stdmac";
|
|
||||||
clocks = <&sysctrl 10>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&peri {
|
&mio_rst {
|
||||||
compatible = "socionext,proxstream2-perictrl";
|
compatible = "socionext,uniphier-pxs2-mio-reset";
|
||||||
clock-names = "uart", "fi2c";
|
};
|
||||||
clocks = <&sysctrl 3>, <&sysctrl 4>;
|
|
||||||
|
&peri_clk {
|
||||||
|
compatible = "socionext,uniphier-pxs2-peri-clock";
|
||||||
|
};
|
||||||
|
|
||||||
|
&peri_rst {
|
||||||
|
compatible = "socionext,uniphier-pxs2-peri-reset";
|
||||||
};
|
};
|
||||||
|
|
||||||
&pinctrl {
|
&pinctrl {
|
||||||
compatible = "socionext,uniphier-pxs2-pinctrl";
|
compatible = "socionext,uniphier-pxs2-pinctrl";
|
||||||
};
|
};
|
||||||
|
|
||||||
&sysctrl {
|
&sys_clk {
|
||||||
compatible = "socionext,proxstream2-sysctrl";
|
compatible = "socionext,uniphier-pxs2-clock";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sys_rst {
|
||||||
|
compatible = "socionext,uniphier-pxs2-reset";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,20 +1,5 @@
|
||||||
if ARCH_UNIPHIER
|
if ARCH_UNIPHIER
|
||||||
|
|
||||||
config SPL_LIBCOMMON_SUPPORT
|
|
||||||
default y
|
|
||||||
|
|
||||||
config SPL_LIBGENERIC_SUPPORT
|
|
||||||
default y
|
|
||||||
|
|
||||||
config SPL_MMC_SUPPORT
|
|
||||||
default y if !ARCH_UNIPHIER_64BIT
|
|
||||||
|
|
||||||
config SPL_NAND_SUPPORT
|
|
||||||
default y if !ARM64
|
|
||||||
|
|
||||||
config SPL_SERIAL_SUPPORT
|
|
||||||
default y
|
|
||||||
|
|
||||||
config SYS_CONFIG_NAME
|
config SYS_CONFIG_NAME
|
||||||
default "uniphier"
|
default "uniphier"
|
||||||
|
|
||||||
|
|
|
@ -128,6 +128,7 @@ int board_init(void)
|
||||||
sg_set_pinsel(153, 14, 8, 4); /* XIRQ4 -> XIRQ4 */
|
sg_set_pinsel(153, 14, 8, 4); /* XIRQ4 -> XIRQ4 */
|
||||||
sg_set_iectrl(153);
|
sg_set_iectrl(153);
|
||||||
led_puts("U1");
|
led_puts("U1");
|
||||||
|
uniphier_ld11_pll_init();
|
||||||
uniphier_ld11_clk_init();
|
uniphier_ld11_clk_init();
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -11,7 +11,7 @@ obj-$(CONFIG_ARCH_UNIPHIER_SLD8) += early-clk-ld4.o dpll-sld8.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_PRO5) += early-clk-pro5.o
|
obj-$(CONFIG_ARCH_UNIPHIER_PRO5) += early-clk-pro5.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_PXS2) += early-clk-pxs2.o
|
obj-$(CONFIG_ARCH_UNIPHIER_PXS2) += early-clk-pxs2.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_LD6B) += early-clk-pxs2.o
|
obj-$(CONFIG_ARCH_UNIPHIER_LD6B) += early-clk-pxs2.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_LD11) += early-clk-ld11.o
|
obj-$(CONFIG_ARCH_UNIPHIER_LD11) += early-clk-ld11.o dpll-ld11.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_LD20) += early-clk-ld20.o dpll-ld20.o
|
obj-$(CONFIG_ARCH_UNIPHIER_LD20) += early-clk-ld20.o dpll-ld20.o
|
||||||
|
|
||||||
else
|
else
|
||||||
|
@ -23,9 +23,10 @@ obj-$(CONFIG_ARCH_UNIPHIER_SLD8) += clk-ld4.o pll-ld4.o dpll-tail.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_PRO5) += clk-pro5.o
|
obj-$(CONFIG_ARCH_UNIPHIER_PRO5) += clk-pro5.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_PXS2) += clk-pxs2.o
|
obj-$(CONFIG_ARCH_UNIPHIER_PXS2) += clk-pxs2.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_LD6B) += clk-pxs2.o
|
obj-$(CONFIG_ARCH_UNIPHIER_LD6B) += clk-pxs2.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_LD11) += clk-ld11.o
|
obj-$(CONFIG_ARCH_UNIPHIER_LD11) += clk-ld11.o pll-ld11.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_LD20) += clk-ld20.o pll-ld20.o
|
obj-$(CONFIG_ARCH_UNIPHIER_LD20) += clk-ld20.o pll-ld20.o
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
obj-$(CONFIG_ARCH_UNIPHIER_LD11) += pll-base-ld20.o
|
||||||
obj-$(CONFIG_ARCH_UNIPHIER_LD20) += pll-base-ld20.o
|
obj-$(CONFIG_ARCH_UNIPHIER_LD20) += pll-base-ld20.o
|
||||||
|
|
16
arch/arm/mach-uniphier/clk/dpll-ld11.c
Normal file
16
arch/arm/mach-uniphier/clk/dpll-ld11.c
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2016 Socionext Inc.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0+
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../init.h"
|
||||||
|
#include "../sc64-regs.h"
|
||||||
|
#include "pll.h"
|
||||||
|
|
||||||
|
int uniphier_ld11_dpll_init(const struct uniphier_board_data *bd)
|
||||||
|
{
|
||||||
|
uniphier_ld20_sscpll_init(SC_DPLLCTRL, UNIPHIER_PLL_FREQ_DEFAULT, 0, 2);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
32
arch/arm/mach-uniphier/clk/pll-ld11.c
Normal file
32
arch/arm/mach-uniphier/clk/pll-ld11.c
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2016 Socionext Inc.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0+
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
#include <linux/io.h>
|
||||||
|
|
||||||
|
#include "../init.h"
|
||||||
|
#include "../sc64-regs.h"
|
||||||
|
#include "pll.h"
|
||||||
|
|
||||||
|
void uniphier_ld11_pll_init(void)
|
||||||
|
{
|
||||||
|
uniphier_ld20_sscpll_init(SC_CPLLCTRL, 1960, 1, 2); /* 2000MHz -> 1960MHz */
|
||||||
|
/* do nothing for SPLL */
|
||||||
|
uniphier_ld20_sscpll_init(SC_MPLLCTRL, 1600, 1, 2); /* 1500MHz -> 1600MHz */
|
||||||
|
uniphier_ld20_sscpll_init(SC_VSPLLCTRL, UNIPHIER_PLL_FREQ_DEFAULT, 0, 2);
|
||||||
|
|
||||||
|
mdelay(1);
|
||||||
|
|
||||||
|
uniphier_ld20_sscpll_ssc_en(SC_CPLLCTRL);
|
||||||
|
uniphier_ld20_sscpll_ssc_en(SC_MPLLCTRL);
|
||||||
|
uniphier_ld20_sscpll_ssc_en(SC_VSPLLCTRL);
|
||||||
|
|
||||||
|
uniphier_ld20_vpll27_init(SC_VPLL27FCTRL);
|
||||||
|
uniphier_ld20_vpll27_init(SC_VPLL27ACTRL);
|
||||||
|
|
||||||
|
writel(0, SC_CA53_GEARSET); /* Gear0: CPLL/2 */
|
||||||
|
writel(SC_CA_GEARUPD, SC_CA53_GEARUPD);
|
||||||
|
}
|
|
@ -87,6 +87,7 @@ int uniphier_sld3_dpll_init(const struct uniphier_board_data *bd);
|
||||||
int uniphier_ld4_dpll_init(const struct uniphier_board_data *bd);
|
int uniphier_ld4_dpll_init(const struct uniphier_board_data *bd);
|
||||||
int uniphier_pro4_dpll_init(const struct uniphier_board_data *bd);
|
int uniphier_pro4_dpll_init(const struct uniphier_board_data *bd);
|
||||||
int uniphier_sld8_dpll_init(const struct uniphier_board_data *bd);
|
int uniphier_sld8_dpll_init(const struct uniphier_board_data *bd);
|
||||||
|
int uniphier_ld11_dpll_init(const struct uniphier_board_data *bd);
|
||||||
int uniphier_ld20_dpll_init(const struct uniphier_board_data *bd);
|
int uniphier_ld20_dpll_init(const struct uniphier_board_data *bd);
|
||||||
|
|
||||||
int uniphier_ld4_early_clk_init(const struct uniphier_board_data *bd);
|
int uniphier_ld4_early_clk_init(const struct uniphier_board_data *bd);
|
||||||
|
@ -105,6 +106,7 @@ int uniphier_ld11_umc_init(const struct uniphier_board_data *bd);
|
||||||
void uniphier_sld3_pll_init(void);
|
void uniphier_sld3_pll_init(void);
|
||||||
void uniphier_ld4_pll_init(void);
|
void uniphier_ld4_pll_init(void);
|
||||||
void uniphier_pro4_pll_init(void);
|
void uniphier_pro4_pll_init(void);
|
||||||
|
void uniphier_ld11_pll_init(void);
|
||||||
int uniphier_ld20_pll_init(const struct uniphier_board_data *bd);
|
int uniphier_ld20_pll_init(const struct uniphier_board_data *bd);
|
||||||
|
|
||||||
void uniphier_ld4_clk_init(void);
|
void uniphier_ld4_clk_init(void);
|
||||||
|
|
|
@ -31,12 +31,14 @@ int uniphier_ld11_init(const struct uniphier_board_data *bd)
|
||||||
|
|
||||||
led_puts("L2");
|
led_puts("L2");
|
||||||
|
|
||||||
led_puts("L3");
|
|
||||||
|
|
||||||
#ifdef CONFIG_SPL_SERIAL_SUPPORT
|
#ifdef CONFIG_SPL_SERIAL_SUPPORT
|
||||||
preloader_console_init();
|
preloader_console_init();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
led_puts("L3");
|
||||||
|
|
||||||
|
uniphier_ld11_dpll_init(bd);
|
||||||
|
|
||||||
led_puts("L4");
|
led_puts("L4");
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,12 +13,14 @@
|
||||||
#define SC_BASE_ADDR 0x61840000
|
#define SC_BASE_ADDR 0x61840000
|
||||||
|
|
||||||
/* PLL type: SSC */
|
/* PLL type: SSC */
|
||||||
#define SC_CPLLCTRL (SC_BASE_ADDR | 0x1400) /* LD20: CPU/ARM */
|
#define SC_CPLLCTRL (SC_BASE_ADDR | 0x1400) /* LD11/20: CPU/ARM */
|
||||||
#define SC_SPLLCTRL (SC_BASE_ADDR | 0x1410) /* LD20: misc */
|
#define SC_SPLLCTRL (SC_BASE_ADDR | 0x1410) /* LD11/20: misc */
|
||||||
#define SC_SPLL2CTRL (SC_BASE_ADDR | 0x1420) /* LD20: IPP */
|
#define SC_SPLL2CTRL (SC_BASE_ADDR | 0x1420) /* LD20: IPP */
|
||||||
#define SC_MPLLCTRL (SC_BASE_ADDR | 0x1430) /* LD20: Video codec */
|
#define SC_MPLLCTRL (SC_BASE_ADDR | 0x1430) /* LD11/20: Video codec */
|
||||||
|
#define SC_VSPLLCTRL (SC_BASE_ADDR | 0x1440) /* LD11 */
|
||||||
#define SC_VPPLLCTRL (SC_BASE_ADDR | 0x1440) /* LD20: VPE etc. */
|
#define SC_VPPLLCTRL (SC_BASE_ADDR | 0x1440) /* LD20: VPE etc. */
|
||||||
#define SC_GPPLLCTRL (SC_BASE_ADDR | 0x1450) /* LD20: GPU/Mali */
|
#define SC_GPPLLCTRL (SC_BASE_ADDR | 0x1450) /* LD20: GPU/Mali */
|
||||||
|
#define SC_DPLLCTRL (SC_BASE_ADDR | 0x1460) /* LD11: DDR memory */
|
||||||
#define SC_DPLL0CTRL (SC_BASE_ADDR | 0x1460) /* LD20: DDR memory 0 */
|
#define SC_DPLL0CTRL (SC_BASE_ADDR | 0x1460) /* LD20: DDR memory 0 */
|
||||||
#define SC_DPLL1CTRL (SC_BASE_ADDR | 0x1470) /* LD20: DDR memory 1 */
|
#define SC_DPLL1CTRL (SC_BASE_ADDR | 0x1470) /* LD20: DDR memory 1 */
|
||||||
#define SC_DPLL2CTRL (SC_BASE_ADDR | 0x1480) /* LD20: DDR memory 2 */
|
#define SC_DPLL2CTRL (SC_BASE_ADDR | 0x1480) /* LD20: DDR memory 2 */
|
||||||
|
@ -61,4 +63,12 @@
|
||||||
#define SC_CLKCTRL7_UMC31 (1 << 1)
|
#define SC_CLKCTRL7_UMC31 (1 << 1)
|
||||||
#define SC_CLKCTRL7_UMC30 (1 << 0)
|
#define SC_CLKCTRL7_UMC30 (1 << 0)
|
||||||
|
|
||||||
|
#define SC_CA72_GEARST (SC_BASE_ADDR | 0x8080)
|
||||||
|
#define SC_CA72_GEARSET (SC_BASE_ADDR | 0x8084)
|
||||||
|
#define SC_CA72_GEARUPD (SC_BASE_ADDR | 0x8088)
|
||||||
|
#define SC_CA53_GEARST (SC_BASE_ADDR | 0x8080)
|
||||||
|
#define SC_CA53_GEARSET (SC_BASE_ADDR | 0x8084)
|
||||||
|
#define SC_CA53_GEARUPD (SC_BASE_ADDR | 0x8088)
|
||||||
|
#define SC_CA_GEARUPD (1 << 0)
|
||||||
|
|
||||||
#endif /* SC64_REGS_H */
|
#endif /* SC64_REGS_H */
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_ARCH_UNIPHIER=y
|
CONFIG_ARCH_UNIPHIER=y
|
||||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||||
|
CONFIG_SPL_SERIAL_SUPPORT=y
|
||||||
CONFIG_ARCH_UNIPHIER_LD11=y
|
CONFIG_ARCH_UNIPHIER_LD11=y
|
||||||
CONFIG_MICRO_SUPPORT_CARD=y
|
CONFIG_MICRO_SUPPORT_CARD=y
|
||||||
CONFIG_SYS_TEXT_BASE=0x84000000
|
CONFIG_SYS_TEXT_BASE=0x84000000
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_ARCH_UNIPHIER=y
|
CONFIG_ARCH_UNIPHIER=y
|
||||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||||
|
CONFIG_SPL_SERIAL_SUPPORT=y
|
||||||
CONFIG_ARCH_UNIPHIER_LD20=y
|
CONFIG_ARCH_UNIPHIER_LD20=y
|
||||||
CONFIG_MICRO_SUPPORT_CARD=y
|
CONFIG_MICRO_SUPPORT_CARD=y
|
||||||
CONFIG_SYS_TEXT_BASE=0x84000000
|
CONFIG_SYS_TEXT_BASE=0x84000000
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_ARCH_UNIPHIER=y
|
CONFIG_ARCH_UNIPHIER=y
|
||||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||||
|
CONFIG_SPL_MMC_SUPPORT=y
|
||||||
|
CONFIG_SPL_NAND_SUPPORT=y
|
||||||
|
CONFIG_SPL_SERIAL_SUPPORT=y
|
||||||
CONFIG_ARCH_UNIPHIER_LD4_SLD8=y
|
CONFIG_ARCH_UNIPHIER_LD4_SLD8=y
|
||||||
CONFIG_MICRO_SUPPORT_CARD=y
|
CONFIG_MICRO_SUPPORT_CARD=y
|
||||||
CONFIG_SYS_TEXT_BASE=0x84000000
|
CONFIG_SYS_TEXT_BASE=0x84000000
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_ARCH_UNIPHIER=y
|
CONFIG_ARCH_UNIPHIER=y
|
||||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||||
|
CONFIG_SPL_MMC_SUPPORT=y
|
||||||
|
CONFIG_SPL_NAND_SUPPORT=y
|
||||||
|
CONFIG_SPL_SERIAL_SUPPORT=y
|
||||||
CONFIG_MICRO_SUPPORT_CARD=y
|
CONFIG_MICRO_SUPPORT_CARD=y
|
||||||
CONFIG_SYS_TEXT_BASE=0x84000000
|
CONFIG_SYS_TEXT_BASE=0x84000000
|
||||||
CONFIG_DEFAULT_DEVICE_TREE="uniphier-ph1-pro4-ref"
|
CONFIG_DEFAULT_DEVICE_TREE="uniphier-ph1-pro4-ref"
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_ARCH_UNIPHIER=y
|
CONFIG_ARCH_UNIPHIER=y
|
||||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||||
|
CONFIG_SPL_MMC_SUPPORT=y
|
||||||
|
CONFIG_SPL_NAND_SUPPORT=y
|
||||||
|
CONFIG_SPL_SERIAL_SUPPORT=y
|
||||||
CONFIG_ARCH_UNIPHIER_PRO5_PXS2_LD6B=y
|
CONFIG_ARCH_UNIPHIER_PRO5_PXS2_LD6B=y
|
||||||
CONFIG_MICRO_SUPPORT_CARD=y
|
CONFIG_MICRO_SUPPORT_CARD=y
|
||||||
CONFIG_SYS_TEXT_BASE=0x84000000
|
CONFIG_SYS_TEXT_BASE=0x84000000
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_ARCH_UNIPHIER=y
|
CONFIG_ARCH_UNIPHIER=y
|
||||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||||
|
CONFIG_SPL_MMC_SUPPORT=y
|
||||||
|
CONFIG_SPL_NAND_SUPPORT=y
|
||||||
|
CONFIG_SPL_SERIAL_SUPPORT=y
|
||||||
CONFIG_ARCH_UNIPHIER_SLD3=y
|
CONFIG_ARCH_UNIPHIER_SLD3=y
|
||||||
CONFIG_MICRO_SUPPORT_CARD=y
|
CONFIG_MICRO_SUPPORT_CARD=y
|
||||||
CONFIG_SYS_TEXT_BASE=0x84000000
|
CONFIG_SYS_TEXT_BASE=0x84000000
|
||||||
|
|
|
@ -14,10 +14,39 @@
|
||||||
|
|
||||||
#include "clk-uniphier.h"
|
#include "clk-uniphier.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct uniphier_clk_priv - private data for UniPhier clock driver
|
||||||
|
*
|
||||||
|
* @base: base address of the clock provider
|
||||||
|
* @socdata: SoC specific data
|
||||||
|
*/
|
||||||
|
struct uniphier_clk_priv {
|
||||||
|
void __iomem *base;
|
||||||
|
const struct uniphier_clk_soc_data *socdata;
|
||||||
|
};
|
||||||
|
|
||||||
|
int uniphier_clk_probe(struct udevice *dev)
|
||||||
|
{
|
||||||
|
struct uniphier_clk_priv *priv = dev_get_priv(dev);
|
||||||
|
fdt_addr_t addr;
|
||||||
|
|
||||||
|
addr = dev_get_addr(dev->parent);
|
||||||
|
if (addr == FDT_ADDR_T_NONE)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
priv->base = devm_ioremap(dev, addr, SZ_4K);
|
||||||
|
if (!priv->base)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
priv->socdata = (void *)dev_get_driver_data(dev);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int uniphier_clk_enable(struct clk *clk)
|
static int uniphier_clk_enable(struct clk *clk)
|
||||||
{
|
{
|
||||||
struct uniphier_clk_priv *priv = dev_get_priv(clk->dev);
|
struct uniphier_clk_priv *priv = dev_get_priv(clk->dev);
|
||||||
struct uniphier_clk_gate_data *gate = priv->socdata->gate;
|
const struct uniphier_clk_gate_data *gate = priv->socdata->gate;
|
||||||
unsigned int nr_gate = priv->socdata->nr_gate;
|
unsigned int nr_gate = priv->socdata->nr_gate;
|
||||||
void __iomem *reg;
|
void __iomem *reg;
|
||||||
u32 mask, data, tmp;
|
u32 mask, data, tmp;
|
||||||
|
@ -44,7 +73,7 @@ static int uniphier_clk_enable(struct clk *clk)
|
||||||
static ulong uniphier_clk_get_rate(struct clk *clk)
|
static ulong uniphier_clk_get_rate(struct clk *clk)
|
||||||
{
|
{
|
||||||
struct uniphier_clk_priv *priv = dev_get_priv(clk->dev);
|
struct uniphier_clk_priv *priv = dev_get_priv(clk->dev);
|
||||||
struct uniphier_clk_rate_data *rdata = priv->socdata->rate;
|
const struct uniphier_clk_rate_data *rdata = priv->socdata->rate;
|
||||||
unsigned int nr_rdata = priv->socdata->nr_rate;
|
unsigned int nr_rdata = priv->socdata->nr_rate;
|
||||||
void __iomem *reg;
|
void __iomem *reg;
|
||||||
u32 mask, data;
|
u32 mask, data;
|
||||||
|
@ -78,7 +107,7 @@ static ulong uniphier_clk_get_rate(struct clk *clk)
|
||||||
static ulong uniphier_clk_set_rate(struct clk *clk, ulong rate)
|
static ulong uniphier_clk_set_rate(struct clk *clk, ulong rate)
|
||||||
{
|
{
|
||||||
struct uniphier_clk_priv *priv = dev_get_priv(clk->dev);
|
struct uniphier_clk_priv *priv = dev_get_priv(clk->dev);
|
||||||
struct uniphier_clk_rate_data *rdata = priv->socdata->rate;
|
const struct uniphier_clk_rate_data *rdata = priv->socdata->rate;
|
||||||
unsigned int nr_rdata = priv->socdata->nr_rate;
|
unsigned int nr_rdata = priv->socdata->nr_rate;
|
||||||
void __iomem *reg;
|
void __iomem *reg;
|
||||||
u32 mask, data, tmp;
|
u32 mask, data, tmp;
|
||||||
|
@ -128,20 +157,47 @@ const struct clk_ops uniphier_clk_ops = {
|
||||||
.set_rate = uniphier_clk_set_rate,
|
.set_rate = uniphier_clk_set_rate,
|
||||||
};
|
};
|
||||||
|
|
||||||
int uniphier_clk_probe(struct udevice *dev)
|
static const struct udevice_id uniphier_clk_match[] = {
|
||||||
{
|
{
|
||||||
struct uniphier_clk_priv *priv = dev_get_priv(dev);
|
.compatible = "socionext,uniphier-sld3-mio-clock",
|
||||||
fdt_addr_t addr;
|
.data = (ulong)&uniphier_mio_clk_data,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.compatible = "socionext,uniphier-ld4-mio-clock",
|
||||||
|
.data = (ulong)&uniphier_mio_clk_data,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.compatible = "socionext,uniphier-pro4-mio-clock",
|
||||||
|
.data = (ulong)&uniphier_mio_clk_data,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.compatible = "socionext,uniphier-sld8-mio-clock",
|
||||||
|
.data = (ulong)&uniphier_mio_clk_data,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.compatible = "socionext,uniphier-pro5-mio-clock",
|
||||||
|
.data = (ulong)&uniphier_mio_clk_data,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.compatible = "socionext,uniphier-pxs2-mio-clock",
|
||||||
|
.data = (ulong)&uniphier_mio_clk_data,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.compatible = "socionext,uniphier-ld11-mio-clock",
|
||||||
|
.data = (ulong)&uniphier_mio_clk_data,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.compatible = "socionext,uniphier-ld20-mio-clock",
|
||||||
|
.data = (ulong)&uniphier_mio_clk_data,
|
||||||
|
},
|
||||||
|
{ /* sentinel */ }
|
||||||
|
};
|
||||||
|
|
||||||
addr = dev_get_addr(dev);
|
U_BOOT_DRIVER(uniphier_clk) = {
|
||||||
if (addr == FDT_ADDR_T_NONE)
|
.name = "uniphier-clk",
|
||||||
return -EINVAL;
|
.id = UCLASS_CLK,
|
||||||
|
.of_match = uniphier_clk_match,
|
||||||
priv->base = devm_ioremap(dev, addr, SZ_4K);
|
.probe = uniphier_clk_probe,
|
||||||
if (!priv->base)
|
.priv_auto_alloc_size = sizeof(struct uniphier_clk_priv),
|
||||||
return -ENOMEM;
|
.ops = &uniphier_clk_ops,
|
||||||
|
};
|
||||||
priv->socdata = (void *)dev_get_driver_data(dev);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
.data = 0x00020000, \
|
.data = 0x00020000, \
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct uniphier_clk_gate_data uniphier_mio_clk_gate[] = {
|
static const struct uniphier_clk_gate_data uniphier_mio_clk_gate[] = {
|
||||||
UNIPHIER_MIO_CLK_GATE_SD(0, 0),
|
UNIPHIER_MIO_CLK_GATE_SD(0, 0),
|
||||||
UNIPHIER_MIO_CLK_GATE_SD(1, 1),
|
UNIPHIER_MIO_CLK_GATE_SD(1, 1),
|
||||||
UNIPHIER_MIO_CLK_GATE_SD(2, 2), /* for PH1-Pro4 only */
|
UNIPHIER_MIO_CLK_GATE_SD(2, 2), /* for PH1-Pro4 only */
|
||||||
|
@ -126,60 +126,15 @@ static struct uniphier_clk_gate_data uniphier_mio_clk_gate[] = {
|
||||||
UNIPHIER_MIO_CLK_GATE_USB(3, 7), /* for PH1-sLD3 only */
|
UNIPHIER_MIO_CLK_GATE_USB(3, 7), /* for PH1-sLD3 only */
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct uniphier_clk_rate_data uniphier_mio_clk_rate[] = {
|
static const struct uniphier_clk_rate_data uniphier_mio_clk_rate[] = {
|
||||||
UNIPHIER_MIO_CLK_RATE_SD(0, 0),
|
UNIPHIER_MIO_CLK_RATE_SD(0, 0),
|
||||||
UNIPHIER_MIO_CLK_RATE_SD(1, 1),
|
UNIPHIER_MIO_CLK_RATE_SD(1, 1),
|
||||||
UNIPHIER_MIO_CLK_RATE_SD(2, 2), /* for PH1-Pro4 only */
|
UNIPHIER_MIO_CLK_RATE_SD(2, 2), /* for PH1-Pro4 only */
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct uniphier_clk_soc_data uniphier_mio_clk_data = {
|
const struct uniphier_clk_soc_data uniphier_mio_clk_data = {
|
||||||
.gate = uniphier_mio_clk_gate,
|
.gate = uniphier_mio_clk_gate,
|
||||||
.nr_gate = ARRAY_SIZE(uniphier_mio_clk_gate),
|
.nr_gate = ARRAY_SIZE(uniphier_mio_clk_gate),
|
||||||
.rate = uniphier_mio_clk_rate,
|
.rate = uniphier_mio_clk_rate,
|
||||||
.nr_rate = ARRAY_SIZE(uniphier_mio_clk_rate),
|
.nr_rate = ARRAY_SIZE(uniphier_mio_clk_rate),
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct udevice_id uniphier_mio_clk_match[] = {
|
|
||||||
{
|
|
||||||
.compatible = "socionext,ph1-sld3-mioctrl",
|
|
||||||
.data = (ulong)&uniphier_mio_clk_data,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.compatible = "socionext,ph1-ld4-mioctrl",
|
|
||||||
.data = (ulong)&uniphier_mio_clk_data,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.compatible = "socionext,ph1-pro4-mioctrl",
|
|
||||||
.data = (ulong)&uniphier_mio_clk_data,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.compatible = "socionext,ph1-sld8-mioctrl",
|
|
||||||
.data = (ulong)&uniphier_mio_clk_data,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.compatible = "socionext,ph1-pro5-mioctrl",
|
|
||||||
.data = (ulong)&uniphier_mio_clk_data,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.compatible = "socionext,proxstream2-mioctrl",
|
|
||||||
.data = (ulong)&uniphier_mio_clk_data,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.compatible = "socionext,ph1-ld11-mioctrl",
|
|
||||||
.data = (ulong)&uniphier_mio_clk_data,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.compatible = "socionext,ph1-ld20-mioctrl",
|
|
||||||
.data = (ulong)&uniphier_mio_clk_data,
|
|
||||||
},
|
|
||||||
{ /* sentinel */ }
|
|
||||||
};
|
|
||||||
|
|
||||||
U_BOOT_DRIVER(uniphier_mio_clk) = {
|
|
||||||
.name = "uniphier-mio-clk",
|
|
||||||
.id = UCLASS_CLK,
|
|
||||||
.of_match = uniphier_mio_clk_match,
|
|
||||||
.probe = uniphier_clk_probe,
|
|
||||||
.priv_auto_alloc_size = sizeof(struct uniphier_clk_priv),
|
|
||||||
.ops = &uniphier_clk_ops,
|
|
||||||
};
|
|
||||||
|
|
|
@ -27,9 +27,9 @@ struct uniphier_clk_rate_data {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct uniphier_clk_soc_data {
|
struct uniphier_clk_soc_data {
|
||||||
struct uniphier_clk_gate_data *gate;
|
const struct uniphier_clk_gate_data *gate;
|
||||||
unsigned int nr_gate;
|
unsigned int nr_gate;
|
||||||
struct uniphier_clk_rate_data *rate;
|
const struct uniphier_clk_rate_data *rate;
|
||||||
unsigned int nr_rate;
|
unsigned int nr_rate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -40,18 +40,6 @@ struct uniphier_clk_soc_data {
|
||||||
.rate = f, \
|
.rate = f, \
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
extern const struct uniphier_clk_soc_data uniphier_mio_clk_data;
|
||||||
* struct uniphier_clk_priv - private data for UniPhier clock driver
|
|
||||||
*
|
|
||||||
* @base: base address of the clock provider
|
|
||||||
* @socdata: SoC specific data
|
|
||||||
*/
|
|
||||||
struct uniphier_clk_priv {
|
|
||||||
void __iomem *base;
|
|
||||||
struct uniphier_clk_soc_data *socdata;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern const struct clk_ops uniphier_clk_ops;
|
|
||||||
int uniphier_clk_probe(struct udevice *dev);
|
|
||||||
|
|
||||||
#endif /* __CLK_UNIPHIER_H__ */
|
#endif /* __CLK_UNIPHIER_H__ */
|
||||||
|
|
Loading…
Add table
Reference in a new issue