diff options
12 files changed, 182 insertions, 312 deletions
@@ -16,8 +16,8 @@ This layer depends on: branch: dunfell URI: https://github.com/renesas-rcar/meta-renesas - branch: dunfell-dev - - Note that the dunfell-Yocto-v4.7.0 tag is currently the latest revision + branch: dunfell + - Note that the Renesas-Yocto-v5.5.0 tag is currently the latest revision verified as compatible, it is recommended that it be used. diff --git a/meta-agl-refhw-gen3/conf/machine/agl-refhw-h3.conf b/meta-agl-refhw-gen3/conf/machine/agl-refhw-h3.conf index f302d45..97c4854 100644 --- a/meta-agl-refhw-gen3/conf/machine/agl-refhw-h3.conf +++ b/meta-agl-refhw-gen3/conf/machine/agl-refhw-h3.conf @@ -13,4 +13,4 @@ MACHINEOVERRIDES_append = ":salvator-x" # Reference hardware has USB3 MACHINE_FEATURES_append = " usb3" -KERNEL_DEVICETREE_append = " renesas/r8a7795-agl-refhw.dtb" +KERNEL_DEVICETREE_append = " renesas/r8a77951-agl-refhw.dtb" diff --git a/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md b/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md index 0e60a22..dcaab5b 100644 --- a/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md +++ b/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md @@ -141,7 +141,7 @@ download. | cert_header_sa6-agl-refhw-4x2g.srec | 1 | H'000180 | H'E6320000 | Certification | bl31-agl-refhw-4x2g.srec | 1 | H'000200 | H'44000000 | bl3 loader | tee-h3ulcb.srec | 1 | H'001000 | H'44100000 | OP-Tee - | u-boot-elf-agl-refhw-4x2g.srec | 2 | H'000000 | H'50000000 | U-boot + | u-boot-elf-agl-refhw.srec | 2 | H'000000 | H'50000000 | U-boot If the firmware has been built using a standalone build outside of AGL (see [below](#standalone-build)), then the firmware files can be be found in @@ -154,7 +154,7 @@ download. | cert_header_sa6-4x2g.srec | 1 | H'000180 | H'E6320000 | Certification | bl31-agl-refhw-h3-4x2g.srec | 1 | H'000200 | H'44000000 | bl3 loader | tee-agl-refhw-h3.srec | 1 | H'001000 | H'44100000 | OP-Tee - | u-boot-elf-salvator-xs-4x2g.srec | 2 | H'000000 | H'50000000 | U-boot + | u-boot-elf-salvator-x.srec | 2 | H'000000 | H'50000000 | U-boot The firmware files can be flashed by using **EM_W** command for each of them: @@ -216,7 +216,7 @@ BSP layer on top of the meta-rcar-gen3 layer in meta-renesas. ``` git clone https://github.com/renesas-rcar/meta-renesas cd meta-renesas - git checkout dunfell-dev-4.14 + git checkout Renesas-Yocto-v5.5.0 cd .. git clone git://git.openembedded.org/meta-openembedded cd meta-openembedded diff --git a/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_%.bbappend b/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_%.bbappend index 038e0a4..b02096f 100644 --- a/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_%.bbappend +++ b/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_%.bbappend @@ -1,6 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:" -SRC_URI_append_rcar-gen3 = " file://0001-rcar_gen3-plat-Delete-FDT-function-calls.patch" +SRC_URI_append_rcar-gen3 = " file://0001-rcar_gen3-plat-Do-not-panic-on-unrecognized-boards.patch" # Apply the patch AGL applies for all rcar3 in meta-agl-bsp when # building the standalone agl-refhw-h3 machine. diff --git a/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/files/0001-rcar_gen3-plat-Delete-FDT-function-calls.patch b/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/files/0001-rcar_gen3-plat-Delete-FDT-function-calls.patch deleted file mode 100644 index 067bbb2..0000000 --- a/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/files/0001-rcar_gen3-plat-Delete-FDT-function-calls.patch +++ /dev/null @@ -1,145 +0,0 @@ -From a8e6139af9a307cc30d2e804819da963e419f017 Mon Sep 17 00:00:00 2001 -From: Toshiyuki Ogasahara <toshiyuki.ogasahara.bo@hitachi.com> -Date: Tue, 15 Dec 2020 18:23:32 +0900 -Subject: [PATCH] rcar_gen3: plat: Delete FDT function calls - -Since U-boot configures the device tree, the FDT function call by -BL31 is removed. - -Signed-off-by: Toshiyuki Ogasahara <toshiyuki.ogasahara.bo@hitachi.com> -Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@renesas.com> ---- - plat/renesas/rcar/bl2_plat_setup.c | 27 +++++++++++++++++++-------- - 1 file changed, 19 insertions(+), 8 deletions(-) - -diff --git a/plat/renesas/rcar/bl2_plat_setup.c b/plat/renesas/rcar/bl2_plat_setup.c -index 24a13c7f7..59a72b5bb 100644 ---- a/plat/renesas/rcar/bl2_plat_setup.c -+++ b/plat/renesas/rcar/bl2_plat_setup.c -@@ -110,6 +110,7 @@ static meminfo_t bl2_tzram_layout __aligned(CACHE_WRITEBACK_GRANULE); - - /* FDT with DRAM configuration */ - uint64_t fdt_blob[PAGE_SIZE_4KB / sizeof(uint64_t)]; -+#if 0 - static void *fdt = (void *)fdt_blob; - - static void unsigned_num_print(unsigned long long int unum, unsigned int radix, -@@ -133,7 +134,7 @@ static void unsigned_num_print(unsigned long long int unum, unsigned int radix, - while (--i >= 0) - *string++ = num_buf[i]; - } -- -+#endif - #if (RCAR_LOSSY_ENABLE == 1) - typedef struct bl2_lossy_info { - uint32_t magic; -@@ -145,6 +146,7 @@ static void bl2_lossy_gen_fdt(uint32_t no, uint64_t start_addr, - uint64_t end_addr, uint32_t format, - uint32_t enable, int fcnlnode) - { -+#if 0 - const uint64_t fcnlsize = cpu_to_fdt64(end_addr - start_addr); - char nodename[40] = { 0 }; - int ret, node; -@@ -199,6 +201,7 @@ static void bl2_lossy_gen_fdt(uint32_t no, uint64_t start_addr, - NOTICE("BL2: Cannot add FCNL formats prop (ret=%i)\n", ret); - panic(); - } -+#endif - } - - static void bl2_lossy_setting(uint32_t no, uint64_t start_addr, -@@ -449,6 +452,7 @@ struct meminfo *bl2_plat_sec_mem_layout(void) - return &bl2_tzram_layout; - } - -+#if 0 - static void bl2_populate_compatible_string(void *dt) - { - uint32_t board_type; -@@ -537,13 +541,17 @@ static void bl2_populate_compatible_string(void *dt) - panic(); - } - } -+#endif - - static void bl2_advertise_dram_entries(uint64_t dram_config[8]) - { -+#if 0 - char nodename[32] = { 0 }; -- uint64_t start, size; - uint64_t fdtsize; -- int ret, node, chan; -+ int ret, node; -+#endif -+ uint64_t start, size; -+ int chan; - - for (chan = 0; chan < 4; chan++) { - start = dram_config[2 * chan]; -@@ -556,7 +564,7 @@ static void bl2_advertise_dram_entries(uint64_t dram_config[8]) - (size >> 30) ? : size >> 20, - (size >> 30) ? "G" : "M"); - } -- -+#if 0 - /* - * We add the DT nodes in reverse order here. The fdt_add_subnode() - * adds the DT node before the first existing DT node, so we have -@@ -604,6 +612,7 @@ static void bl2_advertise_dram_entries(uint64_t dram_config[8]) - err: - NOTICE("BL2: Cannot add memory node to FDT (ret=%i)\n", ret); - panic(); -+#endif - } - - static void bl2_advertise_dram_size(uint32_t product) -@@ -927,7 +936,7 @@ lcm_state: - } - rcar_qos_init(); - } -- -+#if 0 - /* Set up FDT */ - ret = fdt_create_empty_tree(fdt, sizeof(fdt_blob)); - if (ret) { -@@ -937,7 +946,7 @@ lcm_state: - - /* Add platform compatible string */ - bl2_populate_compatible_string(fdt); -- -+#endif - /* Print DRAM layout */ - bl2_advertise_dram_size(product); - -@@ -989,14 +998,14 @@ lcm_state: - } - #if (RCAR_LOSSY_ENABLE == 1) - NOTICE("BL2: Lossy Decomp areas\n"); -- -+#if 0 - fcnlnode = fdt_add_subnode(fdt, 0, "reserved-memory"); - if (fcnlnode < 0) { - NOTICE("BL2: Cannot create reserved mem node (ret=%i)\n", - fcnlnode); - panic(); - } -- -+#endif - bl2_lossy_setting(0, LOSSY_ST_ADDR0, LOSSY_END_ADDR0, - LOSSY_FMT0, LOSSY_ENA_DIS0, fcnlnode); - bl2_lossy_setting(1, LOSSY_ST_ADDR1, LOSSY_END_ADDR1, -@@ -1005,8 +1014,10 @@ lcm_state: - LOSSY_FMT2, LOSSY_ENA_DIS2, fcnlnode); - #endif - -+#if 0 - fdt_pack(fdt); - NOTICE("BL2: FDT at %p\n", fdt); -+#endif - - if (boot_dev == MODEMR_BOOT_DEV_EMMC_25X1 || - boot_dev == MODEMR_BOOT_DEV_EMMC_50X8) --- -2.30.2 - diff --git a/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/files/0001-rcar_gen3-plat-Do-not-panic-on-unrecognized-boards.patch b/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/files/0001-rcar_gen3-plat-Do-not-panic-on-unrecognized-boards.patch new file mode 100644 index 0000000..4b51f37 --- /dev/null +++ b/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/files/0001-rcar_gen3-plat-Do-not-panic-on-unrecognized-boards.patch @@ -0,0 +1,36 @@ +From 61ffc5ec5ad1755d5d22b4386f8ad027bb59e1d5 Mon Sep 17 00:00:00 2001 +From: Scott Murray <scott.murray@konsulko.com> +Date: Tue, 5 Oct 2021 12:10:23 -0400 +Subject: [PATCH] rcar_gen3: plat: Do not panic on unrecognized boards + +Replace the panic in bl2_populate_compatible_string with just putting +"unknown" into the compatible string for the FDT. This allows us to +boot on the AGL reference hardware where the board type seems +unavailable. + +Upstream-Status: Inappropriate [board specific usecase] + +Signed-off-by: Scott Murray <scott.murray@konsulko.com> +--- + plat/renesas/rcar/bl2_plat_setup.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/plat/renesas/rcar/bl2_plat_setup.c b/plat/renesas/rcar/bl2_plat_setup.c +index bf077c483..7fcc75a13 100644 +--- a/plat/renesas/rcar/bl2_plat_setup.c ++++ b/plat/renesas/rcar/bl2_plat_setup.c +@@ -489,8 +489,9 @@ static void bl2_populate_compatible_string(void *dt) + "renesas,draak"); + break; + default: +- NOTICE("BL2: Cannot set compatible string, board unsupported\n"); +- panic(); ++ ret = fdt_setprop_string(dt, 0, "compatible", ++ "renesas,unknown"); ++ break; + } + + if (ret < 0) { +-- +2.31.1 + diff --git a/meta-agl-refhw-gen3/recipes-kernel/linux/files/0001-create-r8a7795-usb-ovc-pinmux-groups.patch b/meta-agl-refhw-gen3/recipes-kernel/linux/files/0001-Create-r8a7795-USB-OVC-pin-groups.patch index 8e0c4ac..c2a63b5 100644 --- a/meta-agl-refhw-gen3/recipes-kernel/linux/files/0001-create-r8a7795-usb-ovc-pinmux-groups.patch +++ b/meta-agl-refhw-gen3/recipes-kernel/linux/files/0001-Create-r8a7795-USB-OVC-pin-groups.patch @@ -1,30 +1,32 @@ -Create r8a7795 USB OVC pin groups +From 931e6487ca7642f94721a07c1e7da2152bda3baf Mon Sep 17 00:00:00 2001 +From: Scott Murray <scott.murray@konsulko.com> +Date: Tue, 21 Sep 2021 15:31:36 -0400 +Subject: [PATCH 1/4] Create r8a7795 USB OVC pin groups Split the r8a7795 USB pin groups to create separate groups for the OVC pins. This is required for the AGL reference hardware boards, which use some of the OVC pins in other pinmux modes. -Upstream-Status: pending - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> -Signed-off-by: Raquel Medina <raquel.medina@konsulko.com +Upstream-Status: pending +Signed-off-by: Scott Murray <scott.murray@konsulko.com> +Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> --- - .../boot/dts/renesas/r8a7795-es1-salvator-x.dts | 2 +- - arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 2 +- - .../arm64/boot/dts/renesas/r8a7795-salvator-xs.dts | 4 +- - arch/arm64/boot/dts/renesas/salvator-common.dtsi | 6 +- - arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 2 +- - arch/arm64/boot/dts/renesas/ulcb.dtsi | 2 +- - drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c | 75 +++++++++++++++++----- - drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 75 +++++++++++++++++----- + .../boot/dts/renesas/r8a77950-salvator-x.dts | 2 +- + .../boot/dts/renesas/r8a77951-salvator-x.dts | 2 +- + .../boot/dts/renesas/r8a77951-salvator-xs.dts | 4 +- + .../boot/dts/renesas/salvator-common.dtsi | 6 +- + arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 2 +- + arch/arm64/boot/dts/renesas/ulcb.dtsi | 2 +- + drivers/pinctrl/renesas/pfc-r8a77950.c | 75 +++++++++++++++---- + drivers/pinctrl/renesas/pfc-r8a77951.c | 75 +++++++++++++++---- 8 files changed, 129 insertions(+), 39 deletions(-) -diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts -index 63d7cd7c5c47..4a3e0deaa929 100644 ---- a/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts -+++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts -@@ -166,7 +166,7 @@ +diff --git a/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts +index 1a1f2324dd6e..776082563a30 100644 +--- a/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts ++++ b/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts +@@ -143,7 +143,7 @@ &ohci2 { &pfc { usb2_pins: usb2 { @@ -33,11 +35,11 @@ index 63d7cd7c5c47..4a3e0deaa929 100644 function = "usb2"; }; }; -diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts -index 4f743db4b9ae..6a1f58ed40d1 100644 ---- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts -+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts -@@ -166,7 +166,7 @@ +diff --git a/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts +index ade33b2ee741..466b8b4f4fef 100644 +--- a/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts ++++ b/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts +@@ -143,7 +143,7 @@ &ohci2 { &pfc { usb2_pins: usb2 { @@ -46,11 +48,11 @@ index 4f743db4b9ae..6a1f58ed40d1 100644 function = "usb2"; }; }; -diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-xs.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-xs.dts -index 9bf8bee35113..9e8dbeecd755 100644 ---- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-xs.dts -+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-xs.dts -@@ -190,7 +190,7 @@ +diff --git a/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts b/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts +index aa1ff538a4b6..fb1f286e2cd2 100644 +--- a/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts ++++ b/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts +@@ -167,7 +167,7 @@ pcie-sata-switch-hog { &pfc { usb2_pins: usb2 { @@ -59,7 +61,7 @@ index 9bf8bee35113..9e8dbeecd755 100644 function = "usb2"; }; -@@ -207,7 +207,7 @@ +@@ -184,7 +184,7 @@ usb2_pins: usb2 { * - Connect GP6_{04,21} to ADV7842. */ usb2_ch3_pins: usb2_ch3 { @@ -69,10 +71,10 @@ index 9bf8bee35113..9e8dbeecd755 100644 }; }; diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi -index 08b1259c4a1c..26a8cfbcf4c3 100644 +index 3cc16111ede3..f26902f8ae9a 100644 --- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi +++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi -@@ -751,13 +751,13 @@ +@@ -773,13 +773,13 @@ sound_clk_pins: sound_clk { }; usb0_pins: usb0 { @@ -88,7 +90,7 @@ index 08b1259c4a1c..26a8cfbcf4c3 100644 function = "usb1"; }; -@@ -773,7 +773,7 @@ +@@ -795,7 +795,7 @@ pwen { }; usb30_pins: usb30 { @@ -98,10 +100,10 @@ index 08b1259c4a1c..26a8cfbcf4c3 100644 }; }; diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi -index 202177706cde..6a09243d2b49 100644 +index 18867a494f85..6a74f21948da 100644 --- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi -@@ -285,7 +285,7 @@ +@@ -1008,7 +1008,7 @@ sound_pcm_pins: sound-pcm { }; usb0_pins: usb0 { @@ -109,12 +111,12 @@ index 202177706cde..6a09243d2b49 100644 + groups = "usb0", "usb0_ovc"; function = "usb0"; }; - }; + diff --git a/arch/arm64/boot/dts/renesas/ulcb.dtsi b/arch/arm64/boot/dts/renesas/ulcb.dtsi -index 9fda41e8317c..469665305630 100644 +index cf1ec42a662b..ad0f04d9ee67 100644 --- a/arch/arm64/boot/dts/renesas/ulcb.dtsi +++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi -@@ -375,7 +375,7 @@ +@@ -376,7 +376,7 @@ sound_clk_pins: sound-clk { }; usb1_pins: usb1 { @@ -123,11 +125,11 @@ index 9fda41e8317c..469665305630 100644 function = "usb1"; }; }; -diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c b/drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c -index 48fd5415f811..153039dfc83e 100644 ---- a/drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c -+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c -@@ -3834,44 +3834,79 @@ static const unsigned int tmu_tclk2_b_mux[] = { +diff --git a/drivers/pinctrl/renesas/pfc-r8a77950.c b/drivers/pinctrl/renesas/pfc-r8a77950.c +index fd884a0a3206..6d899897b3d2 100644 +--- a/drivers/pinctrl/renesas/pfc-r8a77950.c ++++ b/drivers/pinctrl/renesas/pfc-r8a77950.c +@@ -3841,44 +3841,79 @@ static const unsigned int tpu_to3_mux[] = { /* - USB0 ------------------------------------------------------------------- */ static const unsigned int usb0_pins[] = { @@ -220,9 +222,9 @@ index 48fd5415f811..153039dfc83e 100644 +static const unsigned int usb31_ovc_mux[] = { + USB31_OVC_MARK, }; - - static const unsigned int vin4_data18_a_mux[] = { -@@ -4430,10 +4465,15 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { + + static const unsigned int vin4_data18_a_pins[] = { +@@ -4434,10 +4469,15 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { SH_PFC_PIN_GROUP(tpu_to2), SH_PFC_PIN_GROUP(tpu_to3), SH_PFC_PIN_GROUP(usb0), @@ -236,9 +238,9 @@ index 48fd5415f811..153039dfc83e 100644 SH_PFC_PIN_GROUP(usb31), + SH_PFC_PIN_GROUP(usb31_ovc), VIN_DATA_PIN_GROUP(vin4_data, 8, _a), - VIN_DATA_PIN_GROUP(vin4_data. 16, _a), + VIN_DATA_PIN_GROUP(vin4_data, 16, _a), SH_PFC_PIN_GROUP(vin4_data18_a), -@@ -4928,22 +4967,27 @@ static const char * const tpu_groups[] = { +@@ -4936,22 +4976,27 @@ static const char * const tpu_groups[] = { static const char * const usb0_groups[] = { "usb0", @@ -266,11 +268,11 @@ index 48fd5415f811..153039dfc83e 100644 }; static const char * const vin4_groups[] = { -diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c -index 2988c1d43c32..5292ea7c15de 100644 ---- a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c -+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c -@@ -3925,44 +3925,79 @@ static const unsigned int tmu_tclk2_b_mux[] = { +diff --git a/drivers/pinctrl/renesas/pfc-r8a77951.c b/drivers/pinctrl/renesas/pfc-r8a77951.c +index 36436907e215..523a2d7e5e48 100644 +--- a/drivers/pinctrl/renesas/pfc-r8a77951.c ++++ b/drivers/pinctrl/renesas/pfc-r8a77951.c +@@ -3985,44 +3985,79 @@ static const unsigned int tpu_to3_mux[] = { /* - USB0 ------------------------------------------------------------------- */ static const unsigned int usb0_pins[] = { @@ -365,23 +367,23 @@ index 2988c1d43c32..5292ea7c15de 100644 }; /* - VIN4 ------------------------------------------------------------------- */ -@@ -4507,10 +4542,15 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { - SH_PFC_PIN_GROUP(tpu_to2), - SH_PFC_PIN_GROUP(tpu_to3), - SH_PFC_PIN_GROUP(usb0), -+ SH_PFC_PIN_GROUP(usb0_ovc), - SH_PFC_PIN_GROUP(usb1), -+ SH_PFC_PIN_GROUP(usb1_ovc), - SH_PFC_PIN_GROUP(usb2), -+ SH_PFC_PIN_GROUP(usb2_ovc), - SH_PFC_PIN_GROUP(usb2_ch3), -+ SH_PFC_PIN_GROUP(usb2_ch3_ovc), - SH_PFC_PIN_GROUP(usb30), -+ SH_PFC_PIN_GROUP(usb30_ovc), - VIN_DATA_PIN_GROUP(vin4_data, 8, _a), - VIN_DATA_PIN_GROUP(vin4_data, 10, _a), - VIN_DATA_PIN_GROUP(vin4_data, 12, _a), -@@ -5012,22 +5052,27 @@ static const char * const tmu_groups[] = { +@@ -4545,10 +4580,15 @@ static const struct { + SH_PFC_PIN_GROUP(tpu_to2), + SH_PFC_PIN_GROUP(tpu_to3), + SH_PFC_PIN_GROUP(usb0), ++ SH_PFC_PIN_GROUP(usb0_ovc), + SH_PFC_PIN_GROUP(usb1), ++ SH_PFC_PIN_GROUP(usb1_ovc), + SH_PFC_PIN_GROUP(usb2), ++ SH_PFC_PIN_GROUP(usb2_ovc), + SH_PFC_PIN_GROUP(usb2_ch3), ++ SH_PFC_PIN_GROUP(usb2_ch3_ovc), + SH_PFC_PIN_GROUP(usb30), ++ SH_PFC_PIN_GROUP(usb30_ovc), + VIN_DATA_PIN_GROUP(vin4_data, 8, _a), + VIN_DATA_PIN_GROUP(vin4_data, 10, _a), + VIN_DATA_PIN_GROUP(vin4_data, 12, _a), +@@ -5103,22 +5143,27 @@ static const char * const tpu_groups[] = { static const char * const usb0_groups[] = { "usb0", @@ -409,3 +411,6 @@ index 2988c1d43c32..5292ea7c15de 100644 }; static const char * const vin4_groups[] = { +-- +2.31.1 + diff --git a/meta-agl-refhw-gen3/recipes-kernel/linux/files/0001-add-agl-refhw.patch b/meta-agl-refhw-gen3/recipes-kernel/linux/files/0002-Add-AGL-reference-hardware-support.patch index f9c9726..e159cc1 100644 --- a/meta-agl-refhw-gen3/recipes-kernel/linux/files/0001-add-agl-refhw.patch +++ b/meta-agl-refhw-gen3/recipes-kernel/linux/files/0002-Add-AGL-reference-hardware-support.patch @@ -1,4 +1,7 @@ -Add AGL reference hardware support +From a544d23becdda2f8fb44506498c57fc46b5a075d Mon Sep 17 00:00:00 2001 +From: Scott Murray <scott.murray@konsulko.com> +Date: Tue, 21 Sep 2021 15:45:18 -0400 +Subject: [PATCH 2/4] Add AGL reference hardware support Upstream-Status: pending @@ -6,12 +9,13 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> [asm330lhh interrupt fix] Signed-off-by: Hiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com> - --- - arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi | 919 ++++++++++++++++++++++ - arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts | 392 +++++++++ - drivers/media/i2c/adv748x/adv748x-core.c | 24 +- + .../boot/dts/renesas/agl-refhw-common.dtsi | 919 ++++++++++++++++++ + .../boot/dts/renesas/r8a77951-agl-refhw.dts | 392 ++++++++ + drivers/media/i2c/adv748x/adv748x-core.c | 24 +- 3 files changed, 1334 insertions(+), 1 deletion(-) + create mode 100644 arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi + create mode 100644 arch/arm64/boot/dts/renesas/r8a77951-agl-refhw.dts diff --git a/arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi b/arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi new file mode 100644 @@ -938,11 +942,11 @@ index 000000000000..7474ed578c21 + + status = "okay"; +}; -diff --git a/arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts b/arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts +diff --git a/arch/arm64/boot/dts/renesas/r8a77951-agl-refhw.dts b/arch/arm64/boot/dts/renesas/r8a77951-agl-refhw.dts new file mode 100644 -index 000000000000..6c846a94afe2 +index 000000000000..3d1107f6d9cc --- /dev/null -+++ b/arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts ++++ b/arch/arm64/boot/dts/renesas/r8a77951-agl-refhw.dts @@ -0,0 +1,392 @@ +/* + * Device Tree Source for the AGL reference hardware board with R-Car H3 ES3.0 @@ -958,19 +962,19 @@ index 000000000000..6c846a94afe2 +/* + * This file is for the most part derived from: + * -+ * - r8a7795-salvator-xs-4x2g.dts -+ * - r8a7795-salvator-xs.dts ++ * - r8a77951-salvator-xs-4x2g.dts ++ * - r8a77951-salvator-xs.dts + * - salvator-xs.dtsi + * + * With agl-refhw-common.dtsi replacing (and derived from) salvator-common.dtsi. + */ + +/dts-v1/; -+#include "r8a7795.dtsi" ++#include "r8a77951.dtsi" +#include "agl-refhw-common.dtsi" + +/ { -+ model = "AGL Reference Hardware based on r8a7795 ES3.0+ with 8GiB (4 x 2 GiB)"; ++ model = "AGL Reference Hardware based on r8a77951 ES3.0+ with 8GiB (4 x 2 GiB)"; + compatible = "agl,refhw-h3", "renesas,r8a7795"; + + memory@48000000 { @@ -1200,7 +1204,7 @@ index 000000000000..6c846a94afe2 + * - On Salvator-X[S], GP6_3[01] are connected to ADV7482 as irq pins + * (when SW31 is the default setting on Salvator-XS). + * - If SW31 is the default setting, you cannot use USB2.0 ch3 on -+ * r8a7795 with Salvator-XS. ++ * r8a77951 with Salvator-XS. + * Hence the SW31 setting must be changed like 2) below. + * 1) Default setting of SW31: ON-ON-OFF-OFF-OFF-OFF: + * - Connect GP6_3[01] to ADV7842. @@ -1244,10 +1248,10 @@ index 000000000000..6c846a94afe2 + status = "okay"; +}; + -+/* End r8a7795-salvator-xs.dts content */ ++/* End r8a77951-salvator-xs.dts content */ + + -+/* Start r8a7795-salvator-xs-4x2g.dts content */ ++/* Start r8a77951-salvator-xs-4x2g.dts content */ + +&pciec0 { + /* Map all possible DDR as inbound ranges */ @@ -1259,7 +1263,7 @@ index 000000000000..6c846a94afe2 + dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000>; +}; + -+/* End r8a7795-salvator-xs-4x2g.dts content */ ++/* End r8a77951-salvator-xs-4x2g.dts content */ + + +/* Start salvator-xs.dts content */ @@ -1337,7 +1341,7 @@ index 000000000000..6c846a94afe2 + }; +}; diff --git a/drivers/media/i2c/adv748x/adv748x-core.c b/drivers/media/i2c/adv748x/adv748x-core.c -index 87092ce5ba73..357c334113aa 100644 +index fe156e8f88b8..da295b106561 100644 --- a/drivers/media/i2c/adv748x/adv748x-core.c +++ b/drivers/media/i2c/adv748x/adv748x-core.c @@ -97,6 +97,21 @@ static const struct adv748x_register_map adv748x_default_addresses[] = { @@ -1381,3 +1385,6 @@ index 87092ce5ba73..357c334113aa 100644 if (IS_ERR(state->i2c_clients[i])) { adv_err(state, "failed to create i2c client %u\n", i); +-- +2.31.1 + diff --git a/meta-agl-refhw-gen3/recipes-kernel/linux/files/0002-revert-e233201a.patch b/meta-agl-refhw-gen3/recipes-kernel/linux/files/0002-revert-e233201a.patch deleted file mode 100644 index 76039be..0000000 --- a/meta-agl-refhw-gen3/recipes-kernel/linux/files/0002-revert-e233201a.patch +++ /dev/null @@ -1,47 +0,0 @@ -Revert "wl18xx: do not invert IRQ on WLxxxx side" - -This reverts commit 2bcfc394307ae164cbbdff74b902af61dc0181b4. -The hard-coded assumption that the IRQ inversion logic is not -needed breaks non-Kingfisher users, specifically the WLAN card -for the AGL reference hardware board. - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> - ---- - drivers/net/wireless/ti/wl18xx/main.c | 8 -------- - 1 file changed, 8 deletions(-) - -diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c -index 764987101116..0b3cf8477c6c 100644 ---- a/drivers/net/wireless/ti/wl18xx/main.c -+++ b/drivers/net/wireless/ti/wl18xx/main.c -@@ -865,9 +865,7 @@ static int wl18xx_pre_upload(struct wl1271 *wl) - { - u32 tmp; - int ret; --#if 0 - u16 irq_invert; --#endif - - BUILD_BUG_ON(sizeof(struct wl18xx_mac_and_phy_params) > - WL18XX_PHY_INIT_MEM_SIZE); -@@ -920,11 +918,6 @@ static int wl18xx_pre_upload(struct wl1271 *wl) - if (ret < 0) - goto out; - --#if 0 -- /* We have level translator with inversion on IRQ line so we -- * set IRQ_TYPE_EDGE_FALLING in DTS, but we do not need to -- * invert IRQ logic on WLxxxx side! -- */ - ret = irq_get_trigger_type(wl->irq); - if ((ret == IRQ_TYPE_LEVEL_LOW) || (ret == IRQ_TYPE_EDGE_FALLING)) { - wl1271_info("using inverted interrupt logic: %d", ret); -@@ -944,7 +937,6 @@ static int wl18xx_pre_upload(struct wl1271 *wl) - - ret = wlcore_set_partition(wl, &wl->ptable[PART_PHY_INIT]); - } --#endif - - out: - return ret; diff --git a/meta-agl-refhw-gen3/recipes-kernel/linux/files/0001-Add-support-for-TI-WL1837.patch b/meta-agl-refhw-gen3/recipes-kernel/linux/files/0003-Add-support-for-TI-WL1837.patch index cfd1276..7cb1521 100644 --- a/meta-agl-refhw-gen3/recipes-kernel/linux/files/0001-Add-support-for-TI-WL1837.patch +++ b/meta-agl-refhw-gen3/recipes-kernel/linux/files/0003-Add-support-for-TI-WL1837.patch @@ -1,4 +1,7 @@ -Add support for TI WL1837 +From 8d08ab1372ede05e1c9dabdd242fd4bb1e0be414 Mon Sep 17 00:00:00 2001 +From: Scott Murray <scott.murray@konsulko.com> +Date: Tue, 21 Sep 2021 15:52:18 -0400 +Subject: [PATCH 3/4] Add support for TI WL1837 This patch adds description of TI WL1837 and links interfaces to communicate with the IC. @@ -7,7 +10,7 @@ Signed-off-by: ito.yoshiki001 <ito.yoshiki001@jp.panasonic.com> Reworked: - WL1837 specific devicetree configuration moved to the board - specific r8a7795-agl-refhw.dts from agl-refhw-common.dtsi. + specific r8a77951-agl-refhw.dts from agl-refhw-common.dtsi. - Switched to HCI_LL driver for BT support to match other upstream users and prepare for btwilink driver going away (dropped in 5.5 upstream). @@ -17,18 +20,19 @@ Reworked: the HDMI1 audio left over from the original Salvator-X devicetree. The latter is clean up, as HDMI1 as defined uses a SSI that conflicts with the ak4613 configuration. +- Updated for kernel 5.10 in BSP v5.5.0. Signed-off-by: Scott Murray <scott.murray@konsulko.com> --- - arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi | 37 +++++++--- - arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts | 84 ++++++++++++++++++----- + .../boot/dts/renesas/agl-refhw-common.dtsi | 37 +++++--- + .../boot/dts/renesas/r8a77951-agl-refhw.dts | 84 +++++++++++++++---- 2 files changed, 94 insertions(+), 27 deletions(-) diff --git a/arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi b/arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi -index 796ac4c078e0..6f34b54c6ce1 100644 +index 7474ed578c21..3ae835a1ff13 100644 --- a/arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi +++ b/arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi -@@ -183,6 +183,18 @@ +@@ -183,6 +183,18 @@ vccq_sdhi3: regulator-vccq-sdhi3 { 1800000 0>; }; @@ -47,7 +51,7 @@ index 796ac4c078e0..6f34b54c6ce1 100644 hdmi0-out { compatible = "hdmi-connector"; label = "HDMI0 OUT"; -@@ -672,7 +684,8 @@ +@@ -673,7 +685,8 @@ sdhi3_pins_uhs: sd3_uhs { }; sound_pins: sound { @@ -57,7 +61,7 @@ index 796ac4c078e0..6f34b54c6ce1 100644 function = "ssi"; }; -@@ -827,24 +840,28 @@ +@@ -828,24 +841,28 @@ &sdhi2 { }; &sdhi3 { @@ -95,11 +99,11 @@ index 796ac4c078e0..6f34b54c6ce1 100644 &usb_extal_clk { clock-frequency = <50000000>; }; -diff --git a/arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts b/arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts -index 83638a6228c0..97cc6e08ee8f 100644 ---- a/arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts -+++ b/arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts -@@ -119,6 +119,23 @@ +diff --git a/arch/arm64/boot/dts/renesas/r8a77951-agl-refhw.dts b/arch/arm64/boot/dts/renesas/r8a77951-agl-refhw.dts +index 3d1107f6d9cc..24ba2c5c4b88 100644 +--- a/arch/arm64/boot/dts/renesas/r8a77951-agl-refhw.dts ++++ b/arch/arm64/boot/dts/renesas/r8a77951-agl-refhw.dts +@@ -119,6 +119,23 @@ adv7123_out: endpoint { }; }; @@ -123,7 +127,7 @@ index 83638a6228c0..97cc6e08ee8f 100644 }; &adsp { -@@ -155,8 +172,14 @@ +@@ -155,8 +172,14 @@ &hsusb3 { &sound_card { dais = <&rsnd_port0 /* ak4613 */ @@ -140,7 +144,7 @@ index 83638a6228c0..97cc6e08ee8f 100644 }; &hdmi0 { -@@ -192,12 +215,6 @@ +@@ -192,12 +215,6 @@ rcar_dw_hdmi1_out: endpoint { remote-endpoint = <&hdmi1_con>; }; }; @@ -153,7 +157,7 @@ index 83638a6228c0..97cc6e08ee8f 100644 }; }; -@@ -215,8 +232,11 @@ +@@ -215,8 +232,11 @@ &ohci3 { }; &rcar_sound { @@ -166,7 +170,7 @@ index 83638a6228c0..97cc6e08ee8f 100644 rsnd_port1: port@1 { reg = <1>; rsnd_endpoint1: endpoint { -@@ -231,14 +251,15 @@ +@@ -231,14 +251,15 @@ rsnd_endpoint1: endpoint { }; rsnd_port2: port@2 { reg = <2>; @@ -188,7 +192,7 @@ index 83638a6228c0..97cc6e08ee8f 100644 }; }; }; -@@ -373,11 +394,40 @@ +@@ -373,11 +394,40 @@ &sdhi0 { }; &sdhi3 { @@ -231,3 +235,6 @@ index 83638a6228c0..97cc6e08ee8f 100644 /* Enable the CAN 1 & 2 transceivers */ can-1-transceiver-stb { gpio-hog; +-- +2.31.1 + diff --git a/meta-agl-refhw-gen3/recipes-kernel/linux/files/0003-rcar3-dw-hdmi-cec-mute.patch b/meta-agl-refhw-gen3/recipes-kernel/linux/files/0004-Mute-CEC-IRQ-in-dw-hdmi-driver-init.patch index b0663ca..0ad8374 100644 --- a/meta-agl-refhw-gen3/recipes-kernel/linux/files/0003-rcar3-dw-hdmi-cec-mute.patch +++ b/meta-agl-refhw-gen3/recipes-kernel/linux/files/0004-Mute-CEC-IRQ-in-dw-hdmi-driver-init.patch @@ -1,4 +1,10 @@ -Mute CEC IRQ in dw-hdmi driver init +From 23cc66769400cc94c6baad7be66475ff004da3cc Mon Sep 17 00:00:00 2001 +From: invalid_git config <unknown@unknown> +Date: Tue, 26 Oct 2021 21:15:42 +0000 +Subject: [PATCH 4/4] Mute CEC IRQ in dw-hdmi driver init +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit Add muting of the CEC interrupt to initialize_hdmi_rcar_ih_mutes, which it previously did not have, unlike the original generic @@ -6,16 +12,15 @@ initialize_hdmi_ih_mutes function. Author: Kato Kazuomi (加藤 一臣) <kato.kazuomi@jp.panasonic.com> Signed-off-by: Scott Murray <scott.murray@konsulko.com> - --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c -index cedae37e6d28..b4a29d3954ae 100644 +index e856bffa4f70..dd31ebeb8ddf 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c -@@ -1906,6 +1906,7 @@ static void initialize_hdmi_rcar_ih_mutes(struct dw_hdmi *hdmi) +@@ -2329,6 +2329,7 @@ static void initialize_hdmi_rcar_ih_mutes(struct dw_hdmi *hdmi) hdmi_writeb(hdmi, 0x1f, HDMI_IH_MUTE_AS_STAT0); hdmi_writeb(hdmi, 0x3f, HDMI_IH_MUTE_PHY_STAT0); hdmi_writeb(hdmi, 0x03, HDMI_IH_MUTE_I2CM_STAT0); @@ -23,3 +28,6 @@ index cedae37e6d28..b4a29d3954ae 100644 hdmi_writeb(hdmi, 0x0f, HDMI_IH_MUTE_VP_STAT0); hdmi_writeb(hdmi, 0x03, HDMI_IH_MUTE_I2CMPHY_STAT0); +-- +2.31.1 + diff --git a/meta-agl-refhw-gen3/recipes-kernel/linux/linux-renesas_%.bbappend b/meta-agl-refhw-gen3/recipes-kernel/linux/linux-renesas_%.bbappend index 325e507..fee4c77 100644 --- a/meta-agl-refhw-gen3/recipes-kernel/linux/linux-renesas_%.bbappend +++ b/meta-agl-refhw-gen3/recipes-kernel/linux/linux-renesas_%.bbappend @@ -1,11 +1,10 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:" SRC_URI_append = " \ - file://0001-create-r8a7795-usb-ovc-pinmux-groups.patch \ - file://0001-add-agl-refhw.patch \ - file://0003-rcar3-dw-hdmi-cec-mute.patch \ - file://0001-Add-support-for-TI-WL1837.patch \ - file://0002-revert-e233201a.patch \ + file://0001-Create-r8a7795-USB-OVC-pin-groups.patch \ + file://0002-Add-AGL-reference-hardware-support.patch \ + file://0003-Add-support-for-TI-WL1837.patch \ + file://0004-Mute-CEC-IRQ-in-dw-hdmi-driver-init.patch \ file://refhw-rcar.cfg \ " |