Loading Documentation/devicetree/bindings/platform/msm/msm_demux.txt 0 → 100644 +13 −0 Original line number Diff line number Diff line * Demux Demux is responsible for demuxing the transport stream contents to respective elementary streams Required properties: - compatible : Should be "qcom,demux" Example: demux { compatible = "qcom,demux"; }; Documentation/devicetree/bindings/platform/msm/msm_tspp.txt 0 → 100644 +83 −0 Original line number Diff line number Diff line * TSPP ( QTI Transport Stream Packet Processor ) Hardware driver for QTI TSIF 12seg wrapper core, which consists of a TSPP, a BAM (Bus access manager, used for DMA) and two TSIF inputs. The TSPP driver is responsible for: - TSPP/TSIF hardware configuration (using SPS driver to configure BAM hardware) - TSIF GPIO/Clocks configuration - Memory resource management - Handling TSIF/TSPP interrupts and BAM events - TSPP Power management Required properties: - compatible : Should be "qcom,msm_tspp" - reg : Specifies the base physical addresses and sizes of TSIF, TSPP & BAM registers. - reg-names : Specifies the register names of TSIF, TSPP & BAM base registers. - interrupts : Specifies the interrupts associated with TSIF 12 seg core. - interrupt-names: Specifies interrupt names for TSIF, TSPP & BAM interrupts. - clock-names: Specifies the clock names used for interface & reference clocks. - clocks: GCC_TSIF_AHB_CLK clock for interface clock & GCC_TSIF_REF_CLK clock for reference clock. - qcom, msm_bus,name: Should be "tsif" - qcom, msm_bus,num_cases: Depends on the use cases for bus scaling - qcom, msm_bus,num_paths: The paths for source and destination ports - qcom, msm_bus,vectors: Vectors for bus topology. - pinctrl-names: Names for the TSIF mode configuration to specify which TSIF interface is active. - qcom,smmu-s1-bypass : Boolean flag to bypass SMMU stage 1 translation. - iommus : A list of phandle and IOMMU specifier pairs that describe the IOMMU master interfaces of the device. Example: tspp: msm_tspp@0x8880000 { compatible = "qcom,msm_tspp"; reg = <0x088a7000 0x200>, /* MSM_TSIF0_PHYS */ <0x088a8000 0x200>, /* MSM_TSIF1_PHYS */ <0x088a9000 0x1000>, /* MSM_TSPP_PHYS */ <0x08884000 0x23000>; /* MSM_TSPP_BAM_PHYS */ reg-names = "MSM_TSIF0_PHYS", "MSM_TSIF1_PHYS", "MSM_TSPP_PHYS", "MSM_TSPP_BAM_PHYS"; interrupts = <0 121 0>, /* TSIF_TSPP_IRQ */ <0 119 0>, /* TSIF0_IRQ */ <0 120 0>, /* TSIF1_IRQ */ <0 122 0>; /* TSIF_BAM_IRQ */ interrupt-names = "TSIF_TSPP_IRQ", "TSIF0_IRQ", "TSIF1_IRQ", "TSIF_BAM_IRQ"; clock-names = "iface_clk", "ref_clk"; clocks = <&clock_gcc GCC_TSIF_AHB_CLK>, <&clock_gcc GCC_TSIF_REF_CLK>; qcom,msm-bus,name = "tsif"; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <82 512 0 0>, /* No vote */ <82 512 12288 24576>; /* Max. bandwidth, 2xTSIF, each max of 96Mbps */ pinctrl-names = "disabled", "tsif0-mode1", "tsif0-mode2", "tsif1-mode1", "tsif1-mode2", "dual-tsif-mode1", "dual-tsif-mode2"; pinctrl-0 = <>; /* disabled */ pinctrl-1 = <&tsif0_signals_active>; /* tsif0-mode1 */ pinctrl-2 = <&tsif0_signals_active &tsif0_sync_active>; /* tsif0-mode2 */ pinctrl-3 = <&tsif1_signals_active>; /* tsif1-mode1 */ pinctrl-4 = <&tsif1_signals_active &tsif1_sync_active>; /* tsif1-mode2 */ pinctrl-5 = <&tsif0_signals_active &tsif1_signals_active>; /* dual-tsif-mode1 */ pinctrl-6 = <&tsif0_signals_active &tsif0_sync_active &tsif1_signals_active &tsif1_sync_active>; /* dual-tsif-mode2 */ qcom,smmu-s1-bypass; iommus = <&apps_smmu 0x20 0x0f>; }; arch/arm64/boot/dts/qcom/sm8150-pinctrl.dtsi +60 −0 Original line number Diff line number Diff line Loading @@ -4017,6 +4017,66 @@ }; }; tsif0_signals_active: tsif0_signals_active { tsif1_clk { pins = "gpio88"; /* TSIF0 CLK */ function = "tsif1_clk"; }; tsif1_en { pins = "gpio89"; /* TSIF0 Enable */ function = "tsif1_en"; }; tsif1_data { pins = "gpio90"; /* TSIF0 DATA */ function = "tsif1_data"; }; signals_cfg { pins = "gpio88", "gpio89", "gpio90"; drive_strength = <2>; /* 2 mA */ bias-pull-down; /* pull down */ }; }; /* sync signal is only used if configured to mode-2 */ tsif0_sync_active: tsif0_sync_active { tsif1_sync { pins = "gpio91"; /* TSIF0 SYNC */ function = "tsif1_sync"; drive_strength = <2>; /* 2 mA */ bias-pull-down; /* pull down */ }; }; tsif1_signals_active: tsif1_signals_active { tsif2_clk { pins = "gpio92"; /* TSIF1 CLK */ function = "tsif2_clk"; }; tsif2_en { pins = "gpio93"; /* TSIF1 Enable */ function = "tsif2_en"; }; tsif2_data { pins = "gpio94"; /* TSIF1 DATA */ function = "tsif2_data"; }; signals_cfg { pins = "gpio92", "gpio93", "gpio94"; drive_strength = <2>; /* 2 mA */ bias-pull-down; /* pull down */ }; }; /* sync signal is only used if configured to mode-2 */ tsif1_sync_active: tsif1_sync_active { tsif2_sync { pins = "gpio95"; /* TSIF1 SYNC */ function = "tsif2_sync"; drive_strength = <2>; /* 2 mA */ bias-pull-down; /* pull down */ }; }; trigout_a: trigout_a { mux { pins = "gpio49"; Loading arch/arm64/boot/dts/qcom/sm8150.dtsi +59 −0 Original line number Diff line number Diff line Loading @@ -3644,6 +3644,65 @@ qcom,smmu-coherent; status = "disabled"; }; tspp: msm_tspp@0x8880000 { compatible = "qcom,msm_tspp"; reg = <0x088a7000 0x200>, /* MSM_TSIF0_PHYS */ <0x088a8000 0x200>, /* MSM_TSIF1_PHYS */ <0x088a9000 0x1000>, /* MSM_TSPP_PHYS */ <0x08884000 0x23000>; /* MSM_TSPP_BAM_PHYS */ reg-names = "MSM_TSIF0_PHYS", "MSM_TSIF1_PHYS", "MSM_TSPP_PHYS", "MSM_TSPP_BAM_PHYS"; interrupts = <0 121 0>, /* TSIF_TSPP_IRQ */ <0 119 0>, /* TSIF0_IRQ */ <0 120 0>, /* TSIF1_IRQ */ <0 122 0>; /* TSIF_BAM_IRQ */ interrupt-names = "TSIF_TSPP_IRQ", "TSIF0_IRQ", "TSIF1_IRQ", "TSIF_BAM_IRQ"; clock-names = "iface_clk", "ref_clk"; clocks = <&clock_gcc GCC_TSIF_AHB_CLK>, <&clock_gcc GCC_TSIF_REF_CLK>; qcom,msm-bus,name = "tsif"; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <82 512 0 0>, /* No vote */ <82 512 12288 24576>; /* Max. bandwidth, 2xTSIF, each max of 96Mbps */ pinctrl-names = "disabled", "tsif0-mode1", "tsif0-mode2", "tsif1-mode1", "tsif1-mode2", "dual-tsif-mode1", "dual-tsif-mode2"; pinctrl-0 = <>; /* disabled */ pinctrl-1 = <&tsif0_signals_active>; /* tsif0-mode1 */ pinctrl-2 = <&tsif0_signals_active &tsif0_sync_active>; /* tsif0-mode2 */ pinctrl-3 = <&tsif1_signals_active>; /* tsif1-mode1 */ pinctrl-4 = <&tsif1_signals_active &tsif1_sync_active>; /* tsif1-mode2 */ pinctrl-5 = <&tsif0_signals_active &tsif1_signals_active>; /* dual-tsif-mode1 */ pinctrl-6 = <&tsif0_signals_active &tsif0_sync_active &tsif1_signals_active &tsif1_sync_active>; /* dual-tsif-mode2 */ memory-region = <&qseecom_mem>; qcom,smmu-s1-bypass; iommus = <&apps_smmu 0x620 0x00>; }; demux { compatible = "qcom,demux"; }; }; &emac_gdsc { Loading arch/arm64/configs/vendor/sm8150-perf_defconfig +5 −0 Original line number Diff line number Diff line Loading @@ -372,6 +372,7 @@ CONFIG_REGULATOR_RPMH=y CONFIG_REGULATOR_STUB=y CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_CONTROLLER=y CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_VIDEO_ADV_DEBUG=y Loading @@ -385,6 +386,10 @@ CONFIG_MSM_VIDC_GOVERNORS=y CONFIG_MSM_SDE_ROTATOR=y CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG=y CONFIG_MSM_NPU=y CONFIG_DVB_MPQ=m CONFIG_DVB_MPQ_DEMUX=m CONFIG_DVB_MPQ_TSPP1=y CONFIG_TSPP=m CONFIG_DRM=y CONFIG_DRM_MSM_REGISTER_LOGGING=y CONFIG_DRM_SDE_EVTLOG_DEBUG=y Loading Loading
Documentation/devicetree/bindings/platform/msm/msm_demux.txt 0 → 100644 +13 −0 Original line number Diff line number Diff line * Demux Demux is responsible for demuxing the transport stream contents to respective elementary streams Required properties: - compatible : Should be "qcom,demux" Example: demux { compatible = "qcom,demux"; };
Documentation/devicetree/bindings/platform/msm/msm_tspp.txt 0 → 100644 +83 −0 Original line number Diff line number Diff line * TSPP ( QTI Transport Stream Packet Processor ) Hardware driver for QTI TSIF 12seg wrapper core, which consists of a TSPP, a BAM (Bus access manager, used for DMA) and two TSIF inputs. The TSPP driver is responsible for: - TSPP/TSIF hardware configuration (using SPS driver to configure BAM hardware) - TSIF GPIO/Clocks configuration - Memory resource management - Handling TSIF/TSPP interrupts and BAM events - TSPP Power management Required properties: - compatible : Should be "qcom,msm_tspp" - reg : Specifies the base physical addresses and sizes of TSIF, TSPP & BAM registers. - reg-names : Specifies the register names of TSIF, TSPP & BAM base registers. - interrupts : Specifies the interrupts associated with TSIF 12 seg core. - interrupt-names: Specifies interrupt names for TSIF, TSPP & BAM interrupts. - clock-names: Specifies the clock names used for interface & reference clocks. - clocks: GCC_TSIF_AHB_CLK clock for interface clock & GCC_TSIF_REF_CLK clock for reference clock. - qcom, msm_bus,name: Should be "tsif" - qcom, msm_bus,num_cases: Depends on the use cases for bus scaling - qcom, msm_bus,num_paths: The paths for source and destination ports - qcom, msm_bus,vectors: Vectors for bus topology. - pinctrl-names: Names for the TSIF mode configuration to specify which TSIF interface is active. - qcom,smmu-s1-bypass : Boolean flag to bypass SMMU stage 1 translation. - iommus : A list of phandle and IOMMU specifier pairs that describe the IOMMU master interfaces of the device. Example: tspp: msm_tspp@0x8880000 { compatible = "qcom,msm_tspp"; reg = <0x088a7000 0x200>, /* MSM_TSIF0_PHYS */ <0x088a8000 0x200>, /* MSM_TSIF1_PHYS */ <0x088a9000 0x1000>, /* MSM_TSPP_PHYS */ <0x08884000 0x23000>; /* MSM_TSPP_BAM_PHYS */ reg-names = "MSM_TSIF0_PHYS", "MSM_TSIF1_PHYS", "MSM_TSPP_PHYS", "MSM_TSPP_BAM_PHYS"; interrupts = <0 121 0>, /* TSIF_TSPP_IRQ */ <0 119 0>, /* TSIF0_IRQ */ <0 120 0>, /* TSIF1_IRQ */ <0 122 0>; /* TSIF_BAM_IRQ */ interrupt-names = "TSIF_TSPP_IRQ", "TSIF0_IRQ", "TSIF1_IRQ", "TSIF_BAM_IRQ"; clock-names = "iface_clk", "ref_clk"; clocks = <&clock_gcc GCC_TSIF_AHB_CLK>, <&clock_gcc GCC_TSIF_REF_CLK>; qcom,msm-bus,name = "tsif"; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <82 512 0 0>, /* No vote */ <82 512 12288 24576>; /* Max. bandwidth, 2xTSIF, each max of 96Mbps */ pinctrl-names = "disabled", "tsif0-mode1", "tsif0-mode2", "tsif1-mode1", "tsif1-mode2", "dual-tsif-mode1", "dual-tsif-mode2"; pinctrl-0 = <>; /* disabled */ pinctrl-1 = <&tsif0_signals_active>; /* tsif0-mode1 */ pinctrl-2 = <&tsif0_signals_active &tsif0_sync_active>; /* tsif0-mode2 */ pinctrl-3 = <&tsif1_signals_active>; /* tsif1-mode1 */ pinctrl-4 = <&tsif1_signals_active &tsif1_sync_active>; /* tsif1-mode2 */ pinctrl-5 = <&tsif0_signals_active &tsif1_signals_active>; /* dual-tsif-mode1 */ pinctrl-6 = <&tsif0_signals_active &tsif0_sync_active &tsif1_signals_active &tsif1_sync_active>; /* dual-tsif-mode2 */ qcom,smmu-s1-bypass; iommus = <&apps_smmu 0x20 0x0f>; };
arch/arm64/boot/dts/qcom/sm8150-pinctrl.dtsi +60 −0 Original line number Diff line number Diff line Loading @@ -4017,6 +4017,66 @@ }; }; tsif0_signals_active: tsif0_signals_active { tsif1_clk { pins = "gpio88"; /* TSIF0 CLK */ function = "tsif1_clk"; }; tsif1_en { pins = "gpio89"; /* TSIF0 Enable */ function = "tsif1_en"; }; tsif1_data { pins = "gpio90"; /* TSIF0 DATA */ function = "tsif1_data"; }; signals_cfg { pins = "gpio88", "gpio89", "gpio90"; drive_strength = <2>; /* 2 mA */ bias-pull-down; /* pull down */ }; }; /* sync signal is only used if configured to mode-2 */ tsif0_sync_active: tsif0_sync_active { tsif1_sync { pins = "gpio91"; /* TSIF0 SYNC */ function = "tsif1_sync"; drive_strength = <2>; /* 2 mA */ bias-pull-down; /* pull down */ }; }; tsif1_signals_active: tsif1_signals_active { tsif2_clk { pins = "gpio92"; /* TSIF1 CLK */ function = "tsif2_clk"; }; tsif2_en { pins = "gpio93"; /* TSIF1 Enable */ function = "tsif2_en"; }; tsif2_data { pins = "gpio94"; /* TSIF1 DATA */ function = "tsif2_data"; }; signals_cfg { pins = "gpio92", "gpio93", "gpio94"; drive_strength = <2>; /* 2 mA */ bias-pull-down; /* pull down */ }; }; /* sync signal is only used if configured to mode-2 */ tsif1_sync_active: tsif1_sync_active { tsif2_sync { pins = "gpio95"; /* TSIF1 SYNC */ function = "tsif2_sync"; drive_strength = <2>; /* 2 mA */ bias-pull-down; /* pull down */ }; }; trigout_a: trigout_a { mux { pins = "gpio49"; Loading
arch/arm64/boot/dts/qcom/sm8150.dtsi +59 −0 Original line number Diff line number Diff line Loading @@ -3644,6 +3644,65 @@ qcom,smmu-coherent; status = "disabled"; }; tspp: msm_tspp@0x8880000 { compatible = "qcom,msm_tspp"; reg = <0x088a7000 0x200>, /* MSM_TSIF0_PHYS */ <0x088a8000 0x200>, /* MSM_TSIF1_PHYS */ <0x088a9000 0x1000>, /* MSM_TSPP_PHYS */ <0x08884000 0x23000>; /* MSM_TSPP_BAM_PHYS */ reg-names = "MSM_TSIF0_PHYS", "MSM_TSIF1_PHYS", "MSM_TSPP_PHYS", "MSM_TSPP_BAM_PHYS"; interrupts = <0 121 0>, /* TSIF_TSPP_IRQ */ <0 119 0>, /* TSIF0_IRQ */ <0 120 0>, /* TSIF1_IRQ */ <0 122 0>; /* TSIF_BAM_IRQ */ interrupt-names = "TSIF_TSPP_IRQ", "TSIF0_IRQ", "TSIF1_IRQ", "TSIF_BAM_IRQ"; clock-names = "iface_clk", "ref_clk"; clocks = <&clock_gcc GCC_TSIF_AHB_CLK>, <&clock_gcc GCC_TSIF_REF_CLK>; qcom,msm-bus,name = "tsif"; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <82 512 0 0>, /* No vote */ <82 512 12288 24576>; /* Max. bandwidth, 2xTSIF, each max of 96Mbps */ pinctrl-names = "disabled", "tsif0-mode1", "tsif0-mode2", "tsif1-mode1", "tsif1-mode2", "dual-tsif-mode1", "dual-tsif-mode2"; pinctrl-0 = <>; /* disabled */ pinctrl-1 = <&tsif0_signals_active>; /* tsif0-mode1 */ pinctrl-2 = <&tsif0_signals_active &tsif0_sync_active>; /* tsif0-mode2 */ pinctrl-3 = <&tsif1_signals_active>; /* tsif1-mode1 */ pinctrl-4 = <&tsif1_signals_active &tsif1_sync_active>; /* tsif1-mode2 */ pinctrl-5 = <&tsif0_signals_active &tsif1_signals_active>; /* dual-tsif-mode1 */ pinctrl-6 = <&tsif0_signals_active &tsif0_sync_active &tsif1_signals_active &tsif1_sync_active>; /* dual-tsif-mode2 */ memory-region = <&qseecom_mem>; qcom,smmu-s1-bypass; iommus = <&apps_smmu 0x620 0x00>; }; demux { compatible = "qcom,demux"; }; }; &emac_gdsc { Loading
arch/arm64/configs/vendor/sm8150-perf_defconfig +5 −0 Original line number Diff line number Diff line Loading @@ -372,6 +372,7 @@ CONFIG_REGULATOR_RPMH=y CONFIG_REGULATOR_STUB=y CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_CONTROLLER=y CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_VIDEO_ADV_DEBUG=y Loading @@ -385,6 +386,10 @@ CONFIG_MSM_VIDC_GOVERNORS=y CONFIG_MSM_SDE_ROTATOR=y CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG=y CONFIG_MSM_NPU=y CONFIG_DVB_MPQ=m CONFIG_DVB_MPQ_DEMUX=m CONFIG_DVB_MPQ_TSPP1=y CONFIG_TSPP=m CONFIG_DRM=y CONFIG_DRM_MSM_REGISTER_LOGGING=y CONFIG_DRM_SDE_EVTLOG_DEBUG=y Loading