Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75e6d373 authored by Abhijit Trivedi's avatar Abhijit Trivedi
Browse files

DOWNSTREAM: Merge commit 'b7fe225b' into topic+AU260



* commit 'b7fe225b':
  net: rps: send out pending IPI's on CPU hotplug
  msm: net: API to send list of SKB's to network driver
  net: Changes to support Shortcut Forward Engine
  ARM: dts: msm: Add QPIC support for sdxpoorwills
  mtd: msm_qpic_nand: QPIC clock changes when it is RPMH controlled
  regulator: cpr4: add support for aging voltage margin adjustment
  mtd: nand_ids: Add support for new NAND parts
  mtd: msm_qpic_nand: Handle new partition layout changes
  Support full CONE NAT and ADDRESS RESTRICTED CONE NAT
  msm: kgsl: Correct the number of voltage levels for a rail
  ARM: dts: msm: Add pmu DT node for sdm670
  ARM: dts: msm: add sdhc pinctrl drive types for SDM845
  mmc: sdhci-msm: select pin drive type for each clock rate
  serial: msm_serial_hs: Remove wakelock.h inclusion
  ARM: dts: msm: Bypass SMMU S1 support for AP/USB CB for SDM845
  msm: ipa: Fix to set or bypass UC/WLAN SMMU S1 from flags in dtsi
  ARM: dts: msm: Increase vote on VDD_MSS to turbo for SDM845
  ARM: dts: msm: disable CTM in SDM845 MTP
  power: smb1355: support connector temperature mitigation
  iommu: Support MMU500 Deep Prefetch errata workaround
  power: smb1355: handle temperature change IRQ
  ARM: dts: msm: enable temperature change IRQ for SMB1355
  power: smb1355: Lower P2F charge threshold to 2.6V
  drm: msm: sde: add api to get if dma wait is needed
  drm: msm: sde: api support for blocking lut dma kick off
  ARM: dts: msm: Allow mincpubw to go 1GHz on sdm845 v2
  msm: adsprpc: Allow association with static processes
  msm: usb_bam: replace %p with %pK
  ARM: dts: msm: Add ddr config settings as a dt property for sdm670
  mmc: sdhci-msm: Read and use DDR Config property from dt file
  ARM: dts: msm: Add uart driver for SDM845 QVR board
  mmc: core: set enhanced strobe as true
  leds: qpnp-wled: Fix configuration for AMOLED mode
  regulator: qpnp-labibb: Allow 0 ms for IBB PWRUP_DLY1 and PWRDN_DLY2
  regulator: qpnp-labibb: Fix LAB PS_CTL configuration for pmi8998
  iommu: arm-smmu: Add support for ACTLR settings for sdm845
  arm64: dma-mapping: Clean up arm_iommu_attach_device() call flow
  Revert "ARM: dts: msm: Add iommu actlr settings for sdm845"
  iommu: dma-mapping-fast: Fix error code for dma_map_sg
  iommu: arm-smmu: Clarify DOMAIN_ATTR_FAST dependency
  drm/msm/dp: Add check for null pointer dereferencing
  ARM: msm: dts: Update pdc compatible flag for sdm845 v2 version
  clk: qcom: Remove gpu_cc_ahb_clk for SDM845
  ARM: dts: msm: Remove GPU_CC_AHB_CLK from GPU on SDM845
  qseecom: initialize array hlos_ce_hw_instance
  crypto: msm: reset pointer before returning from the function
  msm: ipa4: IPA unit tests debugfs deadlock fix
  ARM: dts: msm: Add the clock DT entry for GCC clocks on SDM845 v2.1
  clk: qcom: gcc-sdm845: Add GCC clock programming support for SDM845 v2.1
  msm: sde: enable system cache for pagetable walks in rotator
  ARM: dts: msm: add camera sensor devices for SDA845 V2 HDK
  cpufreq: schedutil: Make the code consistent across 1 vs many CPU/policy
  smb-lib: allow hvdcp if pd is disabled
  defconfig: Enable regmap debugfs write for SDM845 and SDM670
  usb: misc: lvstest: allow specifying port for compliance mode
  cpufreq: schedutil: Avoid processing certain notifications
  cpufreq: cpu-boost: Improve error checks for input_boost_freq
  power: smblib: extend wait time after force sink in try.SNK
  power: qpnp_smb2: configure to extend DRP.DFP time in try.SNK
  msm: vidc: Report asynchronous error if buf_queue fails
  drm/msm/sde: validate qseed3 configuration on each frame update
  drm/msm/sde: handle vblank during modeset
  qusb2: Add missing phy regulator calls in shutdown callback
  qseecom: fix a common lib loading issue
  msm: ipa3: Explicitly enable IPA DMA for IPA MHI
  msm: ipa3: load IPA FW in a kernel work
  ARM: dts: msm: add audio etm on sdm670
  ARM: dts: msm: add swao and llm tpdms in sdm670
  ARM: dts: msm: Enable the OSM cpu clock controller for sdm670
  clk: qcom: clk-cpu-osm: Add OSM clock driver support for SDM670
  msm: kgsl: Update hardware clock gating settings for A615 GPU
  mmc: core: Reset the cmd timeout error stats after card detection
  msm: kgsl: Do not crash on context detach timeout failure
  mmc: host: Update error stats to track different mmc errors
  ARM: dts: msm: enable tpdm turing on sdm670
  defconfig: sdm670: Enable sdcardfs
  ARM: dts: msm: enable PM Qos for SD card on SDM845
  msm: pcie: redesign L0s, L1, and L1ss support
  msm: vidc: Fix mutex lock deadlock issue
  drivers: thermal: Update the hysteresis logic in governors
  msm: vidc: Check resolution capability against aligned values
  ARM: dts: msm: disable SPMI write corruption workaround for SDM845 v2.1
  soc: qcom: Make use of no log api for register read and write
  diag: Copy the message mask into buffer with correct length
  irqchip: qcom: pdc: Update GPIO mapping for sdm845 v2
  msm: wlan: Fix regulatory rule of JO
  drm: msm: sde: Allocate last command buffers per control
  cpufreq: schedutil: Add trace point for get_next_freq
  clk: qcom: clk-cpu-osm: Rework the OPP table filling logic
  ARM: dts: msm: enable SMB1355 slave charger for SDM670 MTP
  scsi: ufs: Change power mode on line reset
  clk: qcom: clk-cpu-osm: Add an additional voter clock for L3
  msm: kgsl: Disable IFPC on Adreno A630
  msm: ipa: Set ep delay on rmnet/mbim tether pipe
  USB: composite: Check return value before composite_setup_complete()
  ARM: dts: msm: Add eMMC slave node on sdm670
  mmc: card: Update error stats to track cmdq request timeout error
  mmc: mmc-debugfs: add error statistics
  defconfig: msm: Enable preempt debug on sdm670
  msm: ipa: Fix to validate routing table index for filter exception
  ARM: dts: msm: Enable prediction for Silver CPUs for SDM845
  ARM: dts: msm: Update energy numbers for SDM845
  drivers: cpuidle: lpm-levels: Add support per cluster prediction
  drivers: cpuidle: lpm-levels: LPM prediction tuning
  lpm_levels: Return true for CPU WFI mode allow check
  ARM: dts: msm: add RC BDF to SID map for PCIe for sdm845
  msm: pcie: add PCIe loopback debug feature
  msm: pcie: provide userspace control to PCIe boot configuration
  msm: pcie: allow endpoint up to 1 sec to power up
  msm: pcie: update PCIe link status after link training
  cpu/hotplug: Add cpuhp_latency trace event
  iommu: fix smmu_secure_pool access list after free issue
  msm: net: Add support to packet threshold events.
  soc: qcom: spm: Add stub definations
  mmc: core: add missing return statement
  ARM: dts: msm: Add display picture adjustment DT entry for SDM670
  ARM: dts: msm: Change eMMC master id for sdm670 bus voting
  bridge: Add bridge API to access the bridge slave port
  mmc: sdhci-msm: Add bus aggregate clock for sdhc platform driver
  ARM: dts: msm: Add aggregate ufs phy axi clock for sdhc1 in sdm670
  msm: kgsl: Wait longer for CX GDSC going off
  scsi: ufs: Fix stack overflow read in ufs debugfs driver
  scsi: ufs: Fix race condition in ufs qcom debugfs driver
  usb: phy: Clear the eud pet during probe
  f_gsi: Fix NULL pointer dereference when USB endpoint is not available
  ARM: dts: msm: update mdp bw limits to 9.6GBps for sdm845v2
  drivers: soc: Increase the scandump size
  ARM: dts: msm: Vote for VDD_SSC_MX on sdm845
  ARM: dts: msm: Optimize sdm845 GPU SMMU protection range
  drm/msm/sde: allow writeback to support null fb
  drm/msm: update writeback to request max mixer of given modes
  drm/msm/sde: populate display topology in atomic check
  ARM: dts: msm: add display preference for SDM845 SDE HW blocks
  drm/msm/sde: reserve HW resources for primary display
  drm/msm/sde: fix incorrect layer mixer count
  soc: qcom: pil: Properly enable VDD_MSS
  ARM: dts: msm: add proxy vote for DSI supplies for SDM845
  ARM: dts: msm: reserve memory for continuous splash pipeline for SDM845
  msm: ipa: add support for WDI 3.0 in IPA_v2
  md: fix KW errors
  drm/msm: support shutdown sequence on msm driver
  ARM: dts: msm: Add Stream ID(SID) 1 to secure context bank for sdm845
  msm: ipa: fix data stall due to NAPI poll
  i2c: i2c-qcom-geni: Check firmware setting before transaction
  ARM: dts: msm: update pdm gpio configuration for sdm670 internal codec
  msm: kgsl: Write reference timestamp to unique memory only for A5xx
  soc: sdm670: Update SCT table as per SW/HW config
  ARM: dts: msm: Add pm8950 and pmi8950 pmic peripherals
  core_ctl: Update cluster nr_run and cpu busy stats under state lock
  core_ctl: Consider high irq loaded CPU as busy
  sched/cputime: Fix a deadlock on 32bit systems
  core_ctl: Fix current busy state value in core_ctl_set_busy trace point
  ARM: dts: msm: Update internal codec soundcard name for sdm670
  ARM: dts: msm: update sequence of wsa and wcd registration on sdm670
  ARM: dts: msm: Add fastrpc device tree subnode for sdm670
  ARM: dts: msm: Enable icnss device node for SDM670
  drm/msm/dp: fix programming of DP_MISC1_MISC0 register
  ARM: dts: msm: Update L1 Cache dump size for sdm670
  ARM: dts: msm: Enable UART for sdm670
  ARM: dts: msm: Correct the register offset for modem PDC on SDM670
  ARM: dts: msm: update sdm670 cpu-bwmon node with count unit
  nl80211: Define policy for packet pattern attributes
  msm: vidc: Increase minimum input buffer count for VP9 decode
  sched: walt: Fix thermal un-mitigation bug
  msm: kgsl: Do not use kgsl_pwrctrl_pwrlevel_change from gmu_start
  drm/msm/sde: add event logs for secure usecases
  drm/msm/sde: fix post_commit assignment in secure transitions
  defconfig: arm64: Disable DEVMEM and DEVKMEM for sdm845
  spi: spi-geni-qcom: Add support to specify RT priority to framework
  msm: vidc: Fix video power suspend issue
  power: qpnp-fg-gen3: Increase temperature threshold for capacity learning
  power: qpnp-fg-gen3: Improve the accuracy of charge_counter
  power: qpnp-fg-gen3: Clear charge_full flag during discharging
  power: qpnp-fg-gen3: Use disable_irq_nosync for disabling interrupts
  power: fg-util: Wait for soc_update completion upon timeout
  soc: qcom: msm-core: Remove msm-core module compilation
  cpufreq: schedutil: Use >= when aggregating CPU loads in a policy
  msm: kgsl: Improve IFPC performance
  ARM: dts: msm: Remove GPU_CC_AHB_CLK from list for SDM670
  ARM: dts: msm: Add initial sdm845 v2.1 DT files
  msm: vidc: Update DCVS load range dynamically
  msm: ipa: add support for WDI 3.0
  scsi: ufs: change the clock scaling polling period and up threshold
  ARM: dts: msm: Remove gpu_cc_ahb_clk from kgsl smmu for sdm845
  msm: ADSPRPC: validate IOCTL patameters
  clk: qcom: Update the video core clock frequency on sdm670
  drm/msm/sde: reset custom props to default on last close
  ARM: dts: msm: update sdm670 devfreq node with proper cpu number
  ARM: dts: msm: add histogram feature DT entry for SDM670
  drm/msm/sde: fix to send idle time notification only when requested
  ARM: dts: msm: Add support for NT35597 sharp panel on SDM845
  locking/osq_lock: Fix osq_lock queue corruption
  leds: qpnp-wled: Disable module permanently when OVP fault persists
  leds: qpnp-wled: Configure WLED1_CTRL_SWITCHING_FREQUENCY selectively
  leds: qpnp-wled: Improve auto calibration algorithm
  leds: qpnp-wled: Fix parameters passed to of_get_address_byname()
  mmc: sdhci: fix PM Qos code porting error
  ARM: dts: msm: Add battery profile for SDA845 HDK
  Perf: arm64: Add additional CPUHP state for perf events
  ARM: dts: msm: Remove gpu_cc_ahb_clk from kgsl_smmu for sdm670
  usb: pd: qpnp-pdphy: Remove rx_busy flag
  serial: msm_geni_serial: Add checks against autosuspend
  serial: msm_geni_serial: Setup the IPC logs at probe for HS-UART
  clk: qcom: clk-cpu-osm: Remove OSM initialization support
  msm: msm_bus: Disallow single node paths
  Revert "msm: kgsl: Do not change active_pwrlevel while entering SLUMBER"
  iommu: arm-smmu: Remove unnecessary power_on call
  iommu: arm-smmu: Disable io-coherency in bypass mode
  diag: Add mutex protection while reading dci debug statistics
  usb: pd: disable VBUS/VCONN upon shutdown
  ALSA: pcm: use lock to protect substream runtime resource
  ALSA: pcm: add locks for accessing runtime resource
  drm/msm/sde: avoid duplicating plane states in crtc atomic_check
  ARM: dts: msm: Enable vdd_mss on SDM845
  soc: qcom: pil: Reorder votes for vdd_modem to be proxy voted
  serial: msm_geni_serial: Modify the Rx state machine initializations
  pinctrl: qcom: Update Direct connect mapping for GPIO31/49/89
  msm: ipa: add null terminator
  icnss: Re-probe if driver probe returns error of defer
  power: reset: Remove secure boot mode check
  msm: ipa: UAPI security code changes
  msm: sde: disable support for v4l2 event subscription
  diag: Fix race condition while accessing mdlog session info
  usb: host: Fix passing of xhci-imod-value property to xhci-plat
  diag: Validate memory device client's process descriptor
  msm: ipa: prevent string buffer overflows in IPA driver
  net: core: Send ARP probe and trigger RTM_NEWNEIGH
  diag: Add mdlog session to apps pkt response path
  diag: dci: Send masks information to only supported peripherals
  diag: Add validity check for process descriptor
  diag: dci: Add validity check for dci client's process descriptor
  defconfig: msm: Disable LLCC ECC support for sdm670
  ARM: dts: msm: add div_clk device for PM660
  msm: vidc: Add TME codec entry
  msm: ADSPRPC: validate context pointer with magic number
  ARM: dts: msm: Add slimbus slave device for wcn3990 on sdm670
  msm: netfilter: changes to handle contact address modification in SIP ALG
  ARM: dts: msm: Add device tree for SDA845 V2 HDK board
  ARM: dts: msm: Add display support for SDM845 QVR
  ARM: dts: msm: set qcom,guard-memory property for rmtfs on sdm845
  uio: msm_sharedmem: add guard page around shared memory
  ARM: dts: msm: Add initial PMIC device configuration for QRD670
  cpufreq: schedutil: Switch from sprintf to scnprintf
  msm: msm_bus: Change Throttle Methodology
  clk: qcom: Avoid turning off the CPUSS AHB clocks during LPM state
  msm: kgsl: Enables GMU fence error interrupt
  msm: kgsl: Set GPU fence to ALLOW mode for gmu snapshot
  defconfig: sdm845: disable CPRh regulator driver
  ARM: dts: msm: remove VDD_APC0/1 regulator devices for SDM845
  drm/msm/sde: avoid multiple CRTC enable
  ARM: dts: msm: Introduce topology for sdxpoorwills
  pinctrl: qcom: Update Direct connect mapping for GPIO41
  PCI/ASPM: Add L1 substate capability structure register definitions
  ARM: dts: msm: Add crypto device nodes for sdm670
  ARM: dts: msm: Enable QRNG driver for sdm670
  ARM: dts: msm: Enable TZ-log driver for sdm670
  ARM: dts: msm: Enable QSEECOM driver for sdm670
  ARM: dts: msm: Enable USB3 LPM with both USB controller on SDM845
  dwc3: use dwc3_host_init() and dwc3_host_exit() APIs
  msm: kgsl: Start the ringbuffers with a null context
  msm: kgsl: Make the fence names more readable
  sched: core: Fix possible hotplug race in set_cpus_allowed_ptr
  defconfig: sdm670: Enable cnss_genl driver compilation
  msm: kgsl: Add commandline option to boot with no GMU
  ARM: dts: msm: Change the default clk for sharp 1080p panel for sdm845
  ARM: dts: msm: Enable SMMU S1 for AP/USB Context bank for SDM845
  drm/msm/dsi-staging: add support to configure dsi clock
  osq_lock: avoid live-lock issue for RT task
  msm: kgsl: Do not change active_pwrlevel while entering SLUMBER
  locking/rwsem-xadd: Fix missed wakeup due to reordering of load
  ARM: dts: msm: Add non-removable ufs property for sdm845
  cgroup/cpuset: remove circular dependency deadlock
  usb: pd: Avoid blocking wait in SRC_TRANSITION_TO_DEFAULT
  usb: pd: Send pending VDM message upon entering SNK/SRC_Ready
  defconfig: arm: Enable ARM appended dtb flag for sdxpoorwills
  arch: arm: Enabled HAVE_FUTEX_CMPXCHG if FUTEX is enabled
  PM / devfreq: memlat: Look for min stall% in addition to ratio criteria
  ARM: dts: msm: Disable kgsl iommu test device for sdm845
  cpufreq: schedutil: Cache tunables on governor exit
  msm: pcie: add support for switch latency
  cpuidle: lpm-levels: Fix snprintf string format
  pinctrl: qcom: Update sdm845 direct connect interrupts
  pinctrl: qcom: Use TLMM and PDC for dual edge wakeup interrupts
  drm/msm/sde: disable irq on startup to match power event
  ARM: dts: msm: enable DPDM regulator on SDM670
  soc: qcom: rpm_stats: Fix snprintf string format
  Documentation: bindings: Add description for ICE instance
  PM / devfreq: bw_hwmon: Fix event-based race condition
  ARM: dts: msm: enable Display Port driver for SDM670
  ARM: dts: msm: use the correct trip phandle for gpu cooling maps of sdm670
  ARM: dts: msm: add specific audio support for sdm670
  dwc3: msm: Notify -ETIMEDOUT always in case of floating charger
  drm/msm/dsi-staging: fix incorrect logging of ESD information
  defconfig: Enable sdcardfs for sdm845
  ARM: dts: msm: Add battery profile for QVR845 device
  ARM: dts: msm: Add battery profile for MLP446579 battery
  ASoC: change mask in snd_soc_get/put_volsw_sx to unsigned int
  scsi: ufs: remove UFS_DEVICE_QUIRK_RECOVERY_FROM_DL_NAC_ERRORS
  msm: kgsl: Update CGC settings for preemption
  msm: vidc: Update validation for operating rate
  ARM: dts: msm: Update the size for gold TLB dump size on SDM845
  defconfig: arm64: sdm845: Enable IP6_NF_IPTABLES_128
  net: ipv6: Optimize ipv6 packet matching
  udp6: set rx_dst_cookie on rx_dst updates
  udp: call dst_hold_safe() in
  udp6: fix socket leak on early demux
  net: ipv6: reset daddr and dport in if connect() fails
  net: ipv6: Fix UDP early demux lookup with udp_l3mdev_accept=0
  net: ipv6: Add early demux handler for UDP unicast
  ARM: dts: msm: Add flag for SMMU S1 support for each Context Bank in IPA
  msm: ipa: SMMU S1 enable/bypass support for all context Banks
  ARM: dts: msm: Add SMMU S1 support for all Context Banks
  ARM: dts: msm: Add SDXPOORWILLS device tree files for MTP and CDP
  drm/msm/sde: enable system cache for pagetable walks in mdp
  msm: kgsl: Avoid cache ops on secure memory
  ARM: dts: msm: adjust LUT safe levels for sdm845
  drm/msm/sde: add support to adjust safe lut per fill level
  usb: gadget: gsi: Defer freeing memory on free_inst if in use
  staging: zram: Rate limit memory allocation errors
  ARM: dts: msm: Enable UART for sdm670
  ARM: dts: msm: Add bluetooth node of wcn3990 for sdm670
  ARM: dts: msm: add active display flag to proper node for sdm670
  mmc: mmc: Use mmc_select_hs400 instead of mmc_select_hs400es
  msm: ADSPRPC: Update port state on glink open error
  mmc: core: Remove unused variable cached_ext_csd
  ARM: dts: msm: Add non-removable ufs property for sdm670
  scsi: ufs-qcom: Add check for ufs bootdevice
  ARM: dts: msm: Add support for I2C, SPI and UART on sdxpoorwills
  power: qpnp-fg: Fix general coding style issues
  power: qpnp-fg: Add snapshot of fuel gauge driver
  power: qpnp-smbcharger: Fix compilation and other issues
  power: qpnp-smbcharger: Add snapshot of qpnp-smbcharger driver
  ARM: dts: msm: Enable gsi device on sdm670
  mtd: msm_qpic_nand: Use correct config option for bus voting
  ARM: dts: msm: Reorder GMU power levels on SDM670
  ARM: dts: msm: Update watchdog interrupts for SDM670
  wil6210: use INTX interrupt by default
  drm/msm/sde: Fix to skip validate when no ds data available
  msm: vidc: Update state check for buffer count verification
  icnss: Check for FW_READY state before sending uevent in PD notifier
  ARM: dts: msm: Remove old convention of adding cd gpio to interrupt map
  power: smblib: reset CTM ICL vote upon USB removal
  power: smblib: remove jeita fcc ajustment when HW jeita is disabled
  sched: Make resched_cpu() unconditional
  ARM: dts: msm: add pinctrl configuration for QNOVO_EXT_FET_CTL on sdm845
  sound: usb: Update QMI indication message
  msm: kgsl: Treat GMU stop failures as errors
  ALSA: pcm: remove unused variable from snd_pcm_info()
  msm: sde: avoid request dereference with cached sequence id
  drm/msm/sde: avoid fence reset during modeset crtc disable
  drm/msm/sde: reverse color component order for 16bits formats
  ARM: dts: msm: Add duplicate coresight funnel devices for sdm670
  msm: ADSPRPC: Use spin_lock_irqsave in glink notify handler
  wil6210: support AOA in FTM session
  msm: kgsl: Use a lock when updating the sparse bindings
  msm: kgsl: Bail out when two threads add sparse bindings
  drm/msm/dp: synchronize the USBPD and display thread events
  net: ipc_router: Validate return from
  drm/msm/sde: fix race condition with mdp clk and bw vote update
  diag: Free the memory in diagfwd_peripheral_exit()
  sched/fair: Limit sync wakeup bias to waker cpu
  soc: qcom: tracer_pkt: Fix buffer length check
  Revert "Revert "Revert "drivercore: Avoid adding devices without pm_ops to dpm list"""
  ARM: dts: msm: Add GSI DMA channels for I2C instances on sdm845
  drm/msm/sde: handle missing ctl_start interrupt for retire fence
  platform: msm: qcom-geni-se: Don't hold mutex during register dump
  msm: kgsl: Don't permit the user to set the lowest frequency
  core_ctl: Keep all CPUs un-isolated while boost is active
  defconfig: msm: Enable I2C and QCOM-SPS-DMA driver for sdxpoorwills perf
  ARM: dts: msm: Enable gpu-quirk-secvid-set-once for sdm845
  ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command
  slimbus: Fix multiple corner cases
  msm: kgsl: Set secure regions once
  ARM: dts: msm: Enable sending of PIL to AOP messages on SDM670
  of: reserved_mem: Fix kmemleak crash on no-map region
  iommu: iommu-debug: Fix duplicate iommu_attachment entries
  msm: kgsl: Set default A6XX preemption level
  platform: msm: Export register_codec ops API for audio
  ARM: dts: msm: Add initial support for QRD670 devices
  ARM: dts: msm: Add support for panels on SDM670 target
  msm: sde: replace rsc with power domain for rotator
  Documentation: bindings: Correct vendor reference in msm8953 pinctrl
  ARM: dts: msm: Modify sleep settings on SPI-8 pins for SDM845
  msm: kgsl: Add debug log in adreno_of_get_pwrlevels()
  msm: kgsl: Fix gpu fault issue while enabling stall on page fault
  msm: kgsl: Do not allocate scratch memory for A3xx
  msm: kgsl: Limit the kgsl log frequency in kgsl_get_unmapped_area()
  ARM: dts: msm: Enable GPU driver SMMU retention flag for SDM845
  drm/msm/sde: Add support for dspp pa memcolor features
  drm/msm/sde: Add support for dspp pa sixzone features
  drm/msm/sde: Add support for dspp pa hsic features
  usb: dwc3: Don't bail out in data stage completion if setup is pending
  Revert "PM / Sleep: Add wake lock api wrapper on top of wakeup sources"

