[U-Boot] [PATCH v2 0/9] rockchip: rk3288-vyasa: dts fixes/additions

Series add new dts nodes like gmac, usb, io_domains and fixed existing regulator, pmic stuff as per schematic.
Changes for v2: - Collect Acked-by and Reviewed-by tags from Philipp - Add eMMC boot support - Add missing commit message - Remove RK_GPIO8 macro to sync with Linux
Jagan Teki (9): ARM: dts: rockchip: Sync rk3288-vyasa dts from Linux ARM: dts: rockchip: rk3288-vyasa: Remove vdd_log from rk808, DCDC_REG1 ARM: dts: rockchip: rk3288-vyasa: Use vmmc-supply from PMIC ARM: dts: rockchip: Add regulators for rk3288-vyasa ARM: dts: rockchip: Add gmac support for rk3288-vyasa board rockchip: rk3288-vyasa: defconfig: Enable gmac support ARM: dts: rockchip: Add usb host for rk3288-vyasa ARM: dts: rockchip: Add usb otg for rk3288-vyasa rk3288: vyasa: Add eMMC boot support
arch/arm/dts/rk3288-vyasa-u-boot.dtsi | 33 ++++ arch/arm/dts/rk3288-vyasa.dts | 303 +++++++++++++++++++++++------- board/amarula/vyasa-rk3288/MAINTAINERS | 2 + board/amarula/vyasa-rk3288/vyasa-rk3288.c | 7 + configs/vyasa-rk3288_defconfig | 3 + 5 files changed, 277 insertions(+), 71 deletions(-) create mode 100644 arch/arm/dts/rk3288-vyasa-u-boot.dtsi

