Skip to content

Integrate linux-seco-rk/seco_5.10.110_c31

GitBot requested to merge linux-seco-rk/seco_5.10.110_c31 into kirkstone

Commit: edgehog/bsp/rockchip/linux-seco-rk@20cd5eba

[C31] [DTS] Add watchdog device tree configuration for TPS3851

Add watchdog device node to bind with the gpio-wdt driver

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@521102e5

[C31] [DEFCONFIG] Enable GPIO_WATCHDOG support for TPS3851

SBC-C31 has TPS3851 voltage supervisor with integrated watchdog. GPIO_WATCHDOG is sufficient to have basic watchdog functionality and manage its pin (WDI), once watchdog is enabled in U-boot using pin (SET1). Enable GPIO_WATCHDOG_ARCH_INITCALL to raise initcall level to arch_initcall

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@2a6ae7a8

[C31] [DTS] Add internal-delay bool property to ethernet node

When USING_KERNEL_DTB is enabled for U-Boot build, it is required to maintain this bool property also in the GMAC Ethernet node, since DP83867 driver cannot get it from the phy node.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@849262d5

[Kconfig] PCIE_DW_ROCKCHIP: Add dependency on RFKILL_RK

Being dependent on RFKILL_RK, the pcie-dw-rockchip driver should not be brought into the build without RFKILL_RK.