Conflicts:
	arch/arm64/boot/dts/qcom/sdm670-mtp.dtsi

Change-Id: I483cb5cd16cbbad0dd636955b4ae7fad949a5397
Signed-off-by: default avatarAbhijit Trivedi <abhijitt@codeaurora.org>
parents e250b1b2 b7fe225b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -77,6 +77,8 @@ that share the parameters.It contains the following properties.
	- qcom,pm-cpu-levels: The different low power modes that a CPU could
	enter. The following section explains the required properties of this
	node.
	-qcom,use-prediction: This optional property is used to indicate the
	the LPM governor is to apply sleep prediction to this cluster.

[Node bindings for qcom,pm-cpu-levels]
 Required properties:
+6 −0
Original line number Diff line number Diff line
@@ -166,6 +166,8 @@ Generic board variants:
- VR device:
  compatible = "qcom,qvr"

- HDK device:
  compatible = "qcom,hdk"

Boards (SoC type + board variant):

@@ -279,9 +281,11 @@ compatible = "qcom,sdm845-qvr"
compatible = "qcom,sda845-cdp"
compatible = "qcom,sda845-mtp"
compatible = "qcom,sda845-qrd"
compatible = "qcom,sda845-hdk"
compatible = "qcom,sdm670-rumi"
compatible = "qcom,sdm670-cdp"
compatible = "qcom,sdm670-mtp"
compatible = "qcom,sdm670-qrd"
compatible = "qcom,qcs605-cdp"
compatible = "qcom,qcs605-mtp"
compatible = "qcom,sda670-cdp"
@@ -321,3 +325,5 @@ compatible = "qcom,mdmcalifornium-mtp"
compatible = "qcom,apq8009-cdp"
compatible = "qcom,apq8009-mtp"
compatible = "qcom,sdxpoorwills-rumi"
compatible = "qcom,sdxpoorwills-mtp"
compatible = "qcom,sdxpoorwills-cdp"
+11 −525
Original line number Diff line number Diff line
@@ -9,397 +9,27 @@ Properties:
- compatible
	Usage:      required
	Value type: <string>
	Definition: must be "qcom,clk-cpu-osm" or "qcom,clk-cpu-osm-v2".
	Definition: must be "qcom,clk-cpu-osm", "qcom,clk-cpu-osm-v2" or
		    "qcom,clk-cpu-osm-sdm670".