Sync rk3288-vyasa board dts from Linux for proper updates and maintenance - rk3288-vyasa.dts: Similar to Linux dts - rk3288-vyasa-u-boot.dtsi: u-boot dts changes
Also updated MAINTAINERS for these dts files.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com --- arch/arm/dts/rk3288-vyasa-u-boot.dtsi | 29 +++++++ arch/arm/dts/rk3288-vyasa.dts | 134 ++++++++++++++++++--------------- board/amarula/vyasa-rk3288/MAINTAINERS | 2 + 3 files changed, 105 insertions(+), 60 deletions(-) create mode 100644 arch/arm/dts/rk3288-vyasa-u-boot.dtsi
diff --git a/arch/arm/dts/rk3288-vyasa-u-boot.dtsi b/arch/arm/dts/rk3288-vyasa-u-boot.dtsi new file mode 100644 index 0000000..b3a56e9 --- /dev/null +++ b/arch/arm/dts/rk3288-vyasa-u-boot.dtsi @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2017 Jagan Teki jagan@amarulasolutions.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +&dmc { + rockchip,pctl-timing = <0x29a 0xc8 0x1f8 0x42 0x4e 0x4 0xea 0xa + 0x5 0x0 0xa 0x7 0x19 0x24 0xa 0x7 + 0x5 0xa 0x5 0x200 0x5 0x10 0x40 0x0 + 0x1 0x7 0x7 0x4 0xc 0x43 0x100 0x0 + 0x5 0x0>; + rockchip,phy-timing = <0x48f9aab4 0xea0910 0x1002c200 + 0xa60 0x40 0x10 0x0>; + /* Add a dummy value to cause of-platdata think this is bytes */ + rockchip,sdram-params = <0x30B25564 0x627 3 666000000 3 9 1>; +}; + +&sdmmc { + u-boot,dm-pre-reloc; +}; + +&uart2 { + u-boot,dm-pre-reloc; +}; + +&pinctrl { + u-boot,dm-pre-reloc; +}; diff --git a/arch/arm/dts/rk3288-vyasa.dts b/arch/arm/dts/rk3288-vyasa.dts index 93a9c5e..932311c 100644 --- a/arch/arm/dts/rk3288-vyasa.dts +++ b/arch/arm/dts/rk3288-vyasa.dts @@ -52,8 +52,8 @@ };
memory { + reg = <0x0 0x0 0x0 0x80000000>; device_type = "memory"; - reg = <0 0x80000000>; };
vcc_sd: sdmmc-regulator { @@ -78,22 +78,20 @@ }; };
-&dmc { - rockchip,pctl-timing = <0x29a 0xc8 0x1f8 0x42 0x4e 0x4 0xea 0xa - 0x5 0x0 0xa 0x7 0x19 0x24 0xa 0x7 - 0x5 0xa 0x5 0x200 0x5 0x10 0x40 0x0 - 0x1 0x7 0x7 0x4 0xc 0x43 0x100 0x0 - 0x5 0x0>; - rockchip,phy-timing = <0x48f9aab4 0xea0910 0x1002c200 - 0xa60 0x40 0x10 0x0>; - /* Add a dummy value to cause of-platdata think this is bytes */ - rockchip,sdram-params = <0x30B25564 0x627 3 666000000 3 9 1>; -}; - &cpu0 { cpu0-supply = <&vdd_cpu>; };
+&gpu { + mali-supply = <&vdd_gpu>; + status = "okay"; +}; + +&hdmi { + ddc-i2c-bus = <&i2c2>; + status = "okay"; +}; + &i2c0 { clock-frequency = <400000>; status = "okay"; @@ -103,12 +101,12 @@ reg = <0x1b>; interrupt-parent = <&gpio0>; interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; + #clock-cells = <1>; + clock-output-names = "xin32k", "rk808-clkout2"; pinctrl-names = "default"; pinctrl-0 = <&pmic_int &global_pwroff>; - wakeup-source; rockchip,system-power-controller; - #clock-cells = <1>; - clock-output-names = "xin32k", "rk808-clkout2"; + wakeup-source;
vcc1-supply = <&vcc_sys>; vcc2-supply = <&vcc_sys>; @@ -124,22 +122,22 @@
regulators { vdd_cpu: vdd_log: DCDC_REG1 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vdd_log"; regulator-min-microvolt = <750000>; regulator-max-microvolt = <1350000>; - regulator-name = "vdd_log"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-off-in-suspend; }; };
vdd_gpu: DCDC_REG2 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vdd_gpu"; regulator-min-microvolt = <850000>; regulator-max-microvolt = <1250000>; - regulator-name = "vdd_gpu"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1000000>; @@ -147,20 +145,20 @@ };
vcc_ddr: DCDC_REG3 { + regulator-name = "vcc_ddr"; regulator-always-on; regulator-boot-on; - regulator-name = "vcc_ddr"; regulator-state-mem { regulator-on-in-suspend; }; };
vcc_io: DCDC_REG4 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vcc_io"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - regulator-name = "vcc_io"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <3300000>; @@ -168,11 +166,11 @@ };
vcca_tp: LDO_REG1 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vcc_tp"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - regulator-name = "vcc_tp"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <3300000>; @@ -180,22 +178,22 @@ };
vcc_codec: LDO_REG2 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vcc_codec"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - regulator-name = "vcc_codec"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-off-in-suspend; }; };
vdd_10: LDO_REG3 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vdd_10"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; - regulator-name = "vdd_10"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1000000>; @@ -203,11 +201,11 @@ };
vcc_gps: LDO_REG4 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vcc_gps"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; - regulator-name = "vcc_gps"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1800000>; @@ -215,11 +213,11 @@ };
vccio_sd: LDO_REG5 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vccio_sd"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; - regulator-name = "vccio_sd"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <3300000>; @@ -227,11 +225,11 @@ };
vcc10_lcd: LDO_REG6 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vcc10_lcd"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; - regulator-name = "vcc10_lcd"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1800000>; @@ -239,11 +237,11 @@ };
vcc_18: LDO_REG7 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vcc_18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; - regulator-name = "vcc_18"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1800000>; @@ -251,11 +249,11 @@ };
vcc18_lcd: LDO_REG8 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vcc18_lcd"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; - regulator-name = "vcc18_lcd"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1800000>; @@ -263,22 +261,22 @@ };
vcc33_sd: SWITCH_REG1 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vcc33_sd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - regulator-name = "vcc33_sd"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; }; };
vcc_lan: SWITCH_REG2 { - regulator-always-on; - regulator-boot-on; + regulator-name = "vcc_lan"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - regulator-name = "vcc_lan"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; }; @@ -287,10 +285,11 @@ }; };
-&sdmmc { - u-boot,dm-pre-reloc; +&i2c2 { status = "okay"; +};
+&sdmmc { bus-width = <4>; cap-mmc-highspeed; cap-sd-highspeed; @@ -300,10 +299,26 @@ pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; vmmc-supply = <&vcc_sd>; vqmmc-supply = <&vccio_sd>; + status = "okay"; };
&uart2 { - u-boot,dm-pre-reloc; + status = "okay"; +}; + +&vopb { + status = "okay"; +}; + +&vopb_mmu { + status = "okay"; +}; + +&vopl { + status = "okay"; +}; + +&vopl_mmu { status = "okay"; };
@@ -312,7 +327,6 @@ };
&pinctrl { - u-boot,dm-pre-reloc; pmic { pmic_int: pmic-int { rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; diff --git a/board/amarula/vyasa-rk3288/MAINTAINERS b/board/amarula/vyasa-rk3288/MAINTAINERS index 10397fc..08ea208 100644 --- a/board/amarula/vyasa-rk3288/MAINTAINERS +++ b/board/amarula/vyasa-rk3288/MAINTAINERS @@ -4,3 +4,5 @@ S: Maintained F: board/amarula/vyasa-rk3288 F: include/configs/vyasa-rk3288.h F: configs/vyasa-rk3288_defconfig +F: arch/arm/dts/rk3288-vyasa.dts +F: arch/arm/dts/rk3288-vyasa-u-boot.dtsi

Sync rk3288-vyasa board dts from Linux for proper updates and maintenance
- rk3288-vyasa.dts: Similar to Linux dts
- rk3288-vyasa-u-boot.dtsi: u-boot dts changes
Also updated MAINTAINERS for these dts files.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
arch/arm/dts/rk3288-vyasa-u-boot.dtsi | 29 +++++++ arch/arm/dts/rk3288-vyasa.dts | 134 ++++++++++++++++++--------------- board/amarula/vyasa-rk3288/MAINTAINERS | 2 + 3 files changed, 105 insertions(+), 60 deletions(-) create mode 100644 arch/arm/dts/rk3288-vyasa-u-boot.dtsi
Applied to u-boot-rockchip/next, thanks!

vdd_log, never used on DCDC_REG1 of rk808 from latest schematic so remove the same and update the regulator-name as 'vdd_arm' to sync with existing rk3288 board dts files.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com --- arch/arm/dts/rk3288-vyasa.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/dts/rk3288-vyasa.dts b/arch/arm/dts/rk3288-vyasa.dts index 932311c..6a74eb4 100644 --- a/arch/arm/dts/rk3288-vyasa.dts +++ b/arch/arm/dts/rk3288-vyasa.dts @@ -121,8 +121,8 @@ vcc12-supply = <&vcc_io>;
regulators { - vdd_cpu: vdd_log: DCDC_REG1 { - regulator-name = "vdd_log"; + vdd_cpu: DCDC_REG1 { + regulator-name = "vdd_arm"; regulator-min-microvolt = <750000>; regulator-max-microvolt = <1350000>; regulator-always-on;

vdd_log, never used on DCDC_REG1 of rk808 from latest schematic so remove the same and update the regulator-name as 'vdd_arm' to sync with existing rk3288 board dts files.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
arch/arm/dts/rk3288-vyasa.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Applied to u-boot-rockchip/next, thanks!

rk808, SWITCH_REG1 has configured for sdmmc regulator as vcc_sd, so use the same by renaming vcc33_sd to vcc_sd(as per schematic) and drop explicit regulator definition from root.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com --- arch/arm/dts/rk3288-vyasa.dts | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-)
diff --git a/arch/arm/dts/rk3288-vyasa.dts b/arch/arm/dts/rk3288-vyasa.dts index 6a74eb4..aff3cd4 100644 --- a/arch/arm/dts/rk3288-vyasa.dts +++ b/arch/arm/dts/rk3288-vyasa.dts @@ -56,18 +56,6 @@ device_type = "memory"; };
- vcc_sd: sdmmc-regulator { - compatible = "regulator-fixed"; - gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&sdmmc_pwr>; - regulator-name = "vcc_sd"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - startup-delay-us = <100000>; - vin-supply = <&vcc_io>; - }; - vcc_sys: vsys-regulator { compatible = "regulator-fixed"; regulator-name = "vcc_sys"; @@ -260,8 +248,8 @@ }; };
- vcc33_sd: SWITCH_REG1 { - regulator-name = "vcc33_sd"; + vcc_sd: SWITCH_REG1 { + regulator-name = "vcc_sd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; @@ -332,10 +320,4 @@ rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; }; }; - - sdmmc { - sdmmc_pwr: sdmmc-pwr { - rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; - }; - }; };

rk808, SWITCH_REG1 has configured for sdmmc regulator as vcc_sd, so use the same by renaming vcc33_sd to vcc_sd(as per schematic) and drop explicit regulator definition from root.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
arch/arm/dts/rk3288-vyasa.dts | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-)
Applied to u-boot-rockchip/next, thanks!

Add supporting regulators for rk3288-vyasa board, dc12_vbat is parent regulatorand followed regulators as are child regulators. regulator naming conversion followed as per schematic for better readability and easy for identification.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com --- arch/arm/dts/rk3288-vyasa.dts | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
diff --git a/arch/arm/dts/rk3288-vyasa.dts b/arch/arm/dts/rk3288-vyasa.dts index aff3cd4..f56e10c 100644 --- a/arch/arm/dts/rk3288-vyasa.dts +++ b/arch/arm/dts/rk3288-vyasa.dts @@ -56,13 +56,53 @@ device_type = "memory"; };
+ dc12_vbat: dc12-vbat { + compatible = "regulator-fixed"; + regulator-name = "dc12_vbat"; + regulator-min-microvolt = <12000000>; + regulator-max-microvolt = <12000000>; + regulator-always-on; + regulator-boot-on; + }; + + vboot_3v3: vboot-3v3 { + compatible = "regulator-fixed"; + regulator-name = "vboot_3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&dc12_vbat>; + }; + vcc_sys: vsys-regulator { compatible = "regulator-fixed"; regulator-name = "vcc_sys"; + regulator-min-microvolt = <3700000>; + regulator-max-microvolt = <3700000>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&dc12_vbat>; + }; + + vboot_5v: vboot-5v { + compatible = "regulator-fixed"; + regulator-name = "vboot_sv"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; regulator-boot-on; + vin-supply = <&dc12_vbat>; + }; + + v3g_3v3: v3g-3v3 { + compatible = "regulator-fixed"; + regulator-name = "v3g_3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&dc12_vbat>; }; };

Add supporting regulators for rk3288-vyasa board, dc12_vbat is parent regulatorand followed regulators as are child regulators. regulator naming conversion followed as per schematic for better readability and easy for identification.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
arch/arm/dts/rk3288-vyasa.dts | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
Applied to u-boot-rockchip/next, thanks!

Sync gmac dts node from Linux.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- arch/arm/dts/rk3288-vyasa.dts | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+)
diff --git a/arch/arm/dts/rk3288-vyasa.dts b/arch/arm/dts/rk3288-vyasa.dts index f56e10c..47fdd91 100644 --- a/arch/arm/dts/rk3288-vyasa.dts +++ b/arch/arm/dts/rk3288-vyasa.dts @@ -104,12 +104,35 @@ regulator-boot-on; vin-supply = <&dc12_vbat>; }; + + ext_gmac: external-gmac-clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <125000000>; + clock-output-names = "ext_gmac"; + }; };
&cpu0 { cpu0-supply = <&vdd_cpu>; };
+&gmac { + assigned-clocks = <&cru SCLK_MAC>; + assigned-clock-parents = <&ext_gmac>; + clock_in_out = "input"; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; + phy-supply = <&vcc_lan>; + phy-mode = "rgmii"; + snps,reset-active-low; + snps,reset-delays-us = <0 10000 1000000>; + snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; + tx_delay = <0x30>; + rx_delay = <0x10>; + status = "okay"; +}; + &gpu { mali-supply = <&vdd_gpu>; status = "okay"; @@ -355,6 +378,24 @@ };
&pinctrl { + pcfg_output_high: pcfg-output-high { + output-high; + }; + + gmac { + phy_int: phy-int { + rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + phy_pmeb: phy-pmeb { + rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + phy_rst: phy-rst { + rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; + }; + }; + pmic { pmic_int: pmic-int { rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;

Sync gmac dts node from Linux.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com
arch/arm/dts/rk3288-vyasa.dts | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+)
Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com

Sync gmac dts node from Linux.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
arch/arm/dts/rk3288-vyasa.dts | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+)
Applied to u-boot-rockchip/next, thanks!

Enable gmac support for rk3288-vyasa board.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com --- configs/vyasa-rk3288_defconfig | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/configs/vyasa-rk3288_defconfig b/configs/vyasa-rk3288_defconfig index 4c76041..24a955a 100644 --- a/configs/vyasa-rk3288_defconfig +++ b/configs/vyasa-rk3288_defconfig @@ -45,6 +45,9 @@ CONFIG_LED=y CONFIG_LED_GPIO=y CONFIG_MMC_DW=y CONFIG_MMC_DW_ROCKCHIP=y +CONFIG_DM_ETH=y +CONFIG_ETH_DESIGNWARE=y +CONFIG_GMAC_ROCKCHIP=y CONFIG_PINCTRL=y CONFIG_SPL_PINCTRL=y # CONFIG_SPL_PINCTRL_FULL is not set

Enable gmac support for rk3288-vyasa board.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
configs/vyasa-rk3288_defconfig | 3 +++ 1 file changed, 3 insertions(+)
Applied to u-boot-rockchip/next, thanks!

Add usb host support for rk3288-vyasa, board support hub power through phy_pwr_en and usb2 host power through usb2_pwr_en and naming conversion followed as per schematic.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com --- arch/arm/dts/rk3288-vyasa.dts | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+)
diff --git a/arch/arm/dts/rk3288-vyasa.dts b/arch/arm/dts/rk3288-vyasa.dts index 47fdd91..fe680e2 100644 --- a/arch/arm/dts/rk3288-vyasa.dts +++ b/arch/arm/dts/rk3288-vyasa.dts @@ -105,6 +105,30 @@ vin-supply = <&dc12_vbat>; };
+ vsus_5v: vsus-5v { + compatible = "regulator-fixed"; + regulator-name = "vsus_5v"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vcc_io>; + }; + + vusb2_5v: vusb2-5v { + compatible = "regulator-fixed"; + regulator-name = "vusb2_5v"; + enable-active-high; + gpio = <&gpio8 RK_PB1 GPIO_ACTIVE_HIGH>; /* USB2_PWR_EN */ + pinctrl-names = "default"; + pinctrl-0 = <&usb2_pwr_en>; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vsus_5v>; + }; + ext_gmac: external-gmac-clock { compatible = "fixed-clock"; #clock-cells = <0>; @@ -357,6 +381,20 @@ status = "okay"; };
+&usbphy { + status = "okay"; +}; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb_host1 { + pinctrl-names = "default"; + pinctrl-0 = <&phy_pwr_en>; + status = "okay"; +}; + &vopb { status = "okay"; }; @@ -401,4 +439,14 @@ rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; }; }; + + usb_host { + phy_pwr_en: phy-pwr-en { + rockchip,pins = <RK_GPIO2 RK_PB1 RK_FUNC_GPIO &pcfg_output_high>; + }; + + usb2_pwr_en: usb2-pwr-en { + rockchip,pins = <8 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; };

Add usb host support for rk3288-vyasa, board support hub power through phy_pwr_en and usb2 host power through usb2_pwr_en and naming conversion followed as per schematic.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
arch/arm/dts/rk3288-vyasa.dts | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+)
Applied to u-boot-rockchip/next, thanks!

