[PATCH 0/4] Fixes for rv1108 and rv1108-elgin-r1

Those are fixes we've been using and we'd like to upstream.
They are fixes and would be great to have them included on 2020.04 release.
Otavio Salvador (4): ARM: dts: Activate pullups in the console pins on rv1108-elgin-r1 elgin-rv1108: Use rk_board_late_init() for GPIO settings elgin-rv1108: Avoid adc_channel_single_shot error rv1108: Fix boot regression
arch/arm/dts/rv1108-elgin-r1.dts | 11 +++++++++++ arch/arm/dts/rv1108-u-boot.dtsi | 6 ++++++ board/elgin/elgin_rv1108/elgin_rv1108.c | 2 +- configs/elgin-rv1108_defconfig | 2 ++ 4 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/rv1108-u-boot.dtsi

In order to make the console pins more robust to noise, activate the pullups and increase its drive strength.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br ---
arch/arm/dts/rv1108-elgin-r1.dts | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/arch/arm/dts/rv1108-elgin-r1.dts b/arch/arm/dts/rv1108-elgin-r1.dts index 32b95940b0..83e8b31838 100644 --- a/arch/arm/dts/rv1108-elgin-r1.dts +++ b/arch/arm/dts/rv1108-elgin-r1.dts @@ -40,9 +40,20 @@ };
&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2m0_xfer_pullup>; status = "okay"; };
&usb20_otg { status = "okay"; }; + +&pinctrl { + uart2m0 { + uart2m0_xfer_pullup: uart2m0-xfer-pullup { + rockchip,pins = <2 RK_PD2 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, + <2 RK_PD1 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; + }; + }; +};

Hi Otavio,
On 2020/3/14 上午1:42, Otavio Salvador wrote:
In order to make the console pins more robust to noise, activate the pullups and increase its drive strength.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Thanks, - Kever
arch/arm/dts/rv1108-elgin-r1.dts | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/arch/arm/dts/rv1108-elgin-r1.dts b/arch/arm/dts/rv1108-elgin-r1.dts index 32b95940b0..83e8b31838 100644 --- a/arch/arm/dts/rv1108-elgin-r1.dts +++ b/arch/arm/dts/rv1108-elgin-r1.dts @@ -40,9 +40,20 @@ };
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer_pullup>; status = "okay"; };
&usb20_otg { status = "okay"; };
+&pinctrl {
- uart2m0 {
uart2m0_xfer_pullup: uart2m0-xfer-pullup {
rockchip,pins = <2 RK_PD2 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
<2 RK_PD1 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
};
- };
+};

Ping?
On Tue, Mar 17, 2020 at 10:50 PM Kever Yang kever.yang@rock-chips.com wrote:
Hi Otavio,
On 2020/3/14 上午1:42, Otavio Salvador wrote:
In order to make the console pins more robust to noise, activate the pullups and increase its drive strength.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Thanks,
- Kever
arch/arm/dts/rv1108-elgin-r1.dts | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/arch/arm/dts/rv1108-elgin-r1.dts b/arch/arm/dts/rv1108-elgin-r1.dts index 32b95940b0..83e8b31838 100644 --- a/arch/arm/dts/rv1108-elgin-r1.dts +++ b/arch/arm/dts/rv1108-elgin-r1.dts @@ -40,9 +40,20 @@ };
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer_pullup>; status = "okay";
};
&usb20_otg { status = "okay"; };
+&pinctrl {
uart2m0 {
uart2m0_xfer_pullup: uart2m0-xfer-pullup {
rockchip,pins = <2 RK_PD2 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
<2 RK_PD1 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
};
};
+};