- reg
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Addresses and sizes for the memory of the OSM controller,
		    cluster PLL management, and APCS common register regions.
		    Optionally, the address of the efuse registers used to
		    determine the pwrcl or perfcl speed-bins and/or the ACD
		    register space to initialize prior to enabling OSM.
	Definition: Addresses and sizes for the memory of the OSM controller.

- reg-names
	Usage:      required
	Value type: <stringlist>
	Definition: Address names. Must be "osm_l3_base", "osm_pwrcl_base",
		    "osm_perfcl_base", "l3_pll", "pwrcl_pll", "perfcl_pll",
		    "l3_sequencer", "pwrcl_sequencer", or "perfcl_sequencer".
		    Optionally, "l3_efuse", "pwrcl_efuse", "perfcl_efuse",
		    "pwrcl_acd", "perfcl_acd", "l3_acd".
		    "osm_perfcl_base".
		    Must be specified in the same order as the corresponding
		    addresses are specified in the reg property.

- vdd-l3-supply
	Usage:      required
	Value type: <phandle>
	Definition: phandle of the underlying regulator device that manages
		    the voltage supply of the L3 cluster.

- vdd-pwrcl-supply
	Usage:      required
	Value type: <phandle>
	Definition: phandle of the underlying regulator device that manages
		    the voltage supply of the Power cluster.

