diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb10.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb10.dtsi index 18c3294dd347..74ea050515ad 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb10.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb10.dtsi @@ -635,6 +635,12 @@ status = "okay"; pinctrl-0 = <&i2c8m4_xfer>; + ti_ina226: ti_ina226@40 { + compatible = "ti,ina226"; + reg = <0x40>; + status = "okay"; + }; + ls_stk3332: light@47 { compatible = "ls_stk3332"; status = "disabled"; diff --git a/arch/arm64/configs/rockchip_linux_defconfig b/arch/arm64/configs/rockchip_linux_defconfig index 69ee5f79dd71..68e48204cf47 100644 --- a/arch/arm64/configs/rockchip_linux_defconfig +++ b/arch/arm64/configs/rockchip_linux_defconfig @@ -285,6 +285,7 @@ CONFIG_CHARGER_BQ24735=y CONFIG_CHARGER_BQ25700=y CONFIG_BATTERY_RK817=y CONFIG_CHARGER_RK817=y +CONFIG_SENSORS_INA2XX=y CONFIG_THERMAL=y CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR=y diff --git a/drivers/gpu/drm/rockchip/dw-dp.c b/drivers/gpu/drm/rockchip/dw-dp.c index 1251dda60286..d74d4d21cdfa 100644 --- a/drivers/gpu/drm/rockchip/dw-dp.c +++ b/drivers/gpu/drm/rockchip/dw-dp.c @@ -5663,6 +5663,8 @@ static const struct regmap_range dw_dp_readable_ranges[] = { regmap_reg_range(DPTX_VSAMPLE_CTRL_N(0), DPTX_VIDEO_HBLANK_INTERVAL_N(0)), regmap_reg_range(DPTX_AUD_CONFIG1_N(0), DPTX_AUD_CONFIG1_N(0)), regmap_reg_range(DPTX_SDP_VERTICAL_CTRL_N(0), DPTX_SDP_STATUS_EN_N(0)), + regmap_reg_range(DPTX_SDP_REGISTER_BANK_N(0), + DPTX_SDP_REGISTER_BANK_N(0) + SDP_REG_BANK_SIZE * 36), regmap_reg_range(DPTX_PHYIF_CTRL, DPTX_PHYIF_PWRDOWN_CTRL), regmap_reg_range(DPTX_AUX_CMD, DPTX_AUX_DATA3), regmap_reg_range(DPTX_GENERAL_INTERRUPT, DPTX_HPD_INTERRUPT_ENABLE), @@ -5671,12 +5673,18 @@ static const struct regmap_range dw_dp_readable_ranges[] = { regmap_reg_range(DPTX_VSAMPLE_CTRL_N(1), DPTX_VIDEO_HBLANK_INTERVAL_N(1)), regmap_reg_range(DPTX_AUD_CONFIG1_N(1), DPTX_AUD_CONFIG1_N(1)), regmap_reg_range(DPTX_SDP_VERTICAL_CTRL_N(1), DPTX_SDP_STATUS_EN_N(1)), + regmap_reg_range(DPTX_SDP_REGISTER_BANK_N(1), + DPTX_SDP_REGISTER_BANK_N(1) + SDP_REG_BANK_SIZE * 36), regmap_reg_range(DPTX_VSAMPLE_CTRL_N(2), DPTX_VIDEO_HBLANK_INTERVAL_N(2)), regmap_reg_range(DPTX_AUD_CONFIG1_N(2), DPTX_AUD_CONFIG1_N(2)), regmap_reg_range(DPTX_SDP_VERTICAL_CTRL_N(2), DPTX_SDP_STATUS_EN_N(2)), + regmap_reg_range(DPTX_SDP_REGISTER_BANK_N(2), + DPTX_SDP_REGISTER_BANK_N(2) + SDP_REG_BANK_SIZE * 36), regmap_reg_range(DPTX_VSAMPLE_CTRL_N(3), DPTX_VIDEO_HBLANK_INTERVAL_N(3)), regmap_reg_range(DPTX_AUD_CONFIG1_N(3), DPTX_AUD_CONFIG1_N(3)), regmap_reg_range(DPTX_SDP_VERTICAL_CTRL_N(3), DPTX_SDP_STATUS_EN_N(3)), + regmap_reg_range(DPTX_SDP_REGISTER_BANK_N(3), + DPTX_SDP_REGISTER_BANK_N(3) + SDP_REG_BANK_SIZE * 36), }; static const struct regmap_access_table dw_dp_readable_table = { diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c index abddc1a87585..bdebc322f0a1 100644 --- a/drivers/media/platform/rockchip/cif/capture.c +++ b/drivers/media/platform/rockchip/cif/capture.c @@ -13199,25 +13199,31 @@ void rkcif_enable_dma_capture(struct rkcif_stream *stream, bool is_only_enable) CSI_START_INTEN_RK3576(stream->id)); } } - if (!stream->is_compact) - val |= uncompact; - else - val &= ~uncompact; + if (stream->cif_fmt_out->fmt_type == CIF_FMT_TYPE_RAW) { + if (!stream->is_compact) + val |= uncompact; + else + val &= ~uncompact; + } rkcif_write_register(cif_dev, get_reg_index_of_id_ctrl0(stream->id), val); } else if (mbus_cfg->type == V4L2_MBUS_CCP2) { val = rkcif_read_register(cif_dev, get_reg_index_of_lvds_id_ctrl0(stream->id)); - if (!stream->is_compact) - val |= CSI_WRDDR_TYPE_RAW_UNCOMPACT << 17; - else - val &= ~(CSI_WRDDR_TYPE_RAW_UNCOMPACT << 17); + if (stream->cif_fmt_out->fmt_type == CIF_FMT_TYPE_RAW) { + if (!stream->is_compact) + val |= CSI_WRDDR_TYPE_RAW_UNCOMPACT << 17; + else + val &= ~(CSI_WRDDR_TYPE_RAW_UNCOMPACT << 17); + } val |= LVDS_DMAEN_RV1106; rkcif_write_register(cif_dev, get_reg_index_of_lvds_id_ctrl0(stream->id), val); } else { val = rkcif_read_register(cif_dev, CIF_REG_DVP_FOR); - if (!stream->is_compact) - val |= CSI_WRDDR_TYPE_RAW_UNCOMPACT << 11; - else - val &= ~(CSI_WRDDR_TYPE_RAW_UNCOMPACT << 11); + if (stream->cif_fmt_out->fmt_type == CIF_FMT_TYPE_RAW) { + if (!stream->is_compact) + val |= CSI_WRDDR_TYPE_RAW_UNCOMPACT << 11; + else + val &= ~(CSI_WRDDR_TYPE_RAW_UNCOMPACT << 11); + } rkcif_write_register(cif_dev, CIF_REG_DVP_FOR, val); val = rkcif_read_register(cif_dev, CIF_REG_DVP_CTRL); if (cif_dev->chip_id == CHIP_RK3588_CIF) diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c index f6ae56e6e7fd..a43d21bce03f 100644 --- a/drivers/usb/gadget/configfs.c +++ b/drivers/usb/gadget/configfs.c @@ -1389,6 +1389,8 @@ static int configfs_composite_bind(struct usb_gadget *gadget, cdev->use_os_string = true; cdev->b_vendor_code = gi->b_vendor_code; memcpy(cdev->qw_sign, gi->qw_sign, OS_STRING_QW_SIGN_LEN); + } else { + cdev->use_os_string = false; } if (gadget_is_otg(gadget) && !otg_desc[0]) {