Message ID | 20211224134347.41812-4-alpernebiyasak@gmail.com |
---|---|
State | Accepted |
Delegated to: | Kever Yang |
Headers | show |
Series | rockchip: Improve support for Bob chromebook and add support for Kevin | expand |
On Fri, 24 Dec 2021 at 06:44, Alper Nebi Yasak <alpernebiyasak@gmail.com> wrote: > > This patch enables some configs that should be working on the Bob board, > based on what is observed to work on the Kevin board. > > The Bob board uses an Embedded DisplayPort panel compatible with the > simple panel and Rockchip eDP drivers. Its backlight is controlled by > the Chromium OS Embedded Controller Pulse Width Modulator. Enable these > for the board. > > Also set VIDEO_ROCKCHIP_MAX_{XRES,YRES} to 1280x800, the resolution of > its panel. This had to be done for the Kevin board, but it's untested if > this is actually necessary for Bob. > > The Rockchip video driver needs to assert/deassert some resets, so also > enable the reset controller. RESET_ROCKCHIP defaults to y for this board > when DM_RESET=y, so it's enough to set that. > > The Bob board has two USB 3.0 Type-C ports and one USB 2.0 Type-A port > on its right side. Enable the configs relevant to USB devices so these > can be used. This is despite a known issue with RK3399 boards where USB > de-init causes a hang, as there is a known workaround. > > Some other rk3399-based devices enable support for the SoC's random > number generator in commit a475bef5340c ("configs: rk3399: enable rng on > firefly/rock960/rockpro64"), as it can provide a KASLR seed when booting > using UEFI. Enable it for Bob as well. > > The default misc_init_r() for Rockchip boards sets cpuid and ethernet > MAC address based on e-fuse block. A previous patch extends this on Gru > boards to set registers related to SoC IO domains as is necessary on > these boards. Enable this function and configs for it on Bob. > > The microSD card slot on this board (and others based on Gru) is > connected to a GPIO controlled regulator (ppvar-sd-card-io), which must > be operable by U-Boot. Enable the relevant config option to allow this. > > Bob boards also use the Winbond W25Q64DW SPI flash chip, enable support > for Winbond SPI flash chips in the board config so U-Boot can boot with > this chip. > > Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> > Reviewed-by: Kever Yang <kever.yang@rock-chips.com> > --- > > Changes in v3: > - Unset configs MMC_IO_VOLTAGE, MMC_UHS_SUPPORT, MMC_HS400_SUPPORT, > MMC_HS400_ES_SUPPORT, MMC_SDHCI_SDMA. > - Add tag: "Reviewed-by: Kever Yang <kever.yang@rock-chips.com>" > > configs/chromebook_bob_defconfig | 22 +++++++++++++++++++++- > include/configs/gru.h | 3 +++ > 2 files changed, 24 insertions(+), 1 deletion(-) > Reviewed-by: Simon Glass <sjg@chromium.org> Tested on bob, kevin Tested-by: Simon Glass <sjg@chromium.org>
On Fri, Dec 24, 2021 at 7:14 PM Alper Nebi Yasak <alpernebiyasak@gmail.com> wrote: > > This patch enables some configs that should be working on the Bob board, > based on what is observed to work on the Kevin board. > > The Bob board uses an Embedded DisplayPort panel compatible with the > simple panel and Rockchip eDP drivers. Its backlight is controlled by > the Chromium OS Embedded Controller Pulse Width Modulator. Enable these > for the board. > > Also set VIDEO_ROCKCHIP_MAX_{XRES,YRES} to 1280x800, the resolution of > its panel. This had to be done for the Kevin board, but it's untested if > this is actually necessary for Bob. > > The Rockchip video driver needs to assert/deassert some resets, so also > enable the reset controller. RESET_ROCKCHIP defaults to y for this board > when DM_RESET=y, so it's enough to set that. > > The Bob board has two USB 3.0 Type-C ports and one USB 2.0 Type-A port > on its right side. Enable the configs relevant to USB devices so these > can be used. This is despite a known issue with RK3399 boards where USB > de-init causes a hang, as there is a known workaround. > > Some other rk3399-based devices enable support for the SoC's random > number generator in commit a475bef5340c ("configs: rk3399: enable rng on > firefly/rock960/rockpro64"), as it can provide a KASLR seed when booting > using UEFI. Enable it for Bob as well. > > The default misc_init_r() for Rockchip boards sets cpuid and ethernet > MAC address based on e-fuse block. A previous patch extends this on Gru > boards to set registers related to SoC IO domains as is necessary on > these boards. Enable this function and configs for it on Bob. > > The microSD card slot on this board (and others based on Gru) is > connected to a GPIO controlled regulator (ppvar-sd-card-io), which must > be operable by U-Boot. Enable the relevant config option to allow this. > > Bob boards also use the Winbond W25Q64DW SPI flash chip, enable support > for Winbond SPI flash chips in the board config so U-Boot can boot with > this chip. > > Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> > Reviewed-by: Kever Yang <kever.yang@rock-chips.com> > --- > > Changes in v3: > - Unset configs MMC_IO_VOLTAGE, MMC_UHS_SUPPORT, MMC_HS400_SUPPORT, > MMC_HS400_ES_SUPPORT, MMC_SDHCI_SDMA. > - Add tag: "Reviewed-by: Kever Yang <kever.yang@rock-chips.com>" > > configs/chromebook_bob_defconfig | 22 +++++++++++++++++++++- > include/configs/gru.h | 3 +++ > 2 files changed, 24 insertions(+), 1 deletion(-) > > diff --git a/configs/chromebook_bob_defconfig b/configs/chromebook_bob_defconfig > index fe938c659172..3f6c088352eb 100644 > --- a/configs/chromebook_bob_defconfig > +++ b/configs/chromebook_bob_defconfig > @@ -21,6 +21,7 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-gru-bob.dtb" > # CONFIG_DISPLAY_CPUINFO is not set > CONFIG_DISPLAY_BOARDINFO_LATE=y > CONFIG_BOARD_EARLY_INIT_R=y > +CONFIG_MISC_INIT_R=y > CONFIG_BLOBLIST=y > CONFIG_BLOBLIST_SIZE=0x1000 > CONFIG_BLOBLIST_ADDR=0x100000 > @@ -52,8 +53,9 @@ CONFIG_ROCKCHIP_GPIO=y > CONFIG_I2C_CROS_EC_TUNNEL=y > CONFIG_SYS_I2C_ROCKCHIP=y > CONFIG_I2C_MUX=y > -CONFIG_DM_KEYBOARD=y > CONFIG_CROS_EC_KEYB=y > +CONFIG_MISC=y > +CONFIG_ROCKCHIP_EFUSE=y > CONFIG_CROS_EC=y > CONFIG_CROS_EC_SPI=y > CONFIG_PWRSEQ=y > @@ -65,13 +67,21 @@ CONFIG_MMC_SDHCI_ROCKCHIP=y > CONFIG_SF_DEFAULT_BUS=1 > CONFIG_SF_DEFAULT_SPEED=20000000 > CONFIG_SPI_FLASH_GIGADEVICE=y > +CONFIG_SPI_FLASH_WINBOND=y > CONFIG_DM_ETH=y > CONFIG_ETH_DESIGNWARE=y > CONFIG_GMAC_ROCKCHIP=y > +CONFIG_PHY_ROCKCHIP_INNO_USB2=y > +CONFIG_PHY_ROCKCHIP_TYPEC=y > CONFIG_PMIC_RK8XX=y > CONFIG_REGULATOR_PWM=y > +CONFIG_DM_REGULATOR_GPIO=y > CONFIG_REGULATOR_RK8XX=y > +CONFIG_PWM_CROS_EC=y > CONFIG_PWM_ROCKCHIP=y > +CONFIG_DM_RESET=y > +CONFIG_DM_RNG=y > +CONFIG_RNG_ROCKCHIP=y > CONFIG_DEBUG_UART_SHIFT=2 > CONFIG_ROCKCHIP_SPI=y > CONFIG_SYSRESET=y > @@ -80,11 +90,21 @@ CONFIG_USB_XHCI_HCD=y > CONFIG_USB_XHCI_DWC3=y > CONFIG_USB_EHCI_HCD=y > CONFIG_USB_EHCI_GENERIC=y > +CONFIG_USB_OHCI_HCD=y > +CONFIG_USB_OHCI_GENERIC=y > +CONFIG_USB_DWC3=y > +CONFIG_USB_KEYBOARD=y > CONFIG_USB_HOST_ETHER=y > CONFIG_USB_ETHER_ASIX=y > CONFIG_USB_ETHER_ASIX88179=y > CONFIG_USB_ETHER_MCS7830=y > CONFIG_USB_ETHER_RTL8152=y > CONFIG_USB_ETHER_SMSC95XX=y > +CONFIG_DM_VIDEO=y > +CONFIG_DISPLAY=y > +CONFIG_VIDEO_ROCKCHIP=y > +CONFIG_VIDEO_ROCKCHIP_MAX_XRES=1280 > +CONFIG_VIDEO_ROCKCHIP_MAX_YRES=800 > +CONFIG_DISPLAY_ROCKCHIP_EDP=y > CONFIG_CMD_DHRYSTONE=y > CONFIG_ERRNO_STR=y > diff --git a/include/configs/gru.h b/include/configs/gru.h > index be2dc79968c0..b1084bb21d4d 100644 > --- a/include/configs/gru.h > +++ b/include/configs/gru.h > @@ -13,4 +13,7 @@ > > #include <configs/rk3399_common.h> > > +#define CONFIG_USB_OHCI_NEW > +#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2 Can you move them to Kconfig? Jagan.
On 11/03/2022 23:01, Jagan Teki wrote: > On Fri, Dec 24, 2021 at 7:14 PM Alper Nebi Yasak > <alpernebiyasak@gmail.com> wrote: >> The Bob board has two USB 3.0 Type-C ports and one USB 2.0 Type-A port >> on its right side. Enable the configs relevant to USB devices so these >> can be used. >> >> [...] >> --- a/include/configs/gru.h >> +++ b/include/configs/gru.h >> @@ -13,4 +13,7 @@ >> >> #include <configs/rk3399_common.h> >> >> +#define CONFIG_USB_OHCI_NEW >> +#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2 > > Can you move them to Kconfig? I'll try. Not much experience with the USB subsystem though, I may need to do some reading if things aren't trivial.
Hi, On Mon, 14 Mar 2022 at 15:32, Alper Nebi Yasak <alpernebiyasak@gmail.com> wrote: > > On 11/03/2022 23:01, Jagan Teki wrote: > > On Fri, Dec 24, 2021 at 7:14 PM Alper Nebi Yasak > > <alpernebiyasak@gmail.com> wrote: > >> The Bob board has two USB 3.0 Type-C ports and one USB 2.0 Type-A port > >> on its right side. Enable the configs relevant to USB devices so these > >> can be used. > >> > >> [...] > >> --- a/include/configs/gru.h > >> +++ b/include/configs/gru.h > >> @@ -13,4 +13,7 @@ > >> > >> #include <configs/rk3399_common.h> > >> > >> +#define CONFIG_USB_OHCI_NEW > >> +#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2 > > > > Can you move them to Kconfig? > > I'll try. Not much experience with the USB subsystem though, I may need > to do some reading if things aren't trivial. That should not block this patch, though. Regards, Simon
diff --git a/configs/chromebook_bob_defconfig b/configs/chromebook_bob_defconfig index fe938c659172..3f6c088352eb 100644 --- a/configs/chromebook_bob_defconfig +++ b/configs/chromebook_bob_defconfig @@ -21,6 +21,7 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-gru-bob.dtb" # CONFIG_DISPLAY_CPUINFO is not set CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_BOARD_EARLY_INIT_R=y +CONFIG_MISC_INIT_R=y CONFIG_BLOBLIST=y CONFIG_BLOBLIST_SIZE=0x1000 CONFIG_BLOBLIST_ADDR=0x100000 @@ -52,8 +53,9 @@ CONFIG_ROCKCHIP_GPIO=y CONFIG_I2C_CROS_EC_TUNNEL=y CONFIG_SYS_I2C_ROCKCHIP=y CONFIG_I2C_MUX=y -CONFIG_DM_KEYBOARD=y CONFIG_CROS_EC_KEYB=y +CONFIG_MISC=y +CONFIG_ROCKCHIP_EFUSE=y CONFIG_CROS_EC=y CONFIG_CROS_EC_SPI=y CONFIG_PWRSEQ=y @@ -65,13 +67,21 @@ CONFIG_MMC_SDHCI_ROCKCHIP=y CONFIG_SF_DEFAULT_BUS=1 CONFIG_SF_DEFAULT_SPEED=20000000 CONFIG_SPI_FLASH_GIGADEVICE=y +CONFIG_SPI_FLASH_WINBOND=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y CONFIG_GMAC_ROCKCHIP=y +CONFIG_PHY_ROCKCHIP_INNO_USB2=y +CONFIG_PHY_ROCKCHIP_TYPEC=y CONFIG_PMIC_RK8XX=y CONFIG_REGULATOR_PWM=y +CONFIG_DM_REGULATOR_GPIO=y CONFIG_REGULATOR_RK8XX=y +CONFIG_PWM_CROS_EC=y CONFIG_PWM_ROCKCHIP=y +CONFIG_DM_RESET=y +CONFIG_DM_RNG=y +CONFIG_RNG_ROCKCHIP=y CONFIG_DEBUG_UART_SHIFT=2 CONFIG_ROCKCHIP_SPI=y CONFIG_SYSRESET=y @@ -80,11 +90,21 @@ CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_GENERIC=y +CONFIG_USB_DWC3=y +CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y +CONFIG_DM_VIDEO=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_VIDEO_ROCKCHIP_MAX_XRES=1280 +CONFIG_VIDEO_ROCKCHIP_MAX_YRES=800 +CONFIG_DISPLAY_ROCKCHIP_EDP=y CONFIG_CMD_DHRYSTONE=y CONFIG_ERRNO_STR=y diff --git a/include/configs/gru.h b/include/configs/gru.h index be2dc79968c0..b1084bb21d4d 100644 --- a/include/configs/gru.h +++ b/include/configs/gru.h @@ -13,4 +13,7 @@ #include <configs/rk3399_common.h> +#define CONFIG_USB_OHCI_NEW +#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2 + #endif