- vdd-perfcl-supply
	Usage:      required
	Value type: <phandle>
	Definition: phandle of the underlying regulator device that manages
		    the voltage supply of the Performance cluster.

- interrupts
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: OSM interrupt specifier.

- interrupt-names
	Usage:      required
	Value type: <stringlist>
	Definition: Interrupt names. this list must match up 1-to-1 with the
		    interrupts specified in the 'interrupts' property.
		    "pwrcl-irq" and "perfcl-irq" must be specified.

- qcom,l3-speedbinX-v0
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the frequency in Hertz, frequency,
		    PLL override data, ACC level, and virtual corner used
		    by the OSM hardware for each supported DCVS setpoint
		    of the L3 cluster.

- qcom,pwrcl-speedbinX-v0
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the frequency in Hertz, frequency,
		    PLL override data, ACC level, and virtual corner used
		    by the OSM hardware for each supported DCVS setpoint
		    of the Power cluster.

- qcom,perfcl-speedbinX-v0
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the frequency in Hertz, frequency,
		    PLL override data, ACC level and virtual corner used
		    by the OSM hardware for each supported DCVS setpoint
		    of the Performance cluster.

- qcom,osm-no-tz
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates that there is no programming
		    of the OSM hardware performed by the secure world.

- qcom,osm-pll-setup
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates that the PLL setup sequence
		    must be executed for each clock domain managed by the OSM
		    controller.