Since commit 8e9a8d0d0c8c ("rockchip: elgin-rv1108: use board_early_init_f for per-boar init") the function that configure the board GPIOs is no longer called since CONFIG_BOARD_EARLY_INIT_F=y is not selected.
These GPIOs do not need to be configured in such early stagem, so change it to rk_board_late_init() and also select CONFIG_BOARD_LATE_INIT=y to fix the regression.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br Signed-off-by: Fabio Berton fabio.berton@ossystems.com.br ---
board/elgin/elgin_rv1108/elgin_rv1108.c | 2 +- configs/elgin-rv1108_defconfig | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/board/elgin/elgin_rv1108/elgin_rv1108.c b/board/elgin/elgin_rv1108/elgin_rv1108.c index 607667ac63..dddd950ab2 100644 --- a/board/elgin/elgin_rv1108/elgin_rv1108.c +++ b/board/elgin/elgin_rv1108/elgin_rv1108.c @@ -50,7 +50,7 @@ int mach_cpu_init(void)
#define MODEM_ENABLE_GPIO 111
-int board_early_init_f(void) +int rk_board_late_init(void) { gpio_request(MODEM_ENABLE_GPIO, "modem_enable"); gpio_direction_output(MODEM_ENABLE_GPIO, 0); diff --git a/configs/elgin-rv1108_defconfig b/configs/elgin-rv1108_defconfig index 62af7634a3..80d53f3c10 100644 --- a/configs/elgin-rv1108_defconfig +++ b/configs/elgin-rv1108_defconfig @@ -10,6 +10,7 @@ CONFIG_DEBUG_UART_CLOCK=24000000 CONFIG_DEBUG_UART=y # CONFIG_USE_BOOTCOMMAND is not set CONFIG_DEFAULT_FDT_FILE="rv1108-elgin-r1.dtb" +CONFIG_BOARD_LATE_INIT=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_CMD_GPIO=y

On 2020/3/14 上午1:42, Otavio Salvador wrote:
Since commit 8e9a8d0d0c8c ("rockchip: elgin-rv1108: use board_early_init_f for per-boar init") the function that configure the board GPIOs is no longer called since CONFIG_BOARD_EARLY_INIT_F=y is not selected.
These GPIOs do not need to be configured in such early stagem, so change it to rk_board_late_init() and also select CONFIG_BOARD_LATE_INIT=y to fix the regression.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br Signed-off-by: Fabio Berton fabio.berton@ossystems.com.br
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Thanks, - Kever
board/elgin/elgin_rv1108/elgin_rv1108.c | 2 +- configs/elgin-rv1108_defconfig | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/board/elgin/elgin_rv1108/elgin_rv1108.c b/board/elgin/elgin_rv1108/elgin_rv1108.c index 607667ac63..dddd950ab2 100644 --- a/board/elgin/elgin_rv1108/elgin_rv1108.c +++ b/board/elgin/elgin_rv1108/elgin_rv1108.c @@ -50,7 +50,7 @@ int mach_cpu_init(void)
#define MODEM_ENABLE_GPIO 111
-int board_early_init_f(void) +int rk_board_late_init(void) { gpio_request(MODEM_ENABLE_GPIO, "modem_enable"); gpio_direction_output(MODEM_ENABLE_GPIO, 0); diff --git a/configs/elgin-rv1108_defconfig b/configs/elgin-rv1108_defconfig index 62af7634a3..80d53f3c10 100644 --- a/configs/elgin-rv1108_defconfig +++ b/configs/elgin-rv1108_defconfig @@ -10,6 +10,7 @@ CONFIG_DEBUG_UART_CLOCK=24000000 CONFIG_DEBUG_UART=y # CONFIG_USE_BOOTCOMMAND is not set CONFIG_DEFAULT_FDT_FILE="rv1108-elgin-r1.dtb" +CONFIG_BOARD_LATE_INIT=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_CMD_GPIO=y

Ping?
On Tue, Mar 17, 2020 at 10:52 PM Kever Yang kever.yang@rock-chips.com wrote:
On 2020/3/14 上午1:42, Otavio Salvador wrote:
Since commit 8e9a8d0d0c8c ("rockchip: elgin-rv1108: use board_early_init_f for per-boar init") the function that configure the board GPIOs is no longer called since CONFIG_BOARD_EARLY_INIT_F=y is not selected.
These GPIOs do not need to be configured in such early stagem, so change it to rk_board_late_init() and also select CONFIG_BOARD_LATE_INIT=y to fix the regression.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br Signed-off-by: Fabio Berton fabio.berton@ossystems.com.br
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Thanks,
- Kever
board/elgin/elgin_rv1108/elgin_rv1108.c | 2 +- configs/elgin-rv1108_defconfig | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/board/elgin/elgin_rv1108/elgin_rv1108.c b/board/elgin/elgin_rv1108/elgin_rv1108.c index 607667ac63..dddd950ab2 100644 --- a/board/elgin/elgin_rv1108/elgin_rv1108.c +++ b/board/elgin/elgin_rv1108/elgin_rv1108.c @@ -50,7 +50,7 @@ int mach_cpu_init(void)
#define MODEM_ENABLE_GPIO 111
-int board_early_init_f(void) +int rk_board_late_init(void) { gpio_request(MODEM_ENABLE_GPIO, "modem_enable"); gpio_direction_output(MODEM_ENABLE_GPIO, 0); diff --git a/configs/elgin-rv1108_defconfig b/configs/elgin-rv1108_defconfig index 62af7634a3..80d53f3c10 100644 --- a/configs/elgin-rv1108_defconfig +++ b/configs/elgin-rv1108_defconfig @@ -10,6 +10,7 @@ CONFIG_DEBUG_UART_CLOCK=24000000 CONFIG_DEBUG_UART=y # CONFIG_USE_BOOTCOMMAND is not set CONFIG_DEFAULT_FDT_FILE="rv1108-elgin-r1.dtb" +CONFIG_BOARD_LATE_INIT=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_CMD_GPIO=y

Currently the following error message is seen during boot:
U-Boot 2020.01-08751-g55759ae141 (Mar 09 2020 - 14:44:52 -0300)
Model: Elgin RV1108 R1 board DRAM: 128 MiB APLL: 600000000 DPLL:1200000000 GPLL:1188000000 ACLK_BUS: 148500000 ACLK_PERI:148500000 HCLK_PERI:148500000 PCLK_PERI:74250000 MMC: dwmmc@30110000: 0 Loading Environment from MMC... OK In: serial@10210000 Out: serial@10210000 Err: serial@10210000 Model: Elgin RV1108 R1 board rockchip_dnl_key_pressed: adc_channel_single_shot fail! ....
Since the elgin-rv1108 does not use ADC to read the download key status, select CONFIG_ROCKCHIP_BOOT_MODE_REG=0 to avoid such error.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br ---
configs/elgin-rv1108_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/configs/elgin-rv1108_defconfig b/configs/elgin-rv1108_defconfig index 80d53f3c10..b6682994f5 100644 --- a/configs/elgin-rv1108_defconfig +++ b/configs/elgin-rv1108_defconfig @@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x60000000 CONFIG_ENV_OFFSET=0x3F8000 CONFIG_ROCKCHIP_RV1108=y CONFIG_TARGET_ELGIN_RV1108=y +CONFIG_ROCKCHIP_BOOT_MODE_REG=0 CONFIG_NR_DRAM_BANKS=1 CONFIG_DEBUG_UART_BASE=0x10210000 CONFIG_DEBUG_UART_CLOCK=24000000

On 2020/3/14 上午1:42, Otavio Salvador wrote:
Currently the following error message is seen during boot:
U-Boot 2020.01-08751-g55759ae141 (Mar 09 2020 - 14:44:52 -0300)
Model: Elgin RV1108 R1 board DRAM: 128 MiB APLL: 600000000 DPLL:1200000000 GPLL:1188000000 ACLK_BUS: 148500000 ACLK_PERI:148500000 HCLK_PERI:148500000 PCLK_PERI:74250000 MMC: dwmmc@30110000: 0 Loading Environment from MMC... OK In: serial@10210000 Out: serial@10210000 Err: serial@10210000 Model: Elgin RV1108 R1 board rockchip_dnl_key_pressed: adc_channel_single_shot fail! ....
Since the elgin-rv1108 does not use ADC to read the download key status, select CONFIG_ROCKCHIP_BOOT_MODE_REG=0 to avoid such error.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Thanks, - Kever
configs/elgin-rv1108_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/configs/elgin-rv1108_defconfig b/configs/elgin-rv1108_defconfig index 80d53f3c10..b6682994f5 100644 --- a/configs/elgin-rv1108_defconfig +++ b/configs/elgin-rv1108_defconfig @@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x60000000 CONFIG_ENV_OFFSET=0x3F8000 CONFIG_ROCKCHIP_RV1108=y CONFIG_TARGET_ELGIN_RV1108=y +CONFIG_ROCKCHIP_BOOT_MODE_REG=0 CONFIG_NR_DRAM_BANKS=1 CONFIG_DEBUG_UART_BASE=0x10210000 CONFIG_DEBUG_UART_CLOCK=24000000

Ping?
On Tue, Mar 17, 2020 at 10:52 PM Kever Yang kever.yang@rock-chips.com wrote:
On 2020/3/14 上午1:42, Otavio Salvador wrote:
Currently the following error message is seen during boot:
U-Boot 2020.01-08751-g55759ae141 (Mar 09 2020 - 14:44:52 -0300)
Model: Elgin RV1108 R1 board DRAM: 128 MiB APLL: 600000000 DPLL:1200000000 GPLL:1188000000 ACLK_BUS: 148500000 ACLK_PERI:148500000 HCLK_PERI:148500000 PCLK_PERI:74250000 MMC: dwmmc@30110000: 0 Loading Environment from MMC... OK In: serial@10210000 Out: serial@10210000 Err: serial@10210000 Model: Elgin RV1108 R1 board rockchip_dnl_key_pressed: adc_channel_single_shot fail! ....
Since the elgin-rv1108 does not use ADC to read the download key status, select CONFIG_ROCKCHIP_BOOT_MODE_REG=0 to avoid such error.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Thanks,
- Kever
configs/elgin-rv1108_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/configs/elgin-rv1108_defconfig b/configs/elgin-rv1108_defconfig index 80d53f3c10..b6682994f5 100644 --- a/configs/elgin-rv1108_defconfig +++ b/configs/elgin-rv1108_defconfig @@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x60000000 CONFIG_ENV_OFFSET=0x3F8000 CONFIG_ROCKCHIP_RV1108=y CONFIG_TARGET_ELGIN_RV1108=y +CONFIG_ROCKCHIP_BOOT_MODE_REG=0 CONFIG_NR_DRAM_BANKS=1 CONFIG_DEBUG_UART_BASE=0x10210000 CONFIG_DEBUG_UART_CLOCK=24000000

Since commit 79030a486128 ("rockchip: Add Single boot image (with binman, pad_cat)") the following boot regression is seen:
U-Boot 2020.04-rc3-00050-gd16e18ca6c-dirty (Mar 09 2020 - 11:40:07 -0300)
Model: Elgin RV1108 R1 board DRAM: 128 MiB initcall sequence 67fd12a0 failed at call 6000b927 (err=-22)
This happens because the above commit missed to include the "rockchip-u-boot.dtsi" for rv1108, so include this file like it done for other Rockchip SoC dtsi's.
Fixes: 79030a486128 ("rockchip: Add Single boot image (with binman, pad_cat)") Signed-off-by: Otavio Salvador otavio@ossystems.com.br ---
arch/arm/dts/rv1108-u-boot.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 arch/arm/dts/rv1108-u-boot.dtsi
diff --git a/arch/arm/dts/rv1108-u-boot.dtsi b/arch/arm/dts/rv1108-u-boot.dtsi new file mode 100644 index 0000000000..41ac054b81 --- /dev/null +++ b/arch/arm/dts/rv1108-u-boot.dtsi @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2019 Jagan Teki jagan@amarulasolutions.com + */ + +#include "rockchip-u-boot.dtsi"

On 2020/3/14 上午1:42, Otavio Salvador wrote:
Since commit 79030a486128 ("rockchip: Add Single boot image (with binman, pad_cat)") the following boot regression is seen:
U-Boot 2020.04-rc3-00050-gd16e18ca6c-dirty (Mar 09 2020 - 11:40:07 -0300)
Model: Elgin RV1108 R1 board DRAM: 128 MiB initcall sequence 67fd12a0 failed at call 6000b927 (err=-22)
This happens because the above commit missed to include the "rockchip-u-boot.dtsi" for rv1108, so include this file like it done for other Rockchip SoC dtsi's.
Fixes: 79030a486128 ("rockchip: Add Single boot image (with binman, pad_cat)") Signed-off-by: Otavio Salvador otavio@ossystems.com.br
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Thanks, - Kever
arch/arm/dts/rv1108-u-boot.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 arch/arm/dts/rv1108-u-boot.dtsi
diff --git a/arch/arm/dts/rv1108-u-boot.dtsi b/arch/arm/dts/rv1108-u-boot.dtsi new file mode 100644 index 0000000000..41ac054b81 --- /dev/null +++ b/arch/arm/dts/rv1108-u-boot.dtsi @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- Copyright (C) 2019 Jagan Teki jagan@amarulasolutions.com
- */
+#include "rockchip-u-boot.dtsi"

Ping?
On Tue, Mar 17, 2020 at 10:52 PM Kever Yang kever.yang@rock-chips.com wrote:
On 2020/3/14 上午1:42, Otavio Salvador wrote:
Since commit 79030a486128 ("rockchip: Add Single boot image (with binman, pad_cat)") the following boot regression is seen:
U-Boot 2020.04-rc3-00050-gd16e18ca6c-dirty (Mar 09 2020 - 11:40:07 -0300)
Model: Elgin RV1108 R1 board DRAM: 128 MiB initcall sequence 67fd12a0 failed at call 6000b927 (err=-22)
This happens because the above commit missed to include the "rockchip-u-boot.dtsi" for rv1108, so include this file like it done for other Rockchip SoC dtsi's.
Fixes: 79030a486128 ("rockchip: Add Single boot image (with binman, pad_cat)") Signed-off-by: Otavio Salvador otavio@ossystems.com.br
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Thanks,
- Kever
arch/arm/dts/rv1108-u-boot.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 arch/arm/dts/rv1108-u-boot.dtsi
diff --git a/arch/arm/dts/rv1108-u-boot.dtsi b/arch/arm/dts/rv1108-u-boot.dtsi new file mode 100644 index 0000000000..41ac054b81 --- /dev/null +++ b/arch/arm/dts/rv1108-u-boot.dtsi @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- Copyright (C) 2019 Jagan Teki jagan@amarulasolutions.com
- */
+#include "rockchip-u-boot.dtsi"

Hello,
On Fri, Mar 13, 2020 at 2:42 PM Otavio Salvador otavio@ossystems.com.br wrote:
Those are fixes we've been using and we'd like to upstream.
They are fixes and would be great to have them included on 2020.04 release.
Otavio Salvador (4): ARM: dts: Activate pullups in the console pins on rv1108-elgin-r1 elgin-rv1108: Use rk_board_late_init() for GPIO settings elgin-rv1108: Avoid adc_channel_single_shot error rv1108: Fix boot regression
The patches on this serie are all bug fixes so please make sure they go on 2020.04. Maybe Tom may apply them directly?

hI Otavio,
On 2020/3/26 下午8:20, Otavio Salvador wrote:
Hello,
On Fri, Mar 13, 2020 at 2:42 PM Otavio Salvador otavio@ossystems.com.br wrote:
Those are fixes we've been using and we'd like to upstream.
They are fixes and would be great to have them included on 2020.04 release.
Otavio Salvador (4): ARM: dts: Activate pullups in the console pins on rv1108-elgin-r1 elgin-rv1108: Use rk_board_late_init() for GPIO settings elgin-rv1108: Avoid adc_channel_single_shot error rv1108: Fix boot regression
The patches on this serie are all bug fixes so please make sure they go on 2020.04. Maybe Tom may apply them directly?
I have merge these patches, and under verify, will send out once it pass travics build.
Thanks,
- Kever

On 2020/3/26 下午8:20, Otavio Salvador wrote:
Hello,
On Fri, Mar 13, 2020 at 2:42 PM Otavio Salvador otavio@ossystems.com.br wrote:
Those are fixes we've been using and we'd like to upstream.
They are fixes and would be great to have them included on 2020.04 release.
Otavio Salvador (4): ARM: dts: Activate pullups in the console pins on rv1108-elgin-r1 elgin-rv1108: Use rk_board_late_init() for GPIO settings elgin-rv1108: Avoid adc_channel_single_shot error rv1108: Fix boot regression
Applied to u-boot-rockchip master.
Thanks,
- Kever
The patches on this serie are all bug fixes so please make sure they go on 2020.04. Maybe Tom may apply them directly?
participants (3)
-
Kever Yang
-
Otavio Salvador
-
Otavio Salvador