To avoid linker errors when building without RFKILL_RK enabled: pcie-dw-rockchip.c:2263: undefined reference to `rfkill_get_wifi_power_state'

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@7cb554cc

[C31] [DTS] Add configuration for USB Type-C controller FUSB302

Standard Type-C connector supports following configurations:

  • USB 3.0 port
  • OTG port
  • Display port Currently only USB 3.0 (data role - host, power role - source) is supported, due to lack of implementations (e.g. typec mux registration) and mismatches (phy-rockchip-typec driver still needs the deprecated extcon API, e.g. in function tcphy_get_mode). The connector and port nodes retain all the necessary default properties, some of which are currently unused, but kept, some refactoring should probably be done once the drivers have full support.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@f2561cb4

[C31] [DTS] Add alias for PCAL6416 GPIO expander node

When using kernel device tree in U-Boot to have appropriate sequence number for gpio bank added by pcal6416 GPIO expander, because aliases 0 to 4 are already assigned to other gpio banks. In case if gpio expander is probed first, it receives sequence number 0.

This will fix warning "seq 0 is in use by gpio@20".

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@b0e1aadf

[DRIVERS] mcp251xfd: Add Loopback CAN operation mode support

For self-test purposes add possibility to set Loopback operation mode.

Because the driver does not have CAN_CTRLMODE_LOOPBACK in can.ctrlmode_supported this following command will exit with an error: root@seco-rk3399-c31:~# ip link set can0 type can loopback on RTNETLINK answers: Operation not supported

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@f17b4346

[C31] [DEFCONFIG] Enable driver for MCP251XFD SPI FD-CAN controller

Optionally SBC-C31 can have MCP2518FDT-H/QBB SPI FD-CAN controller with TJA1051 CAN transceiver. Enable driver for the Microchip MCP251XFD CAN controller over SPI

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@17cfedbb

[C31] [DTS] Add CAN over SPI support configuration

Add device tree overlays for CAN devices to be used along the environment setup of the peripheral devices at boot time.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@a420c8ac

[DRIVERS] Add backlight driver for MPS MP3385

Add PWM based backlight driver for MPS MP3385 WLED Controller with I2C Interface.

Initialization values can be passed to the driver via module parameter "settings" from command line or via DTS parameter.

Example command line portion is "mp3385_bl.settings=0xF0,0x44,0x3B,0x03,0x7F,0xE7". The same setting in DTS can be obtained by passing the reg-val: "reg-val = <0xF0 0x44 0x3B 0x03 0x7F 0xE7>;"

Co-authored-by: Gianfranco Mariotti gianfranco.mariotti@seco.com

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@8813ef5b

[C31] [DTS] Add internal-delay property to ethernet PHY node

This property will be checked by the driver to apply the internal delays for a PHY interface different from RGMII-ID.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@76512c3a

[DRIVERS] dp83867: Add internal-delay property to force delay setting

The dp83867 driver gives the possibility to set the internal delay for the interface RGMII-ID exclusively. In case we need these delays for the RGMII interface, to achieve better performance, the additional bool property has been introduced - 'internal-delay' to check in PHY device node, to set registers DP83867_RGMII_TX_CLK_DELAY_EN and DP83867_RGMII_RX_CLK_DELAY_EN and so to apply the internal delays.

without internal-delays applied: -- www.google.com ping statistics --- 210 packets transmitted, 198 packets received, 5% packet loss round-trip min/avg/max = 6.190/7.115/7.892 ms root@seco-rk3399-c31:~#

and with this property applied we have 0% packet loss.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@b6cc9037

[C31] [DTS] Add WiFi and Bluetooth suport configuration

Add configuration needed to support wireless adapter based on Marvell 8997 chipset using SDIO interface. Note: Actual configuration supports NXP Wi-Fi driver for module 88w8997/8987 built as an external module sourced from https://github.com/nxp-imx/mwifiex

Add this module to build with Yocto, using this configuration example in machine config:

KERNEL_MODULE_AUTOLOAD += "mlan moal" KERNEL_MODULE_PROBECONF += "moal" module_conf_moal = "options moal fw_name=mrvl/sdsd8997_combo_v4.bin cal_data_cfg=mrvl/cal_data.conf drv_mode=1 cfg80211_wext=0xf sta_name=wlan wfd_name=p2p max_vir_bss=1 auto_ds=2 ps_mode=2"

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@9da49e5e

[C31] [DEFCONFIG] Enable PWRSEQ_SD8787

Enable this power sequence driver which now supports Marvell chipset SD8997 WiFi+BT

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@57b60602

[DRIVERS] pwrseq_sd8787: Add power sequence support for Marvell SD8997 chipset

Instead of the pwrseq_simple driver which has only reset gpio in the power sequence, the pwrseq_sd8787 driver also adds powerdown gpio to handle in the power sequence.

But the Marvell SD8997 chipset does not have a gpio reset line in the power sequence, only a powerdown one, and to apply the proper power sequence, in this driver added device data to match the appropriate device and therefore to get the correct resources to manage in power sequence.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@ef764419

[C31] [DTS] Add ALSA sound card with TI TLV320 I2S stereo audio codec

Add device tree configuration for ALSA sound card with TLV320AIC3204 audio codec

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@5c738347

[C31] [DTS] Add configuration for HDMI up to 4K resolution

Add dts overlay file for HDMI connected to VOP big which supports up to 4K resolution.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@96f5657e

[C31] [DTS] Add HDMI sound configuration

Add ALSA sound card with HDMI audio codec

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@b79adef4

[C31] [DEFCONFIG] Enable driver for TI TLV320 I2S stereo audio codec

Enable support for the sound card with TI TLV320 I2S audio codec

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@d6a2c226

[C31] [DTS] Add PCI-e configuration

Add PCI-e configuration for the second Ethernet connection using Intel (R) I210 family Gigabit Ethernet controller interfaced to Rockchip processor PCI-e.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@e57bd30f

[C31] [DEFCONFIG] Enable Intel(R) 1000 family adapter support

Optionally C31 SBC could have an Ethernet connection using Intel I210 Family Gigabit Ethernet controller interfaced to Rockchip processors PCI-e

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@cc8701a3

[C31] [DTS] Add LVDS LCD panel support configuration

Add DTS overlay file for LVDS 15.6 inch 1920x1080 LCD panel Tested with panel InnoLux model G156HCE-L01.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@7bffa0a6

[C31] [DTS] Move HDMI configuration in dedicated overlay dts

Since HDMI is optional, it is best to add its configuration using the Seco Environment Manager with seco_config command.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@3f52cf64

[C31] [DTS] Add eDP LCD panel support configuration

Add DTS overlay file for eDP 15.6 inch 1920x1080 LCD panel Tested with panel model G156HAN02. Move the regulator for LCD power in the overlay file, Add regulator-min(max)-microvolt values to the vcc_sys regulator node used as vin-supply for backlight power supply regulator. Delete property pinctrl for HPD from edp node, as it is not in design and pin is used for HDMI CEC. Delete property does not work from overlay, so use it from base dts.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@048a51bd

[C31][DTS][DEFCONFIG] Enable RTC PCF2123 support

Enable RTC PCF2123 driver and add device tree support configuration

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@b7cb1d88

[C31] [DTS] Add SPI flash node for SST26VF032B

Keep disabled until verified.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@6c90a5f4

[DRIVERS] PCF2123: Try to reset RTC Oscillator Stop flag

from boot log: rtc-pcf2123 spi1.0: clock was stopped. Time is not valid

According to the PCF2123 data-sheet, the oscillator is considered to be stopped during the time between power-on and stable crystal resonance. The Oscillator stop flag will remain set until cleared by software. Before reporting the RTC error, try clearing the flag to check if the RTC oscillator is running.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@4e1702c3

[C31] [DTS] Fix RGA node configuration

Current driver bound by compatible property is not supported

from boot log: rockchip-rga: probe of ff680000.rga failed with error -12

Modify the rga node configuration to bind the RGA2 driver with the correct properties requested by the driver and deleting unnecessary properties.

from boot log after fixes: rga: rga2 hardware loaded successfully, hw_version:3.2.18218. rga: rga2 probe successfully

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@479dad67

[C31][DTS][DEFCONFIG] Add LTE modem support configuration

Enable GSM modem initialization driver. Add gsm_modem node with GPIOs controlling LTE_RESET_N, LTE_PWRKEY, LTE_USB_BOOT and VBAT_GSM_EN lines.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@c2ac11c8

[DRIVERS] Porting: Add SECO GSM modem power management

Driver provides support for reset, power enable lines, that are controlled by GPIOs.

Driver added to the miscellaneous drivers source tree.

Thid driver is needed to initialize the LTE Cat 4 modem module QUECTEL EG25-G.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@9e74fdb9

[C31] [DTS] Add power supply for (SAR) A/D Converter

Fix saradc probe failure.

from boot log: rockchip-saradc ff100000.saradc: supply vref not found, using dummy regulator rockchip-saradc ff100000.saradc: failed to get voltage rockchip-saradc: probe of ff100000.saradc failed with error -22

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@b5b0657f

[C31] [DTS] GMAC: Add TI DP83867 PHY child node

Add eth_phy child node into mdio at address 9: mdio command output from u-boot shell: => mdio list ethernet@fe300000: 9 - TI DP83867 <--> ethernet@fe300000

=> mdio read ethernet@fe300000 9.0x0010 Reading from bus ethernet@fe300000 PHY at address 9: 9.16 - 0xc040

Set FIFO depth to DP83867_PHYCR_FIFO_DEPTH_8_B_NIB as PHY Control Register (PHYCR), at Address 0x0010, bit [15:14] set: 11 TX FIFO Depth: 8 bytes Set ti,tx-internal-delay and ti,rx-internal-delay to DP83867_RGMIIDCTL_1_NS as in stable kernel version 4.19.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@74ea8346

[C31] [DTS] Assign parent clock to dclk_source

When RK3399_TWO_PLL_FOR_VOP defined that is needed for dual display support, where two PLLs are required, dclk_vop0 exclusively occupies the CPLL, and dclk_vop1 exclusively occupies the VPLL.

Add include rk3399-vop-clk-set.dtsi indirectly by creating seco-rk3399-vop-clk-set.dtsi, because we have to overwrite PLL_NPLL clock frequency to obtain 125MHz clock rate for GMAC.

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@8992a96b

[C31] [DTS] ramoops: Fix the issue of lack of reserved memory resource

Move ramoops node into reserved-memory node otherwise driver will not find this resource, even if it is already allocated. from boot log: 'ramoops: failed to locate DT /reserved-memory resource'

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@774b3974

[C31] [DTS] dmc: Add supported DDR frequencies

from boot log: dmc: Get wrong frequency, Request 800000000, Current 856000000 dmc: could not find power_model node dmc: dev_pm_opp_set_rate: failed to find current OPP for freq 856000000 (-34) dmc: Get wrong frequency, Request 200000000, Current 856000000

from DDR training log: ddr_set_rate to 328MHZ ddr_set_rate to 666MHZ ddr_set_rate to 416MHZ, ctl_index 0 ddr_set_rate to 856MHZ, ctl_index 1 support 416 856 328 666 MHz, current 856MHz

In dmc_opp_table node disable operating point nodes with unsupported frequency and add opp nodes for supported 328 416 666 856 MHZ frequencies In dmc node change the frequencies for different system statuses (scenario). The values are taken from reference board with similar LPDDR4 memory. Set auto-freq-en to 0, so disable load frequency scaling function and enable scenario frequency scaling.

Scenario frequency scaling means: entered the specified scenario, DDR frequency will change to the corresponding frequency defined by SYS_STATUS_XXX. The vop-bw-dmc-freq values ​​are valid when load frequency scaling enabled (auto-freq-en=1).

--

Commit: edgehog/bsp/rockchip/linux-seco-rk@9bc91a1f

[C31] [DTS] Add device tree configuration for C31 RK3399 board

The device tree configuration is based on dts of Rockchip RK3399 reference boards and dts of C31 board from stable kernel (4.19)

Merge request reports