- qcom,up-timer
	Usage:      optional
	Value type: <prop-encoded-array>
	Definition: Array which defines the DCVS up timer value in nanoseconds
		    for each of the three clock domains managed by the OSM
		    controller.

- qcom,down-timer
	Usage:      optional
	Value type: <prop-encoded-array>
	Definition: Array which defines the DCVS down timer value in nanoseconds
		    for each of the three clock domains managed by the OSM
		    controller.

- qcom,pc-override-index
	Usage:      optional
	Value type: <prop-encoded-array>
	Definition: Array which defines the OSM performance index to be used
		    when each cluster enters certain low power modes.

- qcom,set-ret-inactive
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates if domains in retention must
		    be treated as inactive.

- qcom,enable-llm-freq-vote
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates if Limits hardware frequency
		    votes must be honored by OSM.

- qcom,llm-freq-up-timer
	Usage:      optional
	Value type: <prop-encoded-array>
	Definition: Array which defines the LLM frequency up timer value in
		    nanoseconds for each of the three clock domains managed by
		    the OSM controller.

- qcom,llm-freq-down-timer
	Usage:      optional
	Value type: <prop-encoded-array>
	Definition: Array which defines the LLM frequency down timer value in
		    nanoseconds for each of the three clock domains managed by
		    the OSM controller.