Add usb otg support for rk3288-vyasa, board support usb1 otg power through otg_vbus_drv and naming conversion followed as per schematic.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com --- arch/arm/dts/rk3288-vyasa.dts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/arch/arm/dts/rk3288-vyasa.dts b/arch/arm/dts/rk3288-vyasa.dts index fe680e2..70c433f 100644 --- a/arch/arm/dts/rk3288-vyasa.dts +++ b/arch/arm/dts/rk3288-vyasa.dts @@ -115,6 +115,20 @@ vin-supply = <&vcc_io>; };
+ vusb1_5v: vusb1-5v { + compatible = "regulator-fixed"; + regulator-name = "vusb1_5v"; + enable-active-high; + gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; /* OTG_VBUS_DRV */ + pinctrl-names = "default"; + pinctrl-0 = <&otg_vbus_drv>; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vsus_5v>; + }; + vusb2_5v: vusb2-5v { compatible = "regulator-fixed"; regulator-name = "vusb2_5v"; @@ -395,6 +409,10 @@ status = "okay"; };
+&usb_otg { + status = "okay"; +}; + &vopb { status = "okay"; }; @@ -449,4 +467,11 @@ rockchip,pins = <8 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; }; }; + + usb_otg { + otg_vbus_drv: otg-vbus-drv { + rockchip,pins = <RK_GPIO0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; + + }; + }; };