- qcom,enable-llm-volt-vote
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates if Limits hardware voltage
		    votes must be honored by OSM.

- qcom,llm-volt-up-timer
	Usage:      optional
	Value type: <prop-encoded-array>
	Definition: Array which defines the LLM voltage up timer value in
		    nanoseconds for each of the three clock domains managed by
		    the OSM controller.

- qcom,llm-volt-down-timer
	Usage:      optional
	Value type: <prop-encoded-array>
	Definition: Array which defines the LLM voltage down timer value in
		    nanoseconds for each of the three clock domains managed by
		    the OSM controller.

- qcom,cc-reads
- l3-devs
	Usage: optional
	Value type: <integer>
	Definition: Defines the number of times the cycle counters must be
		    read to determine the performance level of each clock
		    domain.

- qcom,l-val-base
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the register addresses of the L_VAL
		    control register for each of the three clock domains
		    managed by the OSM controller.

- qcom,apcs-pll-user-ctl
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the register addresses of the PLL
		    user control register for each of the three clock domains
		    managed by the OSM controller.

- qcom,perfcl-apcs-apm-threshold-voltage
	Usage:      required
	Value type: <u32>
	Definition: Specifies the APM threshold voltage in microvolts.  If the
		    VDD_APCC supply voltage is above or at this level, then the
		    APM is switched to use VDD_APCC.  If VDD_APCC is below
		    this level, then the APM is switched to use VDD_MX.

- qcom,apm-mode-ctl
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the register addresses of the APM
		    control register for each of the two clusters managed
		    by the OSM controller.

- qcom,apm-status-ctrl
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the register addresses of the APM
		    controller status register for each of the three clock
		    domains managed by the OSM controller.

- qcom,perfcl-isense-addr
	Usage:      required
	Value type: <u32>
	Definition: Contains the ISENSE register address.

- qcom,l3-mem-acc-addr
	Usage:      required if qcom,osm-no-tz is specified
	Value type: <prop-encoded-array>
	Definition: Array which defines the addresses of the mem-acc
		    configuration registers for the L3 cluster.
		    The array must contain exactly three elements.

- qcom,pwrcl-mem-acc-addr
	Usage:      required if qcom,osm-no-tz is specified
	Value type: <prop-encoded-array>
	Definition: Array which defines the addresses of the mem-acc
		    configuration registers for the Power cluster.
		    The array must contain exactly three elements.

- qcom,perfcl-mem-acc-addr
	Usage:      required if qcom,osm-no-tz is specified
	Value type: <prop-encoded-array>
	Definition: Array which defines the addresses of the mem-acc
		    configuration registers for the Performance cluster.
		    The array must contain exactly three elements.

- qcom,perfcl-apcs-mem-acc-threshold-voltage
	Usage:      optional
	Value type: <u32>
	Definition: Specifies the highest MEM ACC threshold voltage in
		    microvolts for the Performance cluster.  This voltage is
		    used to determine which MEM ACC setting is used for the
		    highest frequencies.  If specified, the voltage must match
		    the MEM ACC threshold voltage specified for the
		    corresponding CPRh device.

- qcom,l3-memacc-level-vc-binX
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the NOM and TURBO VCs for the L3 clock
		    on that BIN part.
		    The array must contain exactly two elements.

- qcom,pwrcl-memacc-level-vc-binX
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the NOM and TURBO VCs for the Power
		    cluster clock on that BIN part.
		    The array must contain exactly two elements.

- qcom,perfcl-memacc-level-vc-binX
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the NOM and TURBO VCs for the
		    Performance cluster clock on that BIN part.
		    The array must contain exactly two elements.

- qcom,apcs-cbc-addr
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the addresses of the APCS_CBC_ADDR
		    registers for all three clock domains.

- qcom,apcs-ramp-ctl-addr
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Array which defines the addresses of the APCS_RAMP_CTL_ADDR
		    registers for all three clock domains.

- qcom,red-fsm-en
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates if the reduction FSM
		    should be enabled.

- qcom,boost-fsm-en
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates if the boost FSM should
		    be enabled.

- qcom,safe-fsm-en
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates if the safe FSM should
		    be enabled.

- qcom,ps-fsm-en
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates if the PS FSM should be
		    enabled.

- qcom,droop-fsm-en
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates if the droop FSM should
		    be enabled.

- qcom,set-c3-active
	Usage:	    optional
	Value type: <empty>
	Definition: Boolean flag which indicates if the cores in C3 are to
		    be treated as active for core count calculations.

- qcom,set-c2-active
	Usage:      optional
	Value type: <empty>
	Definition: Boolean flag which indicates if the cores in C2 are to
		    be treated as active for core count calculations.

- qcom,disable-cc-dvcs
	Usage:	    optional
	Value type: <empty>
	Definition: Boolean flag which indicates if core count based DCVS is
		    to be disabled.

- qcom,apcs-pll-min-freq
	Usage:	    required
	Value type: <u32>
	Definition: Contains the addresses of the RAILx_CLKDOMy_PLL_MIN_FREQ
		    registers for the three clock domains.

- qcom,acdtd-val
	Usage:      required if pwrcl_acd, perfcl_acd or l3_acd registers are
		    specified
	Value type: <prop-encoded-array>
	Definition: Array which defines the values to program to the ACD
		    Tunable-Length Delay register for the L3, power and
		    performance clusters.

- qcom,acdcr-val
	Usage:      required if pwrcl_acd, perfcl_acd or l3_acd registers are
		    specified
	Value type: <prop-encoded-array>
	Definition: Array which defines the values for the ACD control register
		    for the L3, power and performance clusters.

- qcom,acdsscr-val
	Usage:      required if pwrcl_acd, perfcl_acd or l3_acd registers are
		    specified
	Value type: <prop-encoded-array>
	Definition: Array which defines the values for the ACD Soft Start Control
		    register for the L3, power and performance clusters.

- qcom,acdextint0-val
	Usage:      required if pwrcl_acd, perfcl_acd or l3_acd registers are
		    specified
	Value type: <prop-encoded-array>
	Definition: Array which defines the initial values for the ACD
		    external interface configuration register for the L3, power
		    and performance clusters.

- qcom,acdextint1-val
	Usage:      required if pwrcl_acd, perfcl_acd or l3_acd registers are
		    specified
	Value type: <prop-encoded-array>
	Definition: Array which defines the final values for the ACD
		    external interface configuration register for the L3, power
		    and performance clusters.

- qcom,acdautoxfer-val
	Usage:      required if pwrcl_acd, perfcl_acd or l3_acd registers are
		    specified
	Value type: <prop-encoded-array>
	Definition: Array which defines the values for the ACD auto transfer
		    control register for the L3, power and performance clusters.

- qcom,acdavg-init
	Usage:      optional if pwrcl_acd, perfcl_acd or l3_acd registers are
		    specified
	Value type: <prop-encoded-array>
	Definition: Array which defines if the AVG feature for ACD should be
		    initialized for the L3, power and performance clusters.
		    Valid values are 0 or 1.

- qcom,acdavgcfg0-val
	Usage:      required if qcom,acdavg-init is true for an ACD clock domain
	Value type: <prop-encoded-array>
	Definition: Array which defines the values for the ACD AVG CFG0
		    registers for the L3, power and performance clusters.

- qcom,acdavgcfg1-val
	Usage:      required if qcom,acdavg-init is true for an ACD clock domain
	Value type: <prop-encoded-array>
	Definition: Array which defines the values for the ACD AVG CFG1
		    registers for the L3, power and performance clusters.

- qcom,acdavgcfg2-val
	Usage:      required if qcom,acdavg-init is true for an ACD clock domain
	Value type: <prop-encoded-array>
	Definition: Array which defines the values for the ACD AVG CFG2
		    registers for the L3, power and performance clusters.
	Value type: <phandle>
	Definition: List of phandles to devices that the OPP tables with the L3
		    frequency and voltage mappings are loaded for.

- clock-names
	Usage:      required
@@ -416,156 +46,12 @@ Example:
		compatible = "qcom,clk-cpu-osm";
		reg = <0x17d41000 0x1400>,
			<0x17d43000 0x1400>,
			<0x17d45800 0x1400>,
			<0x178d0000 0x1000>,
			<0x178c0000 0x1000>,
			<0x178b0000 0x1000>,
			<0x17d42400 0x0c00>,
			<0x17d44400 0x0c00>,
			<0x17d46c00 0x0c00>,
			<0x17930000 0x10000>,
			<0x17920000 0x10000>,
			<0x17910000 0x10000>;
		reg-names = "osm_l3_base", "osm_pwrcl_base", "osm_perfcl_base",
			"l3_pll", "pwrcl_pll", "perfcl_pll",
			"l3_sequencer", "pwrcl_sequencer",
			"perfcl_sequencer", "l3_acd", "pwrcl_acd",
			"perfcl_acd";

		/* ACD configurations for L3, Silver, and Gold clusters */
		qcom,acdtd-val = <0x0000b411 0x0000b411 0x0000b411>;
		qcom,acdcr-val = <0x002c5ffd 0x002c5ffd 0x002c5ffd>;
		qcom,acdsscr-val = <0x00000901 0x00000901 0x00000901>;
		qcom,acdextint0-val = <0x2cf9ae8 0x2cf9ae8 0x2cf9ae8>;
		qcom,acdextint1-val = <0x2cf9afe 0x2cf9afe 0x2cf9afe>;
		qcom,acdautoxfer-val = <0x00000015 0x00000015 0x00000015>;
		qcom,acdavgcfg2-val = <0x0 0x56a38822 0x56a38822>;
		qcom,acdavgcfg1-val = <0x0 0x27104e20 0x27104e20>;
		qcom,acdavgcfg0-val = <0x0 0xa08007a1 0xa08007a1>;
		qcom,acdavg-init = <0 1 1>;

		vdd-l3-supply = <&apc0_l3_vreg>;
		vdd-pwrcl-supply = <&apc0_pwrcl_vreg>;
		vdd-perfcl-supply = <&apc1_perfcl_vreg>;

		qcom,l3-speedbin0-v0 =
			<   300000000 0x000c000f 0x00002020 0x1 1 >,
			<   422400000 0x50140116 0x00002020 0x1 2 >,
			<   499200000 0x5014021a 0x00002020 0x1 3 >,
			<   576000000 0x5014031e 0x00002020 0x1 4 >,
			<   652800000 0x501c0422 0x00002020 0x1 5 >,
			<   729600000 0x501c0526 0x00002020 0x1 6 >,
			<   806400000 0x501c062a 0x00002222 0x1 7 >,
			<   883200000 0x4024072b 0x00002525 0x1 8 >,
			<   960000000 0x40240832 0x00002828 0x2 9 >;

		qcom,pwrcl-speedbin0-v0 =
			<   300000000 0x000c000f 0x00002020 0x1 1 >,
			<   422400000 0x50140116 0x00002020 0x1 2 >,
			<   499200000 0x5014021a 0x00002020 0x1 3 >,
			<   576000000 0x5014031e 0x00002020 0x1 4 >,
			<   652800000 0x501c0422 0x00002020 0x1 5 >,
			<   748800000 0x501c0527 0x00002020 0x1 6 >,
			<   825600000 0x401c062b 0x00002222 0x1 7 >,
			<   902400000 0x4024072f 0x00002626 0x1 8 >,
			<   979200000 0x40240833 0x00002929 0x1 9 >,
			<  1056000000 0x402c0937 0x00002c2c 0x1 10 >,
			<  1132800000 0x402c0a3b 0x00002f2f 0x1 11 >,
			<  1209600000 0x402c0b3f 0x00003333 0x1 12 >,
			<  1286400000 0x40340c43 0x00003636 0x1 13 >,
			<  1363200000 0x40340d47 0x00003939 0x1 14 >,
			<  1440000000 0x403c0e4b 0x00003c3c 0x1 15 >,
			<  1516800000 0x403c0f4f 0x00004040 0x2 16 >,
			<  1593600000 0x403c1053 0x00004343 0x2 17 >;

		qcom,perfcl-speedbin0-v0 =
			<   300000000 0x000c000f 0x00002020 0x1 1 >,
			<   422400000 0x50140116 0x00002020 0x1 2 >,
			<   499200000 0x5014021a 0x00002020 0x1 3 >,
			<   576000000 0x5014031e 0x00002020 0x1 4 >,
			<   652800000 0x501c0422 0x00002020 0x1 5 >,
			<   729600000 0x501c0526 0x00002020 0x1 6 >,
			<   806400000 0x501c062a 0x00002222 0x1 7 >,
			<   883200000 0x4024072b 0x00002525 0x1 8 >,
			<   960000000 0x40240832 0x00002828 0x1 9 >,
			<  1036800000 0x40240936 0x00002b2b 0x1 10 >,
			<  1113600000 0x402c0a3a 0x00002e2e 0x1 11 >,
			<  1190400000 0x402c0b3e 0x00003232 0x1 12 >,
			<  1267200000 0x40340c42 0x00003535 0x1 13 >,
			<  1344000000 0x40340d46 0x00003838 0x1 14 >,
			<  1420800000 0x40340e4a 0x00003b3b 0x1 15 >,
			<  1497600000 0x403c0f4e 0x00003e3e 0x1 16 >,
			<  1574400000 0x403c1052 0x00004242 0x2 17 >,
			<  1651200000 0x403c1156 0x00004545 0x2 18 >,
			<  1728000000 0x4044125a 0x00004848 0x2 19 >,
			<  1804800000 0x4044135e 0x00004b4b 0x2 20 >,
			<  1881600000 0x404c1462 0x00004e4e 0x2 21 >,
			<  1958400000 0x404c1566 0x00005252 0x3 22 >;

		qcom,l3-memacc-level-vc-bin0 = <7 63>;
		qcom,l3-memacc-level-vc-bin1 = <7 9>;
		qcom,l3-memacc-level-vc-bin2 = <7 9>;

		qcom,pwrcl-memacc-level-vc-bin0 = <12 63>;
		qcom,pwrcl-memacc-level-vc-bin1 = <12 17>;
		qcom,pwrcl-memacc-level-vc-bin2 = <12 17>;

		qcom,perfcl-memacc-level-vc-bin0 = <12 18>;
		qcom,perfcl-memacc-level-vc-bin1 = <12 18>;
		qcom,perfcl-memacc-level-vc-bin2 = <12 18>;

		qcom,up-timer =
			<1000 1000 1000>;
		qcom,down-timer =
			<100000 100000 100000>;
		qcom,pc-override-index =
			<0 0 0>;
		qcom,set-ret-inactive;
		qcom,enable-llm-freq-vote;
		qcom,llm-freq-up-timer =
			<1000 1000 1000>;
		qcom,llm-freq-down-timer =
			<327675 327675 327675>;
		qcom,enable-llm-volt-vote;
		qcom,llm-volt-up-timer =
			<1000 1000 1000>;
		qcom,llm-volt-down-timer =
			<327675 327675 327675>;
		qcom,cc-reads = <10>;
		qcom,cc-delay = <5>;
		qcom,cc-factor = <100>;
		qcom,osm-clk-rate = <100000000>;
		qcom,xo-clk-rate = <19200000>;

		qcom,l-val-base =
			<0x178d0004 0x178c0004 0x178b0004>;
		qcom,apcs-pll-user-ctl =
			<0x178d000c 0x178c000c 0x178b000c>;
		qcom,apcs-pll-min-freq =
			<0x17d41094 0x17d43094 0x17d45894>;
		qcom,apm-mode-ctl =
			<0x0 0x0 0x17d20010>;
		qcom,apm-status-ctrl =
			<0x0 0x0 0x17d20000>;
		qcom,perfcl-isense-addr = <0x17871480>;
		qcom,l3-mem-acc-addr = <0x17990170 0x17990170 0x17990170>;
		qcom,pwrcl-mem-acc-addr = <0x17990160 0x17990164 0x17990164>;
		qcom,perfcl-mem-acc-addr = <0x17990168 0x1799016c 0x1799016c>;
		qcom,cfg-gfmux-addr =<0x178d0084 0x178c0084 0x178b0084>;
		qcom,apcs-cbc-addr = <0x178d008c 0x178c008c 0x178b008c>;
		qcom,apcs-ramp-ctl-addr = <0x17840904 0x17840904 0x17830904>;
			<0x17d45800 0x1400>;
		reg-names = "osm_l3_base", "osm_pwrcl_base", "osm_perfcl_base";

		qcom,perfcl-apcs-apm-threshold-voltage = <800000>;
		qcom,perfcl-apcs-mem-acc-threshold-voltage = <852000>;
		qcom,boost-fsm-en;
		qcom,safe-fsm-en;
		qcom,ps-fsm-en;
		qcom,droop-fsm-en;
		qcom,osm-no-tz;
		qcom,osm-pll-setup;
		l3-devs = <&phandle0 &phandle1 &phandle2>;

		clock-names = "xo_ao";
		clocks = <&clock_rpmh RPMH_CXO_CLK_A>;
		#clock-cells = <1>;
		#reset-cells = <1>;
	};
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ Required properties :
			"qcom,gcc-mdm9615"
			"qcom,gcc-sdm845"
			"qcom,gcc-sdm845-v2"
			"qcom,gcc-sdm845-v2.1"
			"qcom,gcc-sdm670"
			"qcom,debugcc-sdm845"