Add usb otg support for rk3288-vyasa, board support usb1 otg power through otg_vbus_drv and naming conversion followed as per schematic.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
arch/arm/dts/rk3288-vyasa.dts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
Applied to u-boot-rockchip/next, thanks!

RK3288 Vyasa has eMMC boot support, with JP4 open.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- Note: Linux patch for this support is in ML.
arch/arm/dts/rk3288-vyasa-u-boot.dtsi | 4 ++++ arch/arm/dts/rk3288-vyasa.dts | 11 +++++++++++ board/amarula/vyasa-rk3288/vyasa-rk3288.c | 7 +++++++ 3 files changed, 22 insertions(+)
diff --git a/arch/arm/dts/rk3288-vyasa-u-boot.dtsi b/arch/arm/dts/rk3288-vyasa-u-boot.dtsi index b3a56e9..6017ca2 100644 --- a/arch/arm/dts/rk3288-vyasa-u-boot.dtsi +++ b/arch/arm/dts/rk3288-vyasa-u-boot.dtsi @@ -20,6 +20,10 @@ u-boot,dm-pre-reloc; };
+&emmc { + u-boot,dm-pre-reloc; +}; + &uart2 { u-boot,dm-pre-reloc; }; diff --git a/arch/arm/dts/rk3288-vyasa.dts b/arch/arm/dts/rk3288-vyasa.dts index 70c433f..850aa25 100644 --- a/arch/arm/dts/rk3288-vyasa.dts +++ b/arch/arm/dts/rk3288-vyasa.dts @@ -155,6 +155,17 @@ cpu0-supply = <&vdd_cpu>; };
+&emmc { + bus-width = <8>; + cap-mmc-highspeed; + disable-wp; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; + vmmc-supply = <&vcc_io>; + status = "okay"; +}; + &gmac { assigned-clocks = <&cru SCLK_MAC>; assigned-clock-parents = <&ext_gmac>; diff --git a/board/amarula/vyasa-rk3288/vyasa-rk3288.c b/board/amarula/vyasa-rk3288/vyasa-rk3288.c index 7985671..82f8c4e 100644 --- a/board/amarula/vyasa-rk3288/vyasa-rk3288.c +++ b/board/amarula/vyasa-rk3288/vyasa-rk3288.c @@ -9,6 +9,13 @@ #ifndef CONFIG_TPL_BUILD #include <spl.h>
+void board_boot_order(u32 *spl_boot_list) +{ + /* eMMC prior to sdcard. */ + spl_boot_list[0] = BOOT_DEVICE_MMC2; + spl_boot_list[1] = BOOT_DEVICE_MMC1; +} + int spl_start_uboot(void) { /* break into full u-boot on 'c' */

RK3288 Vyasa has eMMC boot support, with JP4 open.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com
Note: Linux patch for this support is in ML.
arch/arm/dts/rk3288-vyasa-u-boot.dtsi | 4 ++++ arch/arm/dts/rk3288-vyasa.dts | 11 +++++++++++ board/amarula/vyasa-rk3288/vyasa-rk3288.c | 7 +++++++ 3 files changed, 22 insertions(+)
Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com

RK3288 Vyasa has eMMC boot support, with JP4 open.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com
Note: Linux patch for this support is in ML.
arch/arm/dts/rk3288-vyasa-u-boot.dtsi | 4 ++++ arch/arm/dts/rk3288-vyasa.dts | 11 +++++++++++ board/amarula/vyasa-rk3288/vyasa-rk3288.c | 7 +++++++ 3 files changed, 22 insertions(+)
Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com

RK3288 Vyasa has eMMC boot support, with JP4 open.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
Note: Linux patch for this support is in ML.
arch/arm/dts/rk3288-vyasa-u-boot.dtsi | 4 ++++ arch/arm/dts/rk3288-vyasa.dts | 11 +++++++++++ board/amarula/vyasa-rk3288/vyasa-rk3288.c | 7 +++++++ 3 files changed, 22 insertions(+)
Applied to u-boot-rockchip/next, thanks!

Philipp,
On Wed, Feb 14, 2018 at 9:26 PM, Jagan Teki jagannadh.teki@gmail.com wrote:
Series add new dts nodes like gmac, usb, io_domains and fixed existing regulator, pmic stuff as per schematic.
Changes for v2:
- Collect Acked-by and Reviewed-by tags from Philipp
- Add eMMC boot support
- Add missing commit message
- Remove RK_GPIO8 macro to sync with Linux
Jagan Teki (9): ARM: dts: rockchip: Sync rk3288-vyasa dts from Linux ARM: dts: rockchip: rk3288-vyasa: Remove vdd_log from rk808, DCDC_REG1 ARM: dts: rockchip: rk3288-vyasa: Use vmmc-supply from PMIC ARM: dts: rockchip: Add regulators for rk3288-vyasa ARM: dts: rockchip: Add gmac support for rk3288-vyasa board rockchip: rk3288-vyasa: defconfig: Enable gmac support ARM: dts: rockchip: Add usb host for rk3288-vyasa ARM: dts: rockchip: Add usb otg for rk3288-vyasa rk3288: vyasa: Add eMMC boot support
Can you pick this series, it's been there in ML from few releases.

On 23 Feb 2018, at 16:17, Jagan Teki jagannadh.teki@gmail.com wrote:
Philipp,
On Wed, Feb 14, 2018 at 9:26 PM, Jagan Teki <jagannadh.teki@gmail.com mailto:jagannadh.teki@gmail.com> wrote:
Series add new dts nodes like gmac, usb, io_domains and fixed existing regulator, pmic stuff as per schematic.
Changes for v2:
- Collect Acked-by and Reviewed-by tags from Philipp
- Add eMMC boot support
- Add missing commit message
- Remove RK_GPIO8 macro to sync with Linux
Jagan Teki (9): ARM: dts: rockchip: Sync rk3288-vyasa dts from Linux ARM: dts: rockchip: rk3288-vyasa: Remove vdd_log from rk808, DCDC_REG1 ARM: dts: rockchip: rk3288-vyasa: Use vmmc-supply from PMIC ARM: dts: rockchip: Add regulators for rk3288-vyasa ARM: dts: rockchip: Add gmac support for rk3288-vyasa board rockchip: rk3288-vyasa: defconfig: Enable gmac support ARM: dts: rockchip: Add usb host for rk3288-vyasa ARM: dts: rockchip: Add usb otg for rk3288-vyasa rk3288: vyasa: Add eMMC boot support
Can you pick this series, it's been there in ML from few releases.
These have been sent only after rc2 was tagged and are on my todo-list for next (so they should go at the start of the merge window, when I send out the pull-request to get our next merged back onto master).
Thanks, Philipp.

On 23-Feb-2018 8:53 PM, "Dr. Philipp Tomsich" < philipp.tomsich@theobroma-systems.com> wrote:
On 23 Feb 2018, at 16:17, Jagan Teki jagannadh.teki@gmail.com wrote:
Philipp,
On Wed, Feb 14, 2018 at 9:26 PM, Jagan Teki jagannadh.teki@gmail.com wrote:
Series add new dts nodes like gmac, usb, io_domains and fixed existing regulator, pmic stuff as per schematic.
Changes for v2: - Collect Acked-by and Reviewed-by tags from Philipp - Add eMMC boot support - Add missing commit message - Remove RK_GPIO8 macro to sync with Linux
Jagan Teki (9): ARM: dts: rockchip: Sync rk3288-vyasa dts from Linux ARM: dts: rockchip: rk3288-vyasa: Remove vdd_log from rk808, DCDC_REG1 ARM: dts: rockchip: rk3288-vyasa: Use vmmc-supply from PMIC ARM: dts: rockchip: Add regulators for rk3288-vyasa ARM: dts: rockchip: Add gmac support for rk3288-vyasa board rockchip: rk3288-vyasa: defconfig: Enable gmac support ARM: dts: rockchip: Add usb host for rk3288-vyasa ARM: dts: rockchip: Add usb otg for rk3288-vyasa rk3288: vyasa: Add eMMC boot support
Can you pick this series, it's been there in ML from few releases.
These have been sent only after rc2 was tagged and are on my todo-list for next (so they should go at the start of the merge window, when I send out the pull-request to get our next merged back onto master).
This this V2 initial version been from 11/17, ie reason for ping.

On 23 Feb 2018, at 16:29, Jagan Teki jagannadh.teki@gmail.com wrote:
On 23-Feb-2018 8:53 PM, "Dr. Philipp Tomsich" <philipp.tomsich@theobroma-systems.com mailto:philipp.tomsich@theobroma-systems.com> wrote:
On 23 Feb 2018, at 16:17, Jagan Teki <jagannadh.teki@gmail.com mailto:jagannadh.teki@gmail.com> wrote:
Philipp,
On Wed, Feb 14, 2018 at 9:26 PM, Jagan Teki <jagannadh.teki@gmail.com mailto:jagannadh.teki@gmail.com> wrote:
Series add new dts nodes like gmac, usb, io_domains and fixed existing regulator, pmic stuff as per schematic.
Changes for v2:
- Collect Acked-by and Reviewed-by tags from Philipp
- Add eMMC boot support
- Add missing commit message
- Remove RK_GPIO8 macro to sync with Linux
Jagan Teki (9): ARM: dts: rockchip: Sync rk3288-vyasa dts from Linux ARM: dts: rockchip: rk3288-vyasa: Remove vdd_log from rk808, DCDC_REG1 ARM: dts: rockchip: rk3288-vyasa: Use vmmc-supply from PMIC ARM: dts: rockchip: Add regulators for rk3288-vyasa ARM: dts: rockchip: Add gmac support for rk3288-vyasa board rockchip: rk3288-vyasa: defconfig: Enable gmac support ARM: dts: rockchip: Add usb host for rk3288-vyasa ARM: dts: rockchip: Add usb otg for rk3288-vyasa rk3288: vyasa: Add eMMC boot support
Can you pick this series, it's been there in ML from few releases.
These have been sent only after rc2 was tagged and are on my todo-list for next (so they should go at the start of the merge window, when I send out the pull-request to get our next merged back onto master).
This this V2 initial version been from 11/17, ie reason for ping.
Just for future reference: I usually start processing a series once I have a final version. I’ve burned my fingers on merging vendor patches in the past after rc1 had been out.
So my modus operandi now is: once v1 has its status in ‘changes requested’ I won’t track this until I get a newer version that can be merged. And if such a version comes in after rc2, I’ll try to err on the safe side… … OTOH, if you just barely miss a merge window and need it in rc2, you should ping me right away.
Hope this helps, Phil.
P.S.: I have you TPL fix on Travis right now...
participants (3)
-
Dr. Philipp Tomsich
-
Jagan Teki
-
Philipp Tomsich