+39 −10
Original line number Diff line number Diff line
@@ -15,6 +15,12 @@ Optional properties:
                          	  property.
  - qcom,instance-type  	: describe the storage type for which ICE node is defined
			 	  currently, only "ufs" and "sdcc" are supported storage type
  - vdd-hba-supply		: regulated supply to be used by ICE HW
  - qcom,msm-bus,name		: bus for ICE transactions
  - qcom,msm-bus,num-cases	: bus case mapping for ICE HW
  - qcom,msm-bus,num-paths	: bus path mapping for iCE HW
  - qcom,msm-bus,vectors-KBps	: bus bandwidth to be voted
  - qcom,bus-vector-names	: bus vectors mapping

Example:
        ufs_ice: ufsice@630000 {
@@ -30,3 +36,26 @@ Example:
		qcom,instance-type = "ufs";
                status = "disabled";
        };

	ufs_card_ice: ufscardice@1db0000 {
		compatible = "qcom,ice_card";
		reg = <0x1db0000 0x8000>;
		qcom,enable-ice-clk;
		clock-names = "ufs_core_clk", "bus_clk",
			      "iface_clk", "ice_core_clk";
		clocks = <&clock_gcc GCC_UFS_CARD_AXI_CLK>,
			 <&clock_gcc GCC_UFS_CARD_CLKREF_CLK>,
			 <&clock_gcc GCC_UFS_CARD_AHB_CLK>,
			 <&clock_gcc GCC_UFS_CARD_ICE_CORE_CLK>;
		qcom,op-freq-hz = <0>, <0>, <0>, <300000000>;
		vdd-hba-supply = <&ufs_card_gdsc>;
		qcom,msm-bus,name = "ufs_card_ice_noc";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<1 650 0 0>,    /* No vote */
				<1 650 1000 0>; /* Max. bandwidth */
		qcom,bus-vector-names = "MIN",
					"MAX";
		qcom,instance-type = "ufs_card";
	};
Loading