aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-08-02 18:54:06 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-08-02 18:54:06 -0700
commit66b71f9e8256717b94c4819ae84bd6d4beb1f3fa (patch)
tree2ee74c50d23b2b51c9189e97d24fcb92dad0ee19
parentcd7a3e42ee78f772571a6446699c9d326fcb0320 (diff)
downloadltsi-kernel-66b71f9e8256717b94c4819ae84bd6d4beb1f3fa.tar.gz
Fix up Renesas patches so they apply properly.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--patches.renesas/0001-clocksource-em_sti-Split-clock-prepare-and-enable-st.patch17
-rw-r--r--patches.renesas/0002-clocksource-em_sti-Compute-rate-before-registration.patch19
-rw-r--r--patches.renesas/0003-arm64-dts-r8a7796-Add-I2C-for-DVFS-device-node.patch7
-rw-r--r--patches.renesas/0004-arm64-dts-r8a7796-salvator-x-Add-I2C-for-DVFS-device.patch7
-rw-r--r--patches.renesas/0005-arm64-dts-r8a7795-Add-I2C-for-DVFS-core-to-dtsi.patch15
-rw-r--r--patches.renesas/0006-arm64-dts-r8a7795-salvator-x-Enable-I2C-for-DVFS-dev.patch7
-rw-r--r--patches.renesas/0007-arm64-dts-h3ulcb-Update-memory-node-to-4-GiB-map.patch7
-rw-r--r--patches.renesas/0008-arm64-dts-r8a7795-Use-rgmii-txid-phy-mode-for-Ethern.patch7
-rw-r--r--patches.renesas/0009-arm64-dts-r8a7795-salvator-x-Fix-EthernetAVB-PHY-tim.patch7
-rw-r--r--patches.renesas/0010-arm64-dts-h3ulcb-Fix-EthernetAVB-PHY-timing.patch7
-rw-r--r--patches.renesas/0011-arm64-dts-r8a7796-Use-rgmii-txid-phy-mode-for-Ethern.patch7
-rw-r--r--patches.renesas/0012-arm64-dts-r8a7796-salvator-x-Fix-EthernetAVB-PHY-tim.patch7
-rw-r--r--patches.renesas/0013-arm64-defconfig-Enable-SH-Mobile-I2C-controller.patch7
-rw-r--r--patches.renesas/0014-ARM64-defconfig-enable-the-leds-pwm-driver-and-defau.patch7
-rw-r--r--patches.renesas/0015-arm64-dts-r8a7796-dtsi-Add-all-HSCIF-nodes.patch7
-rw-r--r--patches.renesas/0016-arm64-dts-r8a7796-Add-all-SCIF-nodes.patch29
-rw-r--r--patches.renesas/0017-arm64-dts-r8a7796-Enable-SCIF-DMA.patch7
-rw-r--r--patches.renesas/0018-arm64-dts-r8a7796-salvator-x-add-SCIF1-DEBUG1.patch7
-rw-r--r--patches.renesas/0019-arm64-dts-r8a7796-Enable-HSCIF-DMA.patch7
-rw-r--r--patches.renesas/0020-arm64-dts-r8a7795-Add-Cortex-A53-CPU-cores.patch7
-rw-r--r--patches.renesas/0021-arm64-dts-r8a7795-Add-Cortex-A53-PMU-node.patch7
-rw-r--r--patches.renesas/0022-arm64-dts-r8a7795-Upgrade-to-PSCI-v1.0-to-support-Su.patch7
-rw-r--r--patches.renesas/0023-arm64-dts-r8a7796-Upgrade-to-PSCI-v1.0-to-support-Su.patch7
-rw-r--r--patches.renesas/0024-arm64-dts-r8a7795-Remove-unit-addresses-and-regs-fro.patch7
-rw-r--r--patches.renesas/0025-arm64-dts-r8a7796-Remove-unit-address-and-reg-from-i.patch7
-rw-r--r--patches.renesas/0026-arm64-dts-r8a7795-salvator-x-Set-drive-strength-for-.patch7
-rw-r--r--patches.renesas/0027-arm64-dts-r8a7795-Tidyup-Audio-DMAC-channel-for-DVC.patch7
-rw-r--r--patches.renesas/0028-arm64-defconfig-enable-MVNETA.patch7
-rw-r--r--patches.renesas/0029-arm64-defconfig-enable-I2C_PXA.patch7
-rw-r--r--patches.renesas/0030-arm64-dts-r8a7796-Add-Cortex-A57-CPU-cores.patch7
-rw-r--r--patches.renesas/0031-arm64-dts-r8a7796-Add-Cortex-A57-PMU-node.patch7
-rw-r--r--patches.renesas/0032-arm64-dts-r8a7796-Add-CA53-L2-cache-controller-node.patch7
-rw-r--r--patches.renesas/0033-arm64-dts-r8a7796-Add-Cortex-A53-CPU-cores.patch7
-rw-r--r--patches.renesas/0034-arm64-dts-r8a7796-Add-Cortex-A53-PMU-node.patch7
-rw-r--r--patches.renesas/0035-arm64-dts-h3ulcb-Drop-superfluous-status-update-for-.patch7
-rw-r--r--patches.renesas/0036-arm64-dts-r8a7795-salvator-x-Drop-superfluous-status.patch7
-rw-r--r--patches.renesas/0037-arm64-dts-m3ulcb-Drop-superfluous-status-update-for-.patch7
-rw-r--r--patches.renesas/0038-arm64-dts-r8a7796-salvator-x-Drop-superfluous-status.patch7
-rw-r--r--patches.renesas/0039-arm64-set-CONFIG_MMC_BCM2835-y-in-defconfig.patch7
-rw-r--r--patches.renesas/0040-arm64-dts-r8a7795-Correct-SATA-device-size-to-2MiB.patch7
-rw-r--r--patches.renesas/0041-arm64-dts-r8a7795-Add-reset-control-properties.patch7
-rw-r--r--patches.renesas/0042-arm64-dts-r8a7796-Add-reset-control-properties.patch7
-rw-r--r--patches.renesas/0043-arm64-defconfig-Enable-video-DRM-and-LPASS-drivers-f.patch7
-rw-r--r--patches.renesas/0044-arm64-defconfig-enable-MVPP2.patch7
-rw-r--r--patches.renesas/0045-clk-renesas-Add-r8a7795-ES2.0-CPG-Core-Clock-Definit.patch7
-rw-r--r--patches.renesas/0046-arm64-kdump-enable-kdump-in-defconfig.patch7
-rw-r--r--patches.renesas/0047-arm64-dts-r8a7795-salvator-x-Drop-_clk-suffix-from-X.patch7
-rw-r--r--patches.renesas/0048-arm64-defconfig-enable-the-Safexcel-crypto-engine-as.patch7
-rw-r--r--patches.renesas/0049-i2c-rcar-fix-resume-by-always-initializing-registers.patch11
-rw-r--r--patches.renesas/0050-i2c-rcar-clarify-PM-handling-with-more-comments.patch11
-rw-r--r--patches.renesas/0051-i2c-rcar-use-correct-length-when-unmapping-DMA.patch9
-rw-r--r--patches.renesas/0052-ARM-dts-r7s72100-update-sdhi-clock-bindings.patch11
-rw-r--r--patches.renesas/0053-ARM-dts-r8a7743-Fix-SCIFB0-dmas-indentation.patch7
-rw-r--r--patches.renesas/0054-ARM-dts-r8a7745-Fix-SCIFB0-dmas-indentation.patch7
-rw-r--r--patches.renesas/0055-ARM-dts-r8a73a4-Remove-unit-addresses-and-regs-from-.patch7
-rw-r--r--patches.renesas/0056-ARM-dts-r8a7743-Remove-unit-address-and-reg-from-int.patch7
-rw-r--r--patches.renesas/0057-ARM-dts-r8a7745-Remove-unit-address-and-reg-from-int.patch7
-rw-r--r--patches.renesas/0058-ARM-dts-r8a7790-Remove-unit-addresses-and-regs-from-.patch7
-rw-r--r--patches.renesas/0059-ARM-dts-r8a7791-Remove-unit-address-and-reg-from-int.patch7
-rw-r--r--patches.renesas/0060-ARM-dts-r8a7792-Remove-unit-address-and-reg-from-int.patch7
-rw-r--r--patches.renesas/0061-ARM-dts-r8a7793-Remove-unit-address-and-reg-from-int.patch7
-rw-r--r--patches.renesas/0062-ARM-dts-r8a7794-Remove-unit-address-and-reg-from-int.patch7
-rw-r--r--patches.renesas/0063-ARM-dts-r8a7790-Tidyup-Audio-DMAC-channel-for-DVC.patch7
-rw-r--r--patches.renesas/0064-ARM-dts-r7s72100-Add-watchdog-timer.patch7
-rw-r--r--patches.renesas/0065-ARM-dts-r8a73a4-Add-INTC-SYS-clock-to-device-tree.patch11
-rw-r--r--patches.renesas/0066-ARM-dts-r8a7790-Add-INTC-SYS-clock-to-device-tree.patch11
-rw-r--r--patches.renesas/0067-ARM-dts-r8a7791-Add-INTC-SYS-clock-to-device-tree.patch11
-rw-r--r--patches.renesas/0068-ARM-dts-r8a7792-Add-INTC-SYS-clock-to-device-tree.patch11
-rw-r--r--patches.renesas/0069-ARM-dts-r8a7794-Add-INTC-SYS-clock-to-device-tree.patch11
-rw-r--r--patches.renesas/0070-ARM-dts-r8a7791-Tidyup-Audio-DMAC-channel-for-DVC.patch7
-rw-r--r--patches.renesas/0071-ARM-dts-r8a7793-Tidyup-Audio-DMAC-channel-for-DVC.patch7
-rw-r--r--patches.renesas/0072-ARM-dts-r8a7793-Add-INTC-SYS-clock-to-device-tree.patch11
-rw-r--r--patches.renesas/0073-ARM-dts-porter-Always-use-status-okay-to-enable-devi.patch7
-rw-r--r--patches.renesas/0074-ARM-dts-bockw-Drop-superfluous-status-update-for-fre.patch7
-rw-r--r--patches.renesas/0075-ARM-dts-marzen-Drop-superfluous-status-update-for-fr.patch7
-rw-r--r--patches.renesas/0076-ARM-dts-lager-Drop-superfluous-status-update-for-fre.patch7
-rw-r--r--patches.renesas/0077-ARM-dts-koelsch-Drop-superfluous-status-updates-for-.patch7
-rw-r--r--patches.renesas/0078-ARM-dts-porter-Drop-superfluous-status-update-for-fr.patch7
-rw-r--r--patches.renesas/0079-ARM-dts-gose-Drop-superfluous-status-update-for-freq.patch7
-rw-r--r--patches.renesas/0080-ARM-dts-alt-Drop-superfluous-status-update-for-frequ.patch7
-rw-r--r--patches.renesas/0081-ARM-dts-silk-Drop-superfluous-status-update-for-freq.patch7
-rw-r--r--patches.renesas/0082-ARM-shmobile-Document-RZ-G1H-SoC-DT-binding.patch7
-rw-r--r--patches.renesas/0083-ARM-shmobile-Document-RZ-G1N-SoC-DT-binding.patch7
-rw-r--r--patches.renesas/0084-ARM-8660-1-shmobile-r7s72100-Enable-L2-cache.patch9
-rw-r--r--patches.renesas/0085-phy-rcar-gen3-usb2-fix-implementation-for-runtime-PM.patch15
-rw-r--r--patches.renesas/0086-dmaengine-rcar-dmac-enable-descriptor-mode-on-40bit.patch19
-rw-r--r--patches.renesas/0087-rcar-dmac-fixup-descriptor-pointer-for-descriptor-mo.patch9
-rw-r--r--patches.renesas/0088-soc-renesas-Provide-dummy-rcar_rst_read_mode_pins-fo.patch7
-rw-r--r--patches.renesas/0089-ASoC-rsnd-drop-useles-self-assignments.patch9
-rw-r--r--patches.renesas/0090-ASoC-rsnd-check-return-value-of-init-function.patch11
-rw-r--r--patches.renesas/0091-ASoC-rcar-enable-PCM-RATE-untile-192000.patch7
-rw-r--r--patches.renesas/0092-ASoC-rcar-ssi-don-t-set-SSICR.CKDV-000-with-SSIWSR.C.patch9
-rw-r--r--patches.renesas/0093-ASoC-rcar-remove-rsnd_kctrl_remove.patch21
-rw-r--r--patches.renesas/0094-ASoC-rcar-fixup-of_clk_add_provider-usage-for-multi-.patch9
-rw-r--r--patches.renesas/0095-ASoC-rcar-call-missing-of_clk_del_provider-when-remo.patch9
-rw-r--r--patches.renesas/0096-ASoC-rsnd-tidyup-src-convert_rate-reset-timing.patch11
-rw-r--r--patches.renesas/0097-ASoC-rsnd-merge-rsnd_kctrl_new_m-s-e-into-rsnd_kctrl.patch23
-rw-r--r--patches.renesas/0098-ASoC-rsnd-rsnd_mod_make_sure-is-not-under-DEBUG.patch15
-rw-r--r--patches.renesas/0099-ASoC-rsnd-enable-clock-frequency-for-both-44.1kHz-48.patch21
-rw-r--r--patches.renesas/0100-ASoC-rsnd-fix-semicolon.cocci-warnings.patch9
-rw-r--r--patches.renesas/0101-ASoC-rsnd-Fix-possible-NULL-pointer-dereference.patch17
-rw-r--r--patches.renesas/0102-ASoC-rsnd-don-t-use-PDTA-bit-for-24bit-on-SSI.patch49
-rw-r--r--patches.renesas/0103-ASoC-rsnd-don-t-call-free_irq-on-Parent-SSI.patch9
-rw-r--r--patches.renesas/0104-ASoC-rsnd-SSI-PIO-adjust-to-24bit-mode.patch11
-rw-r--r--patches.renesas/0105-ASoC-rsnd-fixup-parent_clk_name-of-AUDIO_CLKOUTx.patch11
-rw-r--r--patches.renesas/0106-soc-renesas-Identify-RZ-G1H.patch11
-rw-r--r--patches.renesas/0107-soc-renesas-Identify-RZ-G1N.patch11
-rw-r--r--patches.renesas/0108-soc-renesas-Register-SoC-device-early.patch7
-rw-r--r--patches.renesas/0109-ata-sata_rcar-Handle-return-value-of-clk_prepare_ena.patch13
-rw-r--r--patches.renesas/0110-clocksource-sh_cmt-Compute-rate-before-registration-.patch23
-rw-r--r--patches.renesas/0111-clockevents-drivers-sh_cmt-Set-min_delta_ticks-and-m.patch9
-rw-r--r--patches.renesas/0112-sh_eth-Use-platform-device-for-printing-before-regis.patch9
-rw-r--r--patches.renesas/0113-sh_eth-Do-not-print-an-error-message-for-probe-defer.patch9
-rw-r--r--patches.renesas/0114-mmc-sh_mmcif-Document-r7s72100-DT-bindings.patch7
-rw-r--r--patches.renesas/0115-media-sh_mobile_ceu_camera-use-module_platform_drive.patch9
-rw-r--r--patches.renesas/0116-mmc-tmio-ensure-end-of-DMA-and-SD-access-are-in-sync.patch27
-rw-r--r--patches.renesas/0117-mmc-host-tmio-use-defines-for-CTL_STOP_INTERNAL_ACTI.patch17
-rw-r--r--patches.renesas/0118-mmc-host-tmio-fix-minor-typos-in-comments.patch7
-rw-r--r--patches.renesas/0119-mmc-host-tmio-don-t-BUG-on-unsupported-stop-commands.patch9
-rw-r--r--patches.renesas/0120-mmc-host-tmio-fill-in-response-from-auto-cmd12.patch9
-rw-r--r--patches.renesas/0121-mmc-tmio-always-unmap-DMA-before-waiting-for-interru.patch11
-rw-r--r--patches.renesas/0122-mmc-tmio-always-get-number-of-taps.patch9
-rw-r--r--patches.renesas/0123-rtc-sh-add-support-for-rza-series.patch28
-rw-r--r--patches.renesas/0124-dt-bindings-rtc-document-the-rtc-sh-bindings.patch8
-rw-r--r--patches.renesas/0125-rtc-sh-mark-PM-functions-as-unused.patch11
-rw-r--r--patches.renesas/0126-serial-sh-sci-Fix-hang-in-sci_reset.patch9
-rw-r--r--patches.renesas/0127-serial-sh-sci-Fix-late-enablement-of-AUTORTS.patch9
-rw-r--r--patches.renesas/0128-serial-sh-sci-Fix-AUTO-RTS-in-sci_init_pins.patch9
-rw-r--r--patches.renesas/0129-clocksource-sh_tmu-Compute-rate-before-registration-.patch19
-rw-r--r--patches.renesas/0130-ASoC-simple-scu-card-use-defined-dev-on-probe.patch11
-rw-r--r--patches.renesas/0131-ASoC-simple-scu-card-add-new-simple_priv_to_card-mac.patch23
-rw-r--r--patches.renesas/0132-smsc911x-Adding-support-for-Micochip-LAN9250-Etherne.patch17
-rw-r--r--patches.renesas/0133-usb-gadget-udc-renesas_usb3-add-USB-ID-signal-monito.patch17
-rw-r--r--patches.renesas/0134-usb-gadget-udc-renesas_usb3-add-extcon-support.patch21
-rw-r--r--patches.renesas/0135-usb-gadget-udc-renesas_usb3-add-support-for-usb-role.patch20
-rw-r--r--patches.renesas/0136-usb-gadget-udc-renesas_usb3-fix-pm_runtime-functions.patch9
-rw-r--r--patches.renesas/0137-usb-gadget-udc-renesas_usb3-fix-deadlock-by-spinlock.patch9
-rw-r--r--patches.renesas/0138-usb-gadget-udc-renesas_usb3-Fix-PN_INT_ENA-disabling.patch11
-rw-r--r--patches.renesas/0139-media-v4l-vsp1-Fix-format-info-documentation.patch7
-rw-r--r--patches.renesas/0140-media-v4l-vsp1-Clean-up-file-handle-in-open-error-pa.patch9
-rw-r--r--patches.renesas/0141-media-v4l-vsp1-Fix-RPF-WPF-U-V-order-in-3-planar-for.patch28
-rw-r--r--patches.renesas/0142-media-v4l-vsp1-Prevent-multiple-streamon-race-commen.patch11
-rw-r--r--patches.renesas/0143-media-v4l-vsp1-Remove-redundant-pipe-dl-usage-from-d.patch13
-rw-r--r--patches.renesas/0144-media-v4l-vsp1-Fix-multi-line-comment-style.patch171
-rw-r--r--patches.renesas/0145-media-v4l-vsp1-Disable-HSV-formats-on-Gen3-hardware.patch9
-rw-r--r--patches.renesas/0146-media-v4l-vsp1-Fix-struct-vsp1_drm-documentation.patch7
-rw-r--r--patches.renesas/0147-media-v4l-vsp1-Register-pipe-with-output-WPF.patch9
-rw-r--r--patches.renesas/0148-media-v4l-vsp1-wpf-Implement-rotation-support.patch45
-rw-r--r--patches.renesas/0149-ASoC-wm8978-Add-OF-device-ID-table.patch9
-rw-r--r--patches.renesas/0150-clk-renesas-r8a7795-Add-IMR-clocks.patch9
-rw-r--r--patches.renesas/0151-clk-renesas-r8a7796-Add-IMR-clocks.patch9
-rw-r--r--patches.renesas/0152-clk-renesas-r8a7795-Correct-parent-clock-and-sort-or.patch9
-rw-r--r--patches.renesas/0153-clk-renesas-r8a7795-Correct-name-of-watchdog-clock.patch9
-rw-r--r--patches.renesas/0154-clk-renesas-r8a7796-Correct-name-of-watchdog-clock.patch9
-rw-r--r--patches.renesas/0155-clk-renesas-r8a7795-Reformat-core-clock-table.patch9
-rw-r--r--patches.renesas/0156-clk-renesas-r8a7796-Reformat-core-clock-table.patch9
-rw-r--r--patches.renesas/0157-clk-renesas-rcar-gen3-cpg-Pass-mode-pins-to-rcar_gen.patch29
-rw-r--r--patches.renesas/0158-clk-renesas-rcar-gen3-Add-workaround-for-PLL0-2-4-er.patch17
-rw-r--r--patches.renesas/0159-clk-renesas-cpg-mssr-Add-support-for-fixing-up-clock.patch17
-rw-r--r--patches.renesas/0160-clk-renesas-r8a7795-Add-support-for-R-Car-H3-ES2.0.patch23
-rw-r--r--patches.renesas/0161-clk-renesas-rcar-gen3-cpg-Add-support-for-RCLK-on-R-.patch20
-rw-r--r--patches.renesas/0162-pinctrl-sh-pfc-r8a7795-Fix-hscif2_clk_b-and-hscif4_c.patch41
-rw-r--r--patches.renesas/0163-pinctrl-sh-pfc-r8a7795-Restore-sort-order.patch25
-rw-r--r--patches.renesas/0164-pinctrl-sh-pfc-Update-info-pointer-after-SoC-specifi.patch36
-rw-r--r--patches.renesas/0165-pinctrl-sh-pfc-r8a7795-Add-support-for-R-Car-H3-ES2..patch1484
-rw-r--r--patches.renesas/0166-pinctrl-sh-pfc-r8a7795-Add-SCIF-support.patch9
-rw-r--r--patches.renesas/0167-pinctrl-sh-pfc-r8a7795-Add-SCIF_CLK-support.patch15
-rw-r--r--patches.renesas/0168-pinctrl-sh-pfc-r8a7791-Add-missing-HSCIF1-pinmux-dat.patch52
-rw-r--r--patches.renesas/0169-pinctrl-sh-pfc-r8a7791-Add-missing-DVC_MUTE-signal.patch61
-rw-r--r--patches.renesas/0170-pinctrl-sh-pfc-r8a7791-Fix-SCIF2-pinmux-data.patch33
-rw-r--r--patches.renesas/0171-pinctrl-sh-pfc-r8a7791-Fix-IPSR-comment-typos.patch13
-rw-r--r--patches.renesas/0172-pinctrl-sh-pfc-r8a7794-Swap-ATA-signals.patch75
-rw-r--r--patches.renesas/0173-net-phy-micrel-Restore-led_mode-and-clk_sel-on-resum.patch13
-rw-r--r--patches.renesas/0174-soc-renesas-rcar-sysc-Add-support-for-fixing-up-powe.patch19
-rw-r--r--patches.renesas/0175-soc-renesas-rcar-sysc-Add-support-for-R-Car-H3-ES2.0.patch15
-rw-r--r--patches.renesas/0176-usb-xhci-plat-Enable-async-suspend-resume.patch9
-rw-r--r--patches.renesas/0177-usb-xhci-clear-EINT-bit-in-status-correctly.patch11
-rw-r--r--patches.renesas/0178-usb-xhci-Add-helper-function-xhci_set_power_on.patch13
-rw-r--r--patches.renesas/0179-usb-xhci-Add-helper-function-xhci_disable_slot.patch19
-rw-r--r--patches.renesas/0180-usb-xhci-Expose-xhci_start-function.patch13
-rw-r--r--patches.renesas/0181-usb-xhci-Add-port-test-modes-support-for-usb2.patch23
-rw-r--r--patches.renesas/0182-usb-host-xhci-extract-xhci_slot_state_string.patch15
-rw-r--r--patches.renesas/0183-usb-host-xhci-add-Slot-and-EP-Context-tracers.patch55
-rw-r--r--patches.renesas/0184-usb-host-xhci-fix-up-Control-Transfer-TRB-decoder.patch9
-rw-r--r--patches.renesas/0185-xhci-add-slot-and-endpoint-numbers-to-debug-messages.patch25
-rw-r--r--patches.renesas/0186-xhci-Do-not-halt-the-host-until-both-HCD-have-discon.patch9
-rw-r--r--patches.renesas/0187-xhci-Rework-how-we-handle-unresponsive-or-hoptlug-re.patch47
-rw-r--r--patches.renesas/0188-usb-xhci-add-xhci_log_ring-trace-events.patch27
-rw-r--r--patches.renesas/0189-usb-xhci-remove-xhci_dbg_ep_rings.patch15
-rw-r--r--patches.renesas/0190-usb-xhci-make-several-functions-static.patch71
-rw-r--r--patches.renesas/0191-usb-xhci-remove-error-messages-for-failed-memory-all.patch33
-rw-r--r--patches.renesas/0192-usb-xhci-remove-enq_updates-and-deq_updates-from-rin.patch29
-rw-r--r--patches.renesas/0193-usb-xhci-remove-ring-debugging-code.patch29
-rw-r--r--patches.renesas/0194-usb-xhci-remove-xhci_debug_trb.patch21
-rw-r--r--patches.renesas/0195-usb-xhci-remove-xhci_dbg_ctx.patch47
-rw-r--r--patches.renesas/0196-usb-xhci-fix-link-trb-decoding.patch9
-rw-r--r--patches.renesas/0197-usb-xhci-refine-xhci_decode_trb.patch39
-rw-r--r--patches.renesas/0198-usb-xhci-bInterval-quirk-for-TI-TUSB73x0.patch9
-rw-r--r--patches.renesas/0199-xhci-use-correct-flags-for-spin_lock_irqrestore-when.patch21
-rw-r--r--patches.renesas/0200-usb-host-plat-Enable-xHCI-plat-runtime-PM.patch19
-rw-r--r--patches.renesas/0201-usb-host-xhci-plat-enable-clk-in-resume-timing.patch13
-rw-r--r--patches.renesas/0202-usb-host-xhci-plat-add-resume_quirk.patch15
-rw-r--r--patches.renesas/0203-usb-host-xhci-plat-set-resume_quirk-for-R-Car-contro.patch21
-rw-r--r--patches.renesas/0204-usb-host-xhci-using-correct-specification-chapter-re.patch9
-rw-r--r--patches.renesas/0205-usb-host-xhci-delete-sp_dma_buffers-for-scratchpad.patch15
-rw-r--r--patches.renesas/0206-usb-host-xhci-remove-ifdef-around-PM-functions.patch21
-rw-r--r--patches.renesas/0207-media-v4l-Add-metadata-buffer-type-and-format.patch84
-rw-r--r--patches.renesas/0208-media-v4l-vsp1-Add-histogram-support.patch23
-rw-r--r--patches.renesas/0209-media-v4l-vsp1-Support-histogram-generators-in-pipel.patch53
-rw-r--r--patches.renesas/0210-media-v4l-vsp1-Fix-HGO-and-HGT-routing-register-addr.patch7
-rw-r--r--patches.renesas/0211-media-v4l-Define-a-pixel-format-for-the-R-Car-VSP1-1.patch29
-rw-r--r--patches.renesas/0212-media-v4l-vsp1-Add-HGO-support.patch73
-rw-r--r--patches.renesas/0213-media-v4l-Define-a-pixel-format-for-the-R-Car-VSP1-2.patch24
-rw-r--r--patches.renesas/0214-media-v4l-vsp1-Add-HGT-support.patch69
-rw-r--r--patches.renesas/0215-media-videodev.h-add-V4L2_CTRL_FLAG_MODIFY_LAYOUT.patch7
-rw-r--r--patches.renesas/0216-media-vsp1-set-V4L2_CTRL_FLAG_MODIFY_LAYOUT-for-hist.patch11
-rw-r--r--patches.renesas/0217-media-pixfmt-meta-vsp1-hgo.rst-remove-spurious.patch7
-rw-r--r--patches.renesas/0218-USB-host-xhci-use-max-port-define.patch9
-rw-r--r--patches.renesas/0219-usb-xhci-trace-URB-before-giving-it-back-instead-of-.patch9
-rw-r--r--patches.renesas/0220-usb-host-xhci-ring-don-t-need-to-clear-interrupt-pen.patch19
-rw-r--r--patches.renesas/0221-USB-xhci-fix-lock-inversion-problem.patch11
-rw-r--r--patches.renesas/0222-xhci-Fix-command-ring-stop-regression-in-4.11.patch31
-rw-r--r--patches.renesas/0223-dt-bindings-net-sms911x-Add-missing-optional-VDD-reg.patch7
-rw-r--r--patches.renesas/0224-net-phy-micrel-configure-intterupts-after-autoneg-wo.patch40
-rw-r--r--patches.renesas/0225-drm-bridge-dw-hdmi-Remove-unused-functions.patch9
-rw-r--r--patches.renesas/0226-drm-bridge-dw-hdmi-Move-CSC-configuration-out-of-PHY.patch17
-rw-r--r--patches.renesas/0227-drm-bridge-dw-hdmi-Enable-CSC-even-for-DVI.patch9
-rw-r--r--patches.renesas/0228-drm-bridge-dw-hdmi-Fix-the-PHY-power-down-sequence.patch17
-rw-r--r--patches.renesas/0229-drm-bridge-dw-hdmi-Fix-the-PHY-power-up-sequence.patch11
-rw-r--r--patches.renesas/0230-drm-bridge-dw-hdmi-Create-PHY-operations.patch37
-rw-r--r--patches.renesas/0231-drm-bridge-dw-hdmi-Add-support-for-custom-PHY-config.patch25
-rw-r--r--patches.renesas/0232-drm-bridge-dw-hdmi-Remove-device-type-from-platform-.patch27
-rw-r--r--patches.renesas/0233-drm-bridge-dw-hdmi-Switch-to-regmap-for-register-acc.patch21
-rw-r--r--patches.renesas/0234-drm-bridge-dw-hdmi-Move-the-driver-to-a-separate-dir.patch8643
-rw-r--r--patches.renesas/0235-drm-bridge-dw_hdmi-support-i2c-extended-read-mode.patch15
-rw-r--r--patches.renesas/0236-drm-bridge-dw-hdmi-add-HDMI-vendor-specific-infofram.patch15
-rw-r--r--patches.renesas/0237-drm-dw_hdmi-Don-t-rely-on-the-status-of-the-bridge-f.patch9
-rw-r--r--patches.renesas/0238-dt-bindings-display-renesas-Add-R-Car-Gen3-HDMI-TX-D.patch12
-rw-r--r--patches.renesas/0239-drm-bridge-dw-hdmi-Extract-PHY-interrupt-setup-to-a-.patch15
-rw-r--r--patches.renesas/0240-media-uapi-Add-RGB-and-YUV-bus-formats-for-Synopsys-.patch7
-rw-r--r--patches.renesas/0241-drm-bridge-dw-hdmi-Switch-to-V4L-bus-format-and-enco.patch27
-rw-r--r--patches.renesas/0242-drm-bridge-dw-hdmi-Move-HPD-handling-to-PHY-operatio.patch21
-rw-r--r--patches.renesas/0243-drm-bridge-dw-hdmi-remove-unused-hdmi_bus_fmt_is_yuv.patch9
-rw-r--r--patches.renesas/0244-drm-bridge-dw-hdmi-Add-a-missing-break-statement.patch9
-rw-r--r--patches.renesas/0245-drm-bridge-dw-hdmi-fix-input-format-encoding-from-pl.patch9
-rw-r--r--patches.renesas/0246-drm-dw-hdmi-Implement-the-mode_fixup-drm-helper.patch11
-rw-r--r--patches.renesas/0247-drm-rcar-du-Switch-to-encoder-.atomic_mode_set-helpe.patch15
-rw-r--r--patches.renesas/0248-drm-rcar-du-Don-t-open-code-of_device_get_match_data.patch9
-rw-r--r--patches.renesas/0249-drm-rcar-du-Handle-event-when-disabling-CRTCs.patch9
-rw-r--r--patches.renesas/0250-drm-rcar-du-Clear-handled-event-pointer-in-CRTC-stat.patch9
-rw-r--r--patches.renesas/0251-drm-rcar-du-Use-DRM-core-s-atomic-commit-helper.patch13
-rw-r--r--patches.renesas/0252-drm-rcar-du-Make-sure-the-VSP-is-initialized-on-plat.patch9
-rw-r--r--patches.renesas/0253-drm-rcar-du-Remove-wait-field-from-rcar_du_device-st.patch13
-rw-r--r--patches.renesas/0254-drm-rcar-du-Document-the-vsps-property-in-the-DT-bin.patch7
-rw-r--r--patches.renesas/0255-drm-panel-Constify-device-node-argument-to-of_drm_fi.patch13
-rw-r--r--patches.renesas/0256-drm-rcar-du-Use-the-DRM-panel-API.patch29
-rw-r--r--patches.renesas/0257-drm-Add-data-transmission-order-bus-flag.patch7
-rw-r--r--patches.renesas/0258-drm-rcar-du-Add-support-for-LVDS-mode-selection.patch27
-rw-r--r--patches.renesas/0259-drm-rcar-du-Replace-manual-bridge-implementation-wit.patch102
-rw-r--r--patches.renesas/0260-drm-rcar-du-Hardcode-encoders-types-to-DRM_MODE_ENCO.patch51
-rw-r--r--patches.renesas/0261-drm-rcar-du-Add-Gen3-HDMI-encoder-support.patch18
-rw-r--r--patches.renesas/0262-drm-rcar-du-Skip-disabled-outputs.patch9
-rw-r--r--patches.renesas/0263-drm-rcar-du-Add-DPLL-support.patch27
-rw-r--r--patches.renesas/0264-drm-rcar-du-Add-HDMI-outputs-to-R8A7795-device-descr.patch13
-rw-r--r--patches.renesas/0265-ARM-dts-r8a7743-Add-reset-control-properties.patch7
-rw-r--r--patches.renesas/0266-ARM-dts-r8a7745-Add-reset-control-properties.patch7
-rw-r--r--patches.renesas/0267-ARM-dts-r7s72100-add-power-domains-to-sdhi.patch7
-rw-r--r--patches.renesas/0268-ARM-dts-r8a7794-Add-DU1-clock-to-device-tree.patch11
-rw-r--r--patches.renesas/0269-ARM-dts-r8a7794-Correct-clock-of-DU1.patch7
-rw-r--r--patches.renesas/0270-ARM-dts-alt-Correct-clock-of-DU1.patch7
-rw-r--r--patches.renesas/0271-ARM-dts-silk-Correct-clock-of-DU1.patch7
-rw-r--r--patches.renesas/0272-ARM-dts-r7s72100-fix-ethernet-clock-parent.patch7
-rw-r--r--patches.renesas/0273-ARM-dts-r8a7790-Correct-parent-of-SSI-0-9-clocks.patch7
-rw-r--r--patches.renesas/0274-ARM-dts-r8a7791-Correct-parent-of-SSI-0-9-clocks.patch7
-rw-r--r--patches.renesas/0275-ARM-dts-r8a7793-Correct-parent-of-SSI-0-9-clocks.patch7
-rw-r--r--patches.renesas/0276-ARM-dts-r8a7792-Correct-Z-clock.patch11
-rw-r--r--patches.renesas/0277-ARM-dts-r8a7794-Add-Z2-clock.patch7
-rw-r--r--patches.renesas/0278-ARM-dts-koelsch-Correct-clock-frequency-of-X2-DU-clo.patch7
-rw-r--r--patches.renesas/0279-ARM-dts-r7s72100-add-rtc-clock-to-device-tree.patch11
-rw-r--r--patches.renesas/0280-ARM-dts-r7s72100-add-RTC_X-clock-inputs-to-device-tr.patch7
-rw-r--r--patches.renesas/0281-ARM-dts-r7s72100-add-rtc-to-device-tree.patch7
-rw-r--r--patches.renesas/0282-ARM-dts-rskrza1-set-rtc_x1-clock-value.patch7
-rw-r--r--patches.renesas/0283-ARM-dts-rskrza1-add-rtc-DT-support.patch7
-rw-r--r--patches.renesas/0284-ARM-dts-genmai-Enable-rtc-and-rtc_x1-clock.patch7
-rw-r--r--patches.renesas/0285-ARM-dts-r8a7790-Drop-_clk-suffix-from-external-CAN-c.patch7
-rw-r--r--patches.renesas/0286-ARM-dts-r8a7791-Drop-_clk-suffix-from-external-CAN-c.patch7
-rw-r--r--series7
287 files changed, 10325 insertions, 4214 deletions
diff --git a/patches.renesas/0001-clocksource-em_sti-Split-clock-prepare-and-enable-st.patch b/patches.renesas/0001-clocksource-em_sti-Split-clock-prepare-and-enable-st.patch
index 4c0a8cbfd89d10..8a38ac5b977348 100644
--- a/patches.renesas/0001-clocksource-em_sti-Split-clock-prepare-and-enable-st.patch
+++ b/patches.renesas/0001-clocksource-em_sti-Split-clock-prepare-and-enable-st.patch
@@ -22,14 +22,12 @@ Signed-off-by: John Stultz <john.stultz@linaro.org>
(cherry picked from commit 3814ae092d36da04d5fbaf777c1564dc4ee68559)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clocksource/em_sti.c | 21 ++++++++++++++-------
+ drivers/clocksource/em_sti.c | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
-diff --git a/drivers/clocksource/em_sti.c b/drivers/clocksource/em_sti.c
-index 19bb1792d647..51a346c91a98 100644
--- a/drivers/clocksource/em_sti.c
+++ b/drivers/clocksource/em_sti.c
-@@ -78,7 +78,7 @@ static int em_sti_enable(struct em_sti_priv *p)
+@@ -78,7 +78,7 @@ static int em_sti_enable(struct em_sti_p
int ret;
/* enable clock */
@@ -38,7 +36,7 @@ index 19bb1792d647..51a346c91a98 100644
if (ret) {
dev_err(&p->pdev->dev, "cannot enable clock\n");
return ret;
-@@ -107,7 +107,7 @@ static void em_sti_disable(struct em_sti_priv *p)
+@@ -107,7 +107,7 @@ static void em_sti_disable(struct em_sti
em_sti_write(p, STI_INTENCLR, 3);
/* stop clock */
@@ -47,7 +45,7 @@ index 19bb1792d647..51a346c91a98 100644
}
static cycle_t em_sti_count(struct em_sti_priv *p)
-@@ -303,6 +303,7 @@ static int em_sti_probe(struct platform_device *pdev)
+@@ -303,6 +303,7 @@ static int em_sti_probe(struct platform_
struct em_sti_priv *p;
struct resource *res;
int irq;
@@ -55,7 +53,7 @@ index 19bb1792d647..51a346c91a98 100644
p = devm_kzalloc(&pdev->dev, sizeof(*p), GFP_KERNEL);
if (p == NULL)
-@@ -323,6 +324,13 @@ static int em_sti_probe(struct platform_device *pdev)
+@@ -323,6 +324,13 @@ static int em_sti_probe(struct platform_
if (IS_ERR(p->base))
return PTR_ERR(p->base);
@@ -69,7 +67,7 @@ index 19bb1792d647..51a346c91a98 100644
/* get hold of clock */
p->clk = devm_clk_get(&pdev->dev, "sclk");
if (IS_ERR(p->clk)) {
-@@ -330,11 +338,10 @@ static int em_sti_probe(struct platform_device *pdev)
+@@ -330,11 +338,10 @@ static int em_sti_probe(struct platform_
return PTR_ERR(p->clk);
}
@@ -85,6 +83,3 @@ index 19bb1792d647..51a346c91a98 100644
}
raw_spin_lock_init(&p->lock);
---
-2.13.3
-
diff --git a/patches.renesas/0002-clocksource-em_sti-Compute-rate-before-registration.patch b/patches.renesas/0002-clocksource-em_sti-Compute-rate-before-registration.patch
index 2f24ccd95e7b46..a2b32e20431284 100644
--- a/patches.renesas/0002-clocksource-em_sti-Compute-rate-before-registration.patch
+++ b/patches.renesas/0002-clocksource-em_sti-Compute-rate-before-registration.patch
@@ -30,14 +30,12 @@ Signed-off-by: John Stultz <john.stultz@linaro.org>
(cherry picked from commit 4e53aa2fde4124878fc6b2183d6e8ec46e12ceb0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clocksource/em_sti.c | 25 ++++++++++++-------------
+ drivers/clocksource/em_sti.c | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
-diff --git a/drivers/clocksource/em_sti.c b/drivers/clocksource/em_sti.c
-index 51a346c91a98..e1d465239042 100644
--- a/drivers/clocksource/em_sti.c
+++ b/drivers/clocksource/em_sti.c
-@@ -84,9 +84,6 @@ static int em_sti_enable(struct em_sti_priv *p)
+@@ -84,9 +84,6 @@ static int em_sti_enable(struct em_sti_p
return ret;
}
@@ -47,7 +45,7 @@ index 51a346c91a98..e1d465239042 100644
/* reset the counter */
em_sti_write(p, STI_SET_H, 0x40000000);
em_sti_write(p, STI_SET_L, 0x00000000);
-@@ -205,13 +202,9 @@ static cycle_t em_sti_clocksource_read(struct clocksource *cs)
+@@ -205,13 +202,9 @@ static cycle_t em_sti_clocksource_read(s
static int em_sti_clocksource_enable(struct clocksource *cs)
{
@@ -62,7 +60,7 @@ index 51a346c91a98..e1d465239042 100644
}
static void em_sti_clocksource_disable(struct clocksource *cs)
-@@ -240,8 +233,7 @@ static int em_sti_register_clocksource(struct em_sti_priv *p)
+@@ -240,8 +233,7 @@ static int em_sti_register_clocksource(s
dev_info(&p->pdev->dev, "used as clock source\n");
@@ -72,7 +70,7 @@ index 51a346c91a98..e1d465239042 100644
return 0;
}
-@@ -263,7 +255,6 @@ static int em_sti_clock_event_set_oneshot(struct clock_event_device *ced)
+@@ -263,7 +255,6 @@ static int em_sti_clock_event_set_onesho
dev_info(&p->pdev->dev, "used for oneshot clock events\n");
em_sti_start(p, USER_CLOCKEVENT);
@@ -80,7 +78,7 @@ index 51a346c91a98..e1d465239042 100644
return 0;
}
-@@ -294,8 +285,7 @@ static void em_sti_register_clockevent(struct em_sti_priv *p)
+@@ -294,8 +285,7 @@ static void em_sti_register_clockevent(s
dev_info(&p->pdev->dev, "used for clock events\n");
@@ -90,7 +88,7 @@ index 51a346c91a98..e1d465239042 100644
}
static int em_sti_probe(struct platform_device *pdev)
-@@ -344,6 +334,15 @@ static int em_sti_probe(struct platform_device *pdev)
+@@ -344,6 +334,15 @@ static int em_sti_probe(struct platform_
return ret;
}
@@ -106,6 +104,3 @@ index 51a346c91a98..e1d465239042 100644
raw_spin_lock_init(&p->lock);
em_sti_register_clockevent(p);
em_sti_register_clocksource(p);
---
-2.13.3
-
diff --git a/patches.renesas/0003-arm64-dts-r8a7796-Add-I2C-for-DVFS-device-node.patch b/patches.renesas/0003-arm64-dts-r8a7796-Add-I2C-for-DVFS-device-node.patch
index 638e73c47bef55..8f0bb317787221 100644
--- a/patches.renesas/0003-arm64-dts-r8a7796-Add-I2C-for-DVFS-device-node.patch
+++ b/patches.renesas/0003-arm64-dts-r8a7796-Add-I2C-for-DVFS-device-node.patch
@@ -12,11 +12,9 @@ Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 0fb1fd20043f619e444720062e61cdc40130c0c5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 14 ++++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index f7120cdedd0d..c95ad177b097 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -25,6 +25,7 @@
@@ -47,6 +45,3 @@ index f7120cdedd0d..c95ad177b097 100644
i2c0: i2c@e6500000 {
#address-cells = <1>;
#size-cells = <0>;
---
-2.13.3
-
diff --git a/patches.renesas/0004-arm64-dts-r8a7796-salvator-x-Add-I2C-for-DVFS-device.patch b/patches.renesas/0004-arm64-dts-r8a7796-salvator-x-Add-I2C-for-DVFS-device.patch
index d299391955a15b..7deb36fc524de7 100644
--- a/patches.renesas/0004-arm64-dts-r8a7796-salvator-x-Add-I2C-for-DVFS-device.patch
+++ b/patches.renesas/0004-arm64-dts-r8a7796-salvator-x-Add-I2C-for-DVFS-device.patch
@@ -14,11 +14,9 @@ Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit d8e62f0729bb404caa6ba42b65d5a1e4d370a6e3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts | 4 ++++
+ arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
-index c7f40f8f3169..61f4662db497 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
@@ -261,3 +261,7 @@
@@ -29,6 +27,3 @@ index c7f40f8f3169..61f4662db497 100644
+&i2c_dvfs {
+ status = "okay";
+};
---
-2.13.3
-
diff --git a/patches.renesas/0005-arm64-dts-r8a7795-Add-I2C-for-DVFS-core-to-dtsi.patch b/patches.renesas/0005-arm64-dts-r8a7795-Add-I2C-for-DVFS-core-to-dtsi.patch
index 8f026d90f323df..de5286baf060ae 100644
--- a/patches.renesas/0005-arm64-dts-r8a7795-Add-I2C-for-DVFS-core-to-dtsi.patch
+++ b/patches.renesas/0005-arm64-dts-r8a7795-Add-I2C-for-DVFS-core-to-dtsi.patch
@@ -14,11 +14,9 @@ Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit d7e0d64a46f97f67ecbc0194ce6a394f512109c5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 14 ++++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-index eac4f29aa5cd..fe266bb3d913 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -25,6 +25,7 @@
@@ -29,10 +27,11 @@ index eac4f29aa5cd..fe266bb3d913 100644
};
psci {
-@@ -793,6 +794,19 @@
+@@ -792,6 +793,19 @@
+ power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
status = "disabled";
};
-
++
+ i2c_dvfs: i2c@e60b0000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
@@ -45,10 +44,6 @@ index eac4f29aa5cd..fe266bb3d913 100644
+ power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+ status = "disabled";
+ };
-+
+
i2c0: i2c@e6500000 {
#address-cells = <1>;
- #size-cells = <0>;
---
-2.13.3
-
diff --git a/patches.renesas/0006-arm64-dts-r8a7795-salvator-x-Enable-I2C-for-DVFS-dev.patch b/patches.renesas/0006-arm64-dts-r8a7795-salvator-x-Enable-I2C-for-DVFS-dev.patch
index c345566efdafa2..01b2764426c46b 100644
--- a/patches.renesas/0006-arm64-dts-r8a7795-salvator-x-Enable-I2C-for-DVFS-dev.patch
+++ b/patches.renesas/0006-arm64-dts-r8a7795-salvator-x-Enable-I2C-for-DVFS-dev.patch
@@ -14,11 +14,9 @@ Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 006ced572a3b2247639ce06443aff00704888001)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 4 ++++
+ arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
-index 7a8986edcdc0..dc1177c76aa5 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -485,6 +485,10 @@
@@ -32,6 +30,3 @@ index 7a8986edcdc0..dc1177c76aa5 100644
&avb {
pinctrl-0 = <&avb_pins>;
pinctrl-names = "default";
---
-2.13.3
-
diff --git a/patches.renesas/0007-arm64-dts-h3ulcb-Update-memory-node-to-4-GiB-map.patch b/patches.renesas/0007-arm64-dts-h3ulcb-Update-memory-node-to-4-GiB-map.patch
index 35e9d290e3649c..245e3a94fe0b07 100644
--- a/patches.renesas/0007-arm64-dts-h3ulcb-Update-memory-node-to-4-GiB-map.patch
+++ b/patches.renesas/0007-arm64-dts-h3ulcb-Update-memory-node-to-4-GiB-map.patch
@@ -20,11 +20,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit a262d66224c4c34bc2bee16d4d37d460a738788c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 15 +++++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 15 +++++++++++++++
1 file changed, 15 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
-index c5f8f69a4f5f..9811534f296e 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -33,6 +33,21 @@
@@ -49,6 +47,3 @@ index c5f8f69a4f5f..9811534f296e 100644
leds {
compatible = "gpio-leds";
---
-2.13.3
-
diff --git a/patches.renesas/0008-arm64-dts-r8a7795-Use-rgmii-txid-phy-mode-for-Ethern.patch b/patches.renesas/0008-arm64-dts-r8a7795-Use-rgmii-txid-phy-mode-for-Ethern.patch
index c7bbbb405cd2b4..a6c7578892ca13 100644
--- a/patches.renesas/0008-arm64-dts-r8a7795-Use-rgmii-txid-phy-mode-for-Ethern.patch
+++ b/patches.renesas/0008-arm64-dts-r8a7795-Use-rgmii-txid-phy-mode-for-Ethern.patch
@@ -35,11 +35,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit dda3887907d743385f2599fa18c765bd295ae2da)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 +-
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-index fe266bb3d913..382a8987bca9 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -564,7 +564,7 @@
@@ -51,6 +49,3 @@ index fe266bb3d913..382a8987bca9 100644
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
---
-2.13.3
-
diff --git a/patches.renesas/0009-arm64-dts-r8a7795-salvator-x-Fix-EthernetAVB-PHY-tim.patch b/patches.renesas/0009-arm64-dts-r8a7795-salvator-x-Fix-EthernetAVB-PHY-tim.patch
index a126d46e6ca070..dac9ae5723fcb5 100644
--- a/patches.renesas/0009-arm64-dts-r8a7795-salvator-x-Fix-EthernetAVB-PHY-tim.patch
+++ b/patches.renesas/0009-arm64-dts-r8a7795-salvator-x-Fix-EthernetAVB-PHY-tim.patch
@@ -16,11 +16,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 0e45da1c6ea6b18616d95c697ecd6234bc504ef6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 13 +------------
+ arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
-index dc1177c76aa5..5158ba3f9ce3 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -497,18 +497,7 @@
@@ -43,6 +41,3 @@ index dc1177c76aa5..5158ba3f9ce3 100644
reg = <0>;
interrupt-parent = <&gpio2>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
---
-2.13.3
-
diff --git a/patches.renesas/0010-arm64-dts-h3ulcb-Fix-EthernetAVB-PHY-timing.patch b/patches.renesas/0010-arm64-dts-h3ulcb-Fix-EthernetAVB-PHY-timing.patch
index a0c5eed09c9946..a64a6214be4999 100644
--- a/patches.renesas/0010-arm64-dts-h3ulcb-Fix-EthernetAVB-PHY-timing.patch
+++ b/patches.renesas/0010-arm64-dts-h3ulcb-Fix-EthernetAVB-PHY-timing.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 5b9fd1962f605a31842371471e559407c293131f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 13 +------------
+ arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
-index 9811534f296e..69c623faf80c 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -354,18 +354,7 @@
@@ -41,6 +39,3 @@ index 9811534f296e..69c623faf80c 100644
reg = <0>;
interrupt-parent = <&gpio2>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
---
-2.13.3
-
diff --git a/patches.renesas/0011-arm64-dts-r8a7796-Use-rgmii-txid-phy-mode-for-Ethern.patch b/patches.renesas/0011-arm64-dts-r8a7796-Use-rgmii-txid-phy-mode-for-Ethern.patch
index ecfe3e3e912a3d..3199034468e3c3 100644
--- a/patches.renesas/0011-arm64-dts-r8a7796-Use-rgmii-txid-phy-mode-for-Ethern.patch
+++ b/patches.renesas/0011-arm64-dts-r8a7796-Use-rgmii-txid-phy-mode-for-Ethern.patch
@@ -35,11 +35,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 325f39010b431f6a1ece74d69f10dcca2329c08d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 2 +-
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index c95ad177b097..1c1c1eae9cba 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -483,7 +483,7 @@
@@ -51,6 +49,3 @@ index c95ad177b097..1c1c1eae9cba 100644
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
---
-2.13.3
-
diff --git a/patches.renesas/0012-arm64-dts-r8a7796-salvator-x-Fix-EthernetAVB-PHY-tim.patch b/patches.renesas/0012-arm64-dts-r8a7796-salvator-x-Fix-EthernetAVB-PHY-tim.patch
index 0c11d655d16b05..b2a721ec74511d 100644
--- a/patches.renesas/0012-arm64-dts-r8a7796-salvator-x-Fix-EthernetAVB-PHY-tim.patch
+++ b/patches.renesas/0012-arm64-dts-r8a7796-salvator-x-Fix-EthernetAVB-PHY-tim.patch
@@ -16,11 +16,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ef3f08c83fd186ab4bbad6a6250c5a347fbf6551)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts | 13 +------------
+ arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
-index 61f4662db497..93ed23ab71bb 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
@@ -172,18 +172,7 @@
@@ -43,6 +41,3 @@ index 61f4662db497..93ed23ab71bb 100644
reg = <0>;
interrupt-parent = <&gpio2>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
---
-2.13.3
-
diff --git a/patches.renesas/0013-arm64-defconfig-Enable-SH-Mobile-I2C-controller.patch b/patches.renesas/0013-arm64-defconfig-Enable-SH-Mobile-I2C-controller.patch
index c85ecbc2cb505d..686ec712915818 100644
--- a/patches.renesas/0013-arm64-defconfig-Enable-SH-Mobile-I2C-controller.patch
+++ b/patches.renesas/0013-arm64-defconfig-Enable-SH-Mobile-I2C-controller.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
arch/arm64/configs/defconfig
---
- arch/arm64/configs/defconfig | 1 +
+ arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 8447beac5570..908fcffb4233 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -234,6 +234,7 @@ CONFIG_I2C_IMX=y
@@ -29,6 +27,3 @@ index 8447beac5570..908fcffb4233 100644
CONFIG_I2C_TEGRA=y
CONFIG_I2C_UNIPHIER_F=y
CONFIG_I2C_RCAR=y
---
-2.13.3
-
diff --git a/patches.renesas/0014-ARM64-defconfig-enable-the-leds-pwm-driver-and-defau.patch b/patches.renesas/0014-ARM64-defconfig-enable-the-leds-pwm-driver-and-defau.patch
index 08b6cb784ba926..0c7be8c19941f3 100644
--- a/patches.renesas/0014-ARM64-defconfig-enable-the-leds-pwm-driver-and-defau.patch
+++ b/patches.renesas/0014-ARM64-defconfig-enable-the-leds-pwm-driver-and-defau.patch
@@ -15,11 +15,9 @@ Signed-off-by: Kevin Hilman <khilman@baylibre.com>
(cherry picked from commit 95fbe8b08b2d420e4f5a77701f165d6b23827862)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/configs/defconfig | 2 ++
+ arch/arm64/configs/defconfig | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 908fcffb4233..c11c1473dad0 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -370,8 +370,10 @@ CONFIG_MMC_SUNXI=y
@@ -33,6 +31,3 @@ index 908fcffb4233..c11c1473dad0 100644
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_RTC_CLASS=y
---
-2.13.3
-
diff --git a/patches.renesas/0015-arm64-dts-r8a7796-dtsi-Add-all-HSCIF-nodes.patch b/patches.renesas/0015-arm64-dts-r8a7796-dtsi-Add-all-HSCIF-nodes.patch
index 6a255dcf75e6e9..075c5c56ef2292 100644
--- a/patches.renesas/0015-arm64-dts-r8a7796-dtsi-Add-all-HSCIF-nodes.patch
+++ b/patches.renesas/0015-arm64-dts-r8a7796-dtsi-Add-all-HSCIF-nodes.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 68cd161072605c276d4e6c8cd06fbe7b00a0f680)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 70 ++++++++++++++++++++++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 70 +++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index 1c1c1eae9cba..714fd96b29eb 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -489,6 +489,76 @@
@@ -98,6 +96,3 @@ index 1c1c1eae9cba..714fd96b29eb 100644
scif2: serial@e6e88000 {
compatible = "renesas,scif-r8a7796",
"renesas,rcar-gen3-scif", "renesas,scif";
---
-2.13.3
-
diff --git a/patches.renesas/0016-arm64-dts-r8a7796-Add-all-SCIF-nodes.patch b/patches.renesas/0016-arm64-dts-r8a7796-Add-all-SCIF-nodes.patch
index 8421946df65624..a4e49287a42b18 100644
--- a/patches.renesas/0016-arm64-dts-r8a7796-Add-all-SCIF-nodes.patch
+++ b/patches.renesas/0016-arm64-dts-r8a7796-Add-all-SCIF-nodes.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 19d76f3ec8fc6ff38f1c5ca534d75a957c8661ea)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 65 ++++++++++++++++++++++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 65 +++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index 714fd96b29eb..5fb93fc043c2 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -559,6 +559,32 @@
@@ -52,10 +50,14 @@ index 714fd96b29eb..5fb93fc043c2 100644
scif2: serial@e6e88000 {
compatible = "renesas,scif-r8a7796",
"renesas,rcar-gen3-scif", "renesas,scif";
-@@ -572,6 +598,45 @@
- status = "disabled";
- };
-
+@@ -568,6 +594,45 @@
+ <&cpg CPG_CORE R8A7796_CLK_S3D1>,
+ <&scif_clk>;
+ clock-names = "fck", "brg_int", "scif_clk";
++ power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
++ status = "disabled";
++ };
++
+ scif3: serial@e6c50000 {
+ compatible = "renesas,scif-r8a7796",
+ "renesas,rcar-gen3-scif", "renesas,scif";
@@ -91,13 +93,6 @@ index 714fd96b29eb..5fb93fc043c2 100644
+ <&cpg CPG_CORE R8A7796_CLK_S3D1>,
+ <&scif_clk>;
+ clock-names = "fck", "brg_int", "scif_clk";
-+ power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
-+ status = "disabled";
-+ };
-+
- msiof0: spi@e6e90000 {
- compatible = "renesas,msiof-r8a7796",
- "renesas,rcar-gen3-msiof";
---
-2.13.3
-
+ power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+ status = "disabled";
+ };
diff --git a/patches.renesas/0017-arm64-dts-r8a7796-Enable-SCIF-DMA.patch b/patches.renesas/0017-arm64-dts-r8a7796-Enable-SCIF-DMA.patch
index 9c6ef7863a4844..1f8d70cfe5cfd1 100644
--- a/patches.renesas/0017-arm64-dts-r8a7796-Enable-SCIF-DMA.patch
+++ b/patches.renesas/0017-arm64-dts-r8a7796-Enable-SCIF-DMA.patch
@@ -9,11 +9,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit dbcae5ea4bd27409291e3329c9106f37f0118590)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 13 +++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 13 +++++++++++++
1 file changed, 13 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index 5fb93fc043c2..951e351ddae1 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -568,6 +568,9 @@
@@ -64,6 +62,3 @@ index 5fb93fc043c2..951e351ddae1 100644
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
status = "disabled";
};
---
-2.13.3
-
diff --git a/patches.renesas/0018-arm64-dts-r8a7796-salvator-x-add-SCIF1-DEBUG1.patch b/patches.renesas/0018-arm64-dts-r8a7796-salvator-x-add-SCIF1-DEBUG1.patch
index c506f3fc2b1837..e953f53a13cfcc 100644
--- a/patches.renesas/0018-arm64-dts-r8a7796-salvator-x-add-SCIF1-DEBUG1.patch
+++ b/patches.renesas/0018-arm64-dts-r8a7796-salvator-x-add-SCIF1-DEBUG1.patch
@@ -11,11 +11,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d5566d251f5e839e36db8db8105d8f8f57e54768)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts | 14 ++++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts | 14 ++++++++++++++
1 file changed, 14 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
-index 93ed23ab71bb..74b8c653c9fe 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
@@ -18,6 +18,7 @@
@@ -53,6 +51,3 @@ index 93ed23ab71bb..74b8c653c9fe 100644
&scif2 {
pinctrl-0 = <&scif2_pins>;
pinctrl-names = "default";
---
-2.13.3
-
diff --git a/patches.renesas/0019-arm64-dts-r8a7796-Enable-HSCIF-DMA.patch b/patches.renesas/0019-arm64-dts-r8a7796-Enable-HSCIF-DMA.patch
index 54084b14b17599..0326b7f30a4be5 100644
--- a/patches.renesas/0019-arm64-dts-r8a7796-Enable-HSCIF-DMA.patch
+++ b/patches.renesas/0019-arm64-dts-r8a7796-Enable-HSCIF-DMA.patch
@@ -9,11 +9,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 6d50bb8935042c4b7747b57df064ff41295e4769)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 13 +++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 13 +++++++++++++
1 file changed, 13 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index 951e351ddae1..aa404ed9142e 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -499,6 +499,9 @@
@@ -64,6 +62,3 @@ index 951e351ddae1..aa404ed9142e 100644
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
status = "disabled";
};
---
-2.13.3
-
diff --git a/patches.renesas/0020-arm64-dts-r8a7795-Add-Cortex-A53-CPU-cores.patch b/patches.renesas/0020-arm64-dts-r8a7795-Add-Cortex-A53-CPU-cores.patch
index ac17d08be11074..93bc35106fc9a0 100644
--- a/patches.renesas/0020-arm64-dts-r8a7795-Add-Cortex-A53-CPU-cores.patch
+++ b/patches.renesas/0020-arm64-dts-r8a7795-Add-Cortex-A53-CPU-cores.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 799a75abdef348500bab14e873e7711afa426aaf)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 46 ++++++++++++++++++++++++++++----
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 46 +++++++++++++++++++++++++++----
1 file changed, 41 insertions(+), 5 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-index 382a8987bca9..61830697e33c 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -73,6 +73,42 @@
@@ -90,6 +88,3 @@ index 382a8987bca9..61830697e33c 100644
};
cpg: clock-controller@e6150000 {
---
-2.13.3
-
diff --git a/patches.renesas/0021-arm64-dts-r8a7795-Add-Cortex-A53-PMU-node.patch b/patches.renesas/0021-arm64-dts-r8a7795-Add-Cortex-A53-PMU-node.patch
index 87644d03079f9e..a34b6f5422ab4e 100644
--- a/patches.renesas/0021-arm64-dts-r8a7795-Add-Cortex-A53-PMU-node.patch
+++ b/patches.renesas/0021-arm64-dts-r8a7795-Add-Cortex-A53-PMU-node.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 9190748fd608dc3aa80edacab9e6818f2d6f71b6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 12 ++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-index 61830697e33c..3573872974e0 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -340,6 +340,18 @@
@@ -39,6 +37,3 @@ index 61830697e33c..3573872974e0 100644
timer {
compatible = "arm,armv8-timer";
interrupts = <GIC_PPI 13
---
-2.13.3
-
diff --git a/patches.renesas/0022-arm64-dts-r8a7795-Upgrade-to-PSCI-v1.0-to-support-Su.patch b/patches.renesas/0022-arm64-dts-r8a7795-Upgrade-to-PSCI-v1.0-to-support-Su.patch
index 57df4949e2e16b..12d2c7b07b7b8b 100644
--- a/patches.renesas/0022-arm64-dts-r8a7795-Upgrade-to-PSCI-v1.0-to-support-Su.patch
+++ b/patches.renesas/0022-arm64-dts-r8a7795-Upgrade-to-PSCI-v1.0-to-support-Su.patch
@@ -24,11 +24,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 71585040b77e7b388708dc35bdc49f106fa55a4a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 +-
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-index 3573872974e0..c1e00a3e7c45 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -29,7 +29,7 @@
@@ -40,6 +38,3 @@ index 3573872974e0..c1e00a3e7c45 100644
method = "smc";
};
---
-2.13.3
-
diff --git a/patches.renesas/0023-arm64-dts-r8a7796-Upgrade-to-PSCI-v1.0-to-support-Su.patch b/patches.renesas/0023-arm64-dts-r8a7796-Upgrade-to-PSCI-v1.0-to-support-Su.patch
index d391a066842569..714ea74b407f81 100644
--- a/patches.renesas/0023-arm64-dts-r8a7796-Upgrade-to-PSCI-v1.0-to-support-Su.patch
+++ b/patches.renesas/0023-arm64-dts-r8a7796-Upgrade-to-PSCI-v1.0-to-support-Su.patch
@@ -24,11 +24,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b3f26910c0daafded536cf5edceab2ab469252cb)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 2 +-
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index aa404ed9142e..dbf82bc6ba64 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -29,7 +29,7 @@
@@ -40,6 +38,3 @@ index aa404ed9142e..dbf82bc6ba64 100644
method = "smc";
};
---
-2.13.3
-
diff --git a/patches.renesas/0024-arm64-dts-r8a7795-Remove-unit-addresses-and-regs-fro.patch b/patches.renesas/0024-arm64-dts-r8a7795-Remove-unit-addresses-and-regs-fro.patch
index 675724020971a4..5826a1d8e72c97 100644
--- a/patches.renesas/0024-arm64-dts-r8a7795-Remove-unit-addresses-and-regs-fro.patch
+++ b/patches.renesas/0024-arm64-dts-r8a7795-Remove-unit-addresses-and-regs-fro.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d165856de103a6d317a9c9a5782eacd5dc90a9dc)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 6 ++----
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-index c1e00a3e7c45..14772bc02125 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -109,17 +109,15 @@
@@ -41,6 +39,3 @@ index c1e00a3e7c45..14772bc02125 100644
power-domains = <&sysc R8A7795_PD_CA53_SCU>;
cache-unified;
cache-level = <2>;
---
-2.13.3
-
diff --git a/patches.renesas/0025-arm64-dts-r8a7796-Remove-unit-address-and-reg-from-i.patch b/patches.renesas/0025-arm64-dts-r8a7796-Remove-unit-address-and-reg-from-i.patch
index 5822acf42e1859..cb7c31205901a7 100644
--- a/patches.renesas/0025-arm64-dts-r8a7796-Remove-unit-address-and-reg-from-i.patch
+++ b/patches.renesas/0025-arm64-dts-r8a7796-Remove-unit-address-and-reg-from-i.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 57a4fd420c6e8a04b6a87ff24d34250cd7c48f15)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 3 +--
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index dbf82bc6ba64..27f7dd9bd988 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -47,9 +47,8 @@
@@ -32,6 +30,3 @@ index dbf82bc6ba64..27f7dd9bd988 100644
power-domains = <&sysc R8A7796_PD_CA57_SCU>;
cache-unified;
cache-level = <2>;
---
-2.13.3
-
diff --git a/patches.renesas/0026-arm64-dts-r8a7795-salvator-x-Set-drive-strength-for-.patch b/patches.renesas/0026-arm64-dts-r8a7795-salvator-x-Set-drive-strength-for-.patch
index 7e70ff79f81101..cc5e2a552e520a 100644
--- a/patches.renesas/0026-arm64-dts-r8a7795-salvator-x-Set-drive-strength-for-.patch
+++ b/patches.renesas/0026-arm64-dts-r8a7795-salvator-x-Set-drive-strength-for-.patch
@@ -19,11 +19,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 7d73a4da2681dc5d04e8ed9f4aa96c1deed2dbc5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 18 ++++++++++++++++--
+ arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
-index 5158ba3f9ce3..277ab8484e0c 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -247,8 +247,22 @@
@@ -51,6 +49,3 @@ index 5158ba3f9ce3..277ab8484e0c 100644
};
du_pins: du {
---
-2.13.3
-
diff --git a/patches.renesas/0027-arm64-dts-r8a7795-Tidyup-Audio-DMAC-channel-for-DVC.patch b/patches.renesas/0027-arm64-dts-r8a7795-Tidyup-Audio-DMAC-channel-for-DVC.patch
index e5b05f6d069a05..15bf0078c4cf0b 100644
--- a/patches.renesas/0027-arm64-dts-r8a7795-Tidyup-Audio-DMAC-channel-for-DVC.patch
+++ b/patches.renesas/0027-arm64-dts-r8a7795-Tidyup-Audio-DMAC-channel-for-DVC.patch
@@ -34,11 +34,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b5a8ffad0eb0c1e5e601253edac163b2da9e855d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 4 ++--
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-index 14772bc02125..55c09f1b89c9 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -1075,11 +1075,11 @@
@@ -55,6 +53,3 @@ index 14772bc02125..55c09f1b89c9 100644
dma-names = "tx";
};
};
---
-2.13.3
-
diff --git a/patches.renesas/0028-arm64-defconfig-enable-MVNETA.patch b/patches.renesas/0028-arm64-defconfig-enable-MVNETA.patch
index b74e5915b1923c..4d1ce80b87998b 100644
--- a/patches.renesas/0028-arm64-defconfig-enable-MVNETA.patch
+++ b/patches.renesas/0028-arm64-defconfig-enable-MVNETA.patch
@@ -10,11 +10,9 @@ Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
(cherry picked from commit d7ec74f412f5e5c6b964a4b635b1e3f1d72a7b34)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/configs/defconfig | 1 +
+ arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index c11c1473dad0..8394c2871d8e 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -177,6 +177,7 @@ CONFIG_HNS_ENET=y
@@ -25,6 +23,3 @@ index c11c1473dad0..8394c2871d8e 100644
CONFIG_SKY2=y
CONFIG_RAVB=y
CONFIG_SMC91X=y
---
-2.13.3
-
diff --git a/patches.renesas/0029-arm64-defconfig-enable-I2C_PXA.patch b/patches.renesas/0029-arm64-defconfig-enable-I2C_PXA.patch
index 0cd3950439adc9..8b39ccbd46c1b6 100644
--- a/patches.renesas/0029-arm64-defconfig-enable-I2C_PXA.patch
+++ b/patches.renesas/0029-arm64-defconfig-enable-I2C_PXA.patch
@@ -10,11 +10,9 @@ Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
(cherry picked from commit efbd24646abc044f70afc53bd331c7b520f499fd)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/configs/defconfig | 1 +
+ arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 8394c2871d8e..4c3b6235bf3d 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -234,6 +234,7 @@ CONFIG_I2C_DESIGNWARE_PLATFORM=y
@@ -25,6 +23,3 @@ index 8394c2871d8e..4c3b6235bf3d 100644
CONFIG_I2C_QUP=y
CONFIG_I2C_SH_MOBILE=y
CONFIG_I2C_TEGRA=y
---
-2.13.3
-
diff --git a/patches.renesas/0030-arm64-dts-r8a7796-Add-Cortex-A57-CPU-cores.patch b/patches.renesas/0030-arm64-dts-r8a7796-Add-Cortex-A57-CPU-cores.patch
index 2c0ae54b385b93..aee2fb7568a696 100644
--- a/patches.renesas/0030-arm64-dts-r8a7796-Add-Cortex-A57-CPU-cores.patch
+++ b/patches.renesas/0030-arm64-dts-r8a7796-Add-Cortex-A57-CPU-cores.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 7328be4a03b10c19e49a564f4c2e3a9ebcf34ca7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 20 ++++++++++++++------
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index 27f7dd9bd988..d2a2110fc7fc 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -37,7 +37,6 @@
@@ -72,6 +70,3 @@ index 27f7dd9bd988..d2a2110fc7fc 100644
};
wdt0: watchdog@e6020000 {
---
-2.13.3
-
diff --git a/patches.renesas/0031-arm64-dts-r8a7796-Add-Cortex-A57-PMU-node.patch b/patches.renesas/0031-arm64-dts-r8a7796-Add-Cortex-A57-PMU-node.patch
index 46a7dedb301797..db8f4b39de7c92 100644
--- a/patches.renesas/0031-arm64-dts-r8a7796-Add-Cortex-A57-PMU-node.patch
+++ b/patches.renesas/0031-arm64-dts-r8a7796-Add-Cortex-A57-PMU-node.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 9fccf4d6103eeb5db88c1ae026d61b87f722414a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 8 ++++++++
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index d2a2110fc7fc..454e1292f910 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -252,6 +252,14 @@
@@ -34,6 +32,3 @@ index d2a2110fc7fc..454e1292f910 100644
cpg: clock-controller@e6150000 {
compatible = "renesas,r8a7796-cpg-mssr";
reg = <0 0xe6150000 0 0x1000>;
---
-2.13.3
-
diff --git a/patches.renesas/0032-arm64-dts-r8a7796-Add-CA53-L2-cache-controller-node.patch b/patches.renesas/0032-arm64-dts-r8a7796-Add-CA53-L2-cache-controller-node.patch
index 2b2d2c2daaf590..da2d8bbe3e5bec 100644
--- a/patches.renesas/0032-arm64-dts-r8a7796-Add-CA53-L2-cache-controller-node.patch
+++ b/patches.renesas/0032-arm64-dts-r8a7796-Add-CA53-L2-cache-controller-node.patch
@@ -16,11 +16,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit a681e6d63285b879bb9bab0bd79e2021e6dcbda1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 7 +++++++
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index 454e1292f910..b951f5ffe9e0 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -61,6 +61,13 @@
@@ -37,6 +35,3 @@ index 454e1292f910..b951f5ffe9e0 100644
};
extal_clk: extal {
---
-2.13.3
-
diff --git a/patches.renesas/0033-arm64-dts-r8a7796-Add-Cortex-A53-CPU-cores.patch b/patches.renesas/0033-arm64-dts-r8a7796-Add-Cortex-A53-CPU-cores.patch
index 4a60596dd3a7e6..61c304d7920097 100644
--- a/patches.renesas/0033-arm64-dts-r8a7796-Add-Cortex-A53-CPU-cores.patch
+++ b/patches.renesas/0033-arm64-dts-r8a7796-Add-Cortex-A53-CPU-cores.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b4dc3b4b1a65fec829ee8704c7647c06a8038108)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 46 ++++++++++++++++++++++++++++----
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 46 +++++++++++++++++++++++++++----
1 file changed, 41 insertions(+), 5 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index b951f5ffe9e0..b32a180009dd 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -55,6 +55,42 @@
@@ -90,6 +88,3 @@ index b951f5ffe9e0..b32a180009dd 100644
};
wdt0: watchdog@e6020000 {
---
-2.13.3
-
diff --git a/patches.renesas/0034-arm64-dts-r8a7796-Add-Cortex-A53-PMU-node.patch b/patches.renesas/0034-arm64-dts-r8a7796-Add-Cortex-A53-PMU-node.patch
index 15647f86af1663..68dc85b4b4a83d 100644
--- a/patches.renesas/0034-arm64-dts-r8a7796-Add-Cortex-A53-PMU-node.patch
+++ b/patches.renesas/0034-arm64-dts-r8a7796-Add-Cortex-A53-PMU-node.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ccc499330dbcaa8f6065bd1b10a64ca09fa96c3e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 12 ++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index b32a180009dd..a90abf14dc4e 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -303,6 +303,18 @@
@@ -39,6 +37,3 @@ index b32a180009dd..a90abf14dc4e 100644
cpg: clock-controller@e6150000 {
compatible = "renesas,r8a7796-cpg-mssr";
reg = <0 0xe6150000 0 0x1000>;
---
-2.13.3
-
diff --git a/patches.renesas/0035-arm64-dts-h3ulcb-Drop-superfluous-status-update-for-.patch b/patches.renesas/0035-arm64-dts-h3ulcb-Drop-superfluous-status-update-for-.patch
index ce6a1864013aa4..da72a98ab44eed 100644
--- a/patches.renesas/0035-arm64-dts-h3ulcb-Drop-superfluous-status-update-for-.patch
+++ b/patches.renesas/0035-arm64-dts-h3ulcb-Drop-superfluous-status-update-for-.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit c9060f50d82fc9b548571a9adea9ebff22b3347b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 1 -
+ arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
-index 69c623faf80c..ab352159de65 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -228,7 +228,6 @@
@@ -27,6 +25,3 @@ index 69c623faf80c..ab352159de65 100644
};
&i2c2 {
---
-2.13.3
-
diff --git a/patches.renesas/0036-arm64-dts-r8a7795-salvator-x-Drop-superfluous-status.patch b/patches.renesas/0036-arm64-dts-r8a7795-salvator-x-Drop-superfluous-status.patch
index 4a26fa348ab5fc..e6f927ffa04bd5 100644
--- a/patches.renesas/0036-arm64-dts-r8a7795-salvator-x-Drop-superfluous-status.patch
+++ b/patches.renesas/0036-arm64-dts-r8a7795-salvator-x-Drop-superfluous-status.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 971939d1da07c7b55d35aca31288cce297731c71)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 2 --
+ arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 2 --
1 file changed, 2 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
-index 277ab8484e0c..f25241921067 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -362,7 +362,6 @@
@@ -35,6 +33,3 @@ index 277ab8484e0c..f25241921067 100644
};
&pciec0 {
---
-2.13.3
-
diff --git a/patches.renesas/0037-arm64-dts-m3ulcb-Drop-superfluous-status-update-for-.patch b/patches.renesas/0037-arm64-dts-m3ulcb-Drop-superfluous-status-update-for-.patch
index d0646921d6e3b3..3eb0876ef24872 100644
--- a/patches.renesas/0037-arm64-dts-m3ulcb-Drop-superfluous-status-update-for-.patch
+++ b/patches.renesas/0037-arm64-dts-m3ulcb-Drop-superfluous-status-update-for-.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit cb4de4ece41a55ba125e6e8d1fa727457132dc41)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 1 -
+ arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
-index c3f064ac2cb4..372b2a944716 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -180,7 +180,6 @@
@@ -27,6 +25,3 @@ index c3f064ac2cb4..372b2a944716 100644
};
&wdt0 {
---
-2.13.3
-
diff --git a/patches.renesas/0038-arm64-dts-r8a7796-salvator-x-Drop-superfluous-status.patch b/patches.renesas/0038-arm64-dts-r8a7796-salvator-x-Drop-superfluous-status.patch
index 7ada2da1b30bf4..f24170512f1b6f 100644
--- a/patches.renesas/0038-arm64-dts-r8a7796-salvator-x-Drop-superfluous-status.patch
+++ b/patches.renesas/0038-arm64-dts-r8a7796-salvator-x-Drop-superfluous-status.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 3cbe33367d4fd480a92fbc131a96fa925be9e95d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts | 1 -
+ arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
-index 74b8c653c9fe..c9f59b6ce33f 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
@@ -250,7 +250,6 @@
@@ -27,6 +25,3 @@ index 74b8c653c9fe..c9f59b6ce33f 100644
};
&i2c2 {
---
-2.13.3
-
diff --git a/patches.renesas/0039-arm64-set-CONFIG_MMC_BCM2835-y-in-defconfig.patch b/patches.renesas/0039-arm64-set-CONFIG_MMC_BCM2835-y-in-defconfig.patch
index f1ed15a5708de7..eef3f0a53e2791 100644
--- a/patches.renesas/0039-arm64-set-CONFIG_MMC_BCM2835-y-in-defconfig.patch
+++ b/patches.renesas/0039-arm64-set-CONFIG_MMC_BCM2835-y-in-defconfig.patch
@@ -17,11 +17,9 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 3c9d36192802d60fca73c85c7096221371c36be7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/configs/defconfig | 1 +
+ arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 4c3b6235bf3d..a174a015b96e 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -369,6 +369,7 @@ CONFIG_MMC_DW=y
@@ -32,6 +30,3 @@ index 4c3b6235bf3d..a174a015b96e 100644
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
---
-2.13.3
-
diff --git a/patches.renesas/0040-arm64-dts-r8a7795-Correct-SATA-device-size-to-2MiB.patch b/patches.renesas/0040-arm64-dts-r8a7795-Correct-SATA-device-size-to-2MiB.patch
index 1834c0c802fb59..11ee4d76ffbed1 100644
--- a/patches.renesas/0040-arm64-dts-r8a7795-Correct-SATA-device-size-to-2MiB.patch
+++ b/patches.renesas/0040-arm64-dts-r8a7795-Correct-SATA-device-size-to-2MiB.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit e9f0089b2d8a3d450b8ec02eccfb92b950110fbe)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 +-
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-index 55c09f1b89c9..e58175084b57 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -1209,7 +1209,7 @@
@@ -28,6 +26,3 @@ index 55c09f1b89c9..e58175084b57 100644
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 815>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
---
-2.13.3
-
diff --git a/patches.renesas/0041-arm64-dts-r8a7795-Add-reset-control-properties.patch b/patches.renesas/0041-arm64-dts-r8a7795-Add-reset-control-properties.patch
index 6c4445b3d3435f..acb1cbd73024e1 100644
--- a/patches.renesas/0041-arm64-dts-r8a7795-Add-reset-control-properties.patch
+++ b/patches.renesas/0041-arm64-dts-r8a7795-Add-reset-control-properties.patch
@@ -16,11 +16,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit dcccc13210eff0e5be2b36548198952c5683f3db)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 93 ++++++++++++++++++++++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 93 +++++++++++++++++++++++++++++++
1 file changed, 93 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-index e58175084b57..e99d6443b3e4 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -204,6 +204,7 @@
@@ -767,6 +765,3 @@ index e58175084b57..e99d6443b3e4 100644
#thermal-sensor-cells = <1>;
status = "okay";
};
---
-2.13.3
-
diff --git a/patches.renesas/0042-arm64-dts-r8a7796-Add-reset-control-properties.patch b/patches.renesas/0042-arm64-dts-r8a7796-Add-reset-control-properties.patch
index 8a964e56f2f456..7972fd2ee88dec 100644
--- a/patches.renesas/0042-arm64-dts-r8a7796-Add-reset-control-properties.patch
+++ b/patches.renesas/0042-arm64-dts-r8a7796-Add-reset-control-properties.patch
@@ -16,11 +16,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit bec0948e810fffce38b9b886b0283a44eb025043)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 46 ++++++++++++++++++++++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 46 +++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index a90abf14dc4e..2ec1ed5f4991 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -155,6 +155,7 @@
@@ -391,6 +389,3 @@ index a90abf14dc4e..2ec1ed5f4991 100644
#thermal-sensor-cells = <1>;
status = "okay";
};
---
-2.13.3
-
diff --git a/patches.renesas/0043-arm64-defconfig-Enable-video-DRM-and-LPASS-drivers-f.patch b/patches.renesas/0043-arm64-defconfig-Enable-video-DRM-and-LPASS-drivers-f.patch
index 436d2b7338bf34..2d05e1a53450e3 100644
--- a/patches.renesas/0043-arm64-defconfig-Enable-video-DRM-and-LPASS-drivers-f.patch
+++ b/patches.renesas/0043-arm64-defconfig-Enable-video-DRM-and-LPASS-drivers-f.patch
@@ -15,11 +15,9 @@ Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
(cherry picked from commit 0edf17984f251e633465e028a0115d57b1b7eb88)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/configs/defconfig | 11 +++++++++++
+ arch/arm64/configs/defconfig | 11 +++++++++++
1 file changed, 11 insertions(+)
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index a174a015b96e..55af8c6f3404 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -279,6 +279,7 @@ CONFIG_RENESAS_WDT=y
@@ -51,6 +49,3 @@ index a174a015b96e..55af8c6f3404 100644
CONFIG_DRM_RCAR_DU=m
CONFIG_DRM_RCAR_HDMI=y
CONFIG_DRM_RCAR_LVDS=y
---
-2.13.3
-
diff --git a/patches.renesas/0044-arm64-defconfig-enable-MVPP2.patch b/patches.renesas/0044-arm64-defconfig-enable-MVPP2.patch
index 2d7dcb60d0fe83..55201f369db07f 100644
--- a/patches.renesas/0044-arm64-defconfig-enable-MVPP2.patch
+++ b/patches.renesas/0044-arm64-defconfig-enable-MVPP2.patch
@@ -11,11 +11,9 @@ Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
(cherry picked from commit 66e56302842e9971426bd7e504c4db4f88cbb037)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/configs/defconfig | 1 +
+ arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 55af8c6f3404..8b5d5f3131d3 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -177,6 +177,7 @@ CONFIG_HNS_ENET=y
@@ -26,6 +24,3 @@ index 55af8c6f3404..8b5d5f3131d3 100644
CONFIG_MVNETA=y
CONFIG_SKY2=y
CONFIG_RAVB=y
---
-2.13.3
-
diff --git a/patches.renesas/0045-clk-renesas-Add-r8a7795-ES2.0-CPG-Core-Clock-Definit.patch b/patches.renesas/0045-clk-renesas-Add-r8a7795-ES2.0-CPG-Core-Clock-Definit.patch
index c106d29d72acc8..053c3eca690a72 100644
--- a/patches.renesas/0045-clk-renesas-Add-r8a7795-ES2.0-CPG-Core-Clock-Definit.patch
+++ b/patches.renesas/0045-clk-renesas-Add-r8a7795-ES2.0-CPG-Core-Clock-Definit.patch
@@ -12,11 +12,9 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 89f1b1c614253d7ea57543f769d93fced99d4d05)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- include/dt-bindings/clock/r8a7795-cpg-mssr.h | 7 +++++++
+ include/dt-bindings/clock/r8a7795-cpg-mssr.h | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/include/dt-bindings/clock/r8a7795-cpg-mssr.h b/include/dt-bindings/clock/r8a7795-cpg-mssr.h
-index e864aae0a256..f047eaf261f3 100644
--- a/include/dt-bindings/clock/r8a7795-cpg-mssr.h
+++ b/include/dt-bindings/clock/r8a7795-cpg-mssr.h
@@ -60,4 +60,11 @@
@@ -31,6 +29,3 @@ index e864aae0a256..f047eaf261f3 100644
+#define R8A7795_CLK_S0D12 51
+
#endif /* __DT_BINDINGS_CLOCK_R8A7795_CPG_MSSR_H__ */
---
-2.13.3
-
diff --git a/patches.renesas/0046-arm64-kdump-enable-kdump-in-defconfig.patch b/patches.renesas/0046-arm64-kdump-enable-kdump-in-defconfig.patch
index 003d29bc529152..7203177f4903af 100644
--- a/patches.renesas/0046-arm64-kdump-enable-kdump-in-defconfig.patch
+++ b/patches.renesas/0046-arm64-kdump-enable-kdump-in-defconfig.patch
@@ -11,11 +11,9 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 3f5c1e1e761981b41d0be22f9aadfc7458fcc786)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/configs/defconfig | 1 +
+ arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 8b5d5f3131d3..92041816d78f 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -78,6 +78,7 @@ CONFIG_CMA=y
@@ -26,6 +24,3 @@ index 8b5d5f3131d3..92041816d78f 100644
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_COMPAT=y
CONFIG_CPU_IDLE=y
---
-2.13.3
-
diff --git a/patches.renesas/0047-arm64-dts-r8a7795-salvator-x-Drop-_clk-suffix-from-X.patch b/patches.renesas/0047-arm64-dts-r8a7795-salvator-x-Drop-_clk-suffix-from-X.patch
index 873b839ea59fe7..528eaaebb89bfe 100644
--- a/patches.renesas/0047-arm64-dts-r8a7795-salvator-x-Drop-_clk-suffix-from-X.patch
+++ b/patches.renesas/0047-arm64-dts-r8a7795-salvator-x-Drop-_clk-suffix-from-X.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 6922bd71adab0a7fe8ffbdc3e72a46431fa29656)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 2 +-
+ arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
-index f25241921067..639aa085d996 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -56,7 +56,7 @@
@@ -29,6 +27,3 @@ index f25241921067..639aa085d996 100644
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24576000>;
---
-2.13.3
-
diff --git a/patches.renesas/0048-arm64-defconfig-enable-the-Safexcel-crypto-engine-as.patch b/patches.renesas/0048-arm64-defconfig-enable-the-Safexcel-crypto-engine-as.patch
index 09cbbf88771337..f46c4d6c1f0c00 100644
--- a/patches.renesas/0048-arm64-defconfig-enable-the-Safexcel-crypto-engine-as.patch
+++ b/patches.renesas/0048-arm64-defconfig-enable-the-Safexcel-crypto-engine-as.patch
@@ -13,11 +13,9 @@ Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
(cherry picked from commit 10ebb57ffcbf062ff224585fefa274e703fc363d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm64/configs/defconfig | 1 +
+ arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 92041816d78f..8fe9569d8145 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -487,6 +487,7 @@ CONFIG_MEMTEST=y
@@ -28,6 +26,3 @@ index 92041816d78f..8fe9569d8145 100644
CONFIG_ARM64_CRYPTO=y
CONFIG_CRYPTO_SHA1_ARM64_CE=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
---
-2.13.3
-
diff --git a/patches.renesas/0049-i2c-rcar-fix-resume-by-always-initializing-registers.patch b/patches.renesas/0049-i2c-rcar-fix-resume-by-always-initializing-registers.patch
index a03d63f47b3568..ab3f370047d7a6 100644
--- a/patches.renesas/0049-i2c-rcar-fix-resume-by-always-initializing-registers.patch
+++ b/patches.renesas/0049-i2c-rcar-fix-resume-by-always-initializing-registers.patch
@@ -15,14 +15,12 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit ae481cc139658e89eb3ea671dd00b67bd87f01a3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/i2c/busses/i2c-rcar.c | 4 ++--
+ drivers/i2c/busses/i2c-rcar.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
-index 26f2ff22e97e..66b84bf51bbf 100644
--- a/drivers/i2c/busses/i2c-rcar.c
+++ b/drivers/i2c/busses/i2c-rcar.c
-@@ -700,6 +700,8 @@ static int rcar_i2c_master_xfer(struct i2c_adapter *adap,
+@@ -700,6 +700,8 @@ static int rcar_i2c_master_xfer(struct i
pm_runtime_get_sync(dev);
@@ -31,7 +29,7 @@ index 26f2ff22e97e..66b84bf51bbf 100644
ret = rcar_i2c_bus_barrier(priv);
if (ret < 0)
goto out;
-@@ -860,8 +862,6 @@ static int rcar_i2c_probe(struct platform_device *pdev)
+@@ -860,8 +862,6 @@ static int rcar_i2c_probe(struct platfor
if (ret < 0)
goto out_pm_put;
@@ -40,6 +38,3 @@ index 26f2ff22e97e..66b84bf51bbf 100644
/* Don't suspend when multi-master to keep arbitration working */
if (of_property_read_bool(dev->of_node, "multi-master"))
priv->flags |= ID_P_PM_BLOCKED;
---
-2.13.3
-
diff --git a/patches.renesas/0050-i2c-rcar-clarify-PM-handling-with-more-comments.patch b/patches.renesas/0050-i2c-rcar-clarify-PM-handling-with-more-comments.patch
index cc309d8c884856..c02cf043436bca 100644
--- a/patches.renesas/0050-i2c-rcar-clarify-PM-handling-with-more-comments.patch
+++ b/patches.renesas/0050-i2c-rcar-clarify-PM-handling-with-more-comments.patch
@@ -12,14 +12,12 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit 63a761eef55759c0bc725739fe575193c09fa4ef)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/i2c/busses/i2c-rcar.c | 4 +++-
+ drivers/i2c/busses/i2c-rcar.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
-diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
-index 66b84bf51bbf..214bf2835d1f 100644
--- a/drivers/i2c/busses/i2c-rcar.c
+++ b/drivers/i2c/busses/i2c-rcar.c
-@@ -753,6 +753,7 @@ static int rcar_reg_slave(struct i2c_client *slave)
+@@ -753,6 +753,7 @@ static int rcar_reg_slave(struct i2c_cli
if (slave->flags & I2C_CLIENT_TEN)
return -EAFNOSUPPORT;
@@ -27,7 +25,7 @@ index 66b84bf51bbf..214bf2835d1f 100644
pm_runtime_get_sync(rcar_i2c_priv_to_dev(priv));
priv->slave = slave;
-@@ -856,13 +857,14 @@ static int rcar_i2c_probe(struct platform_device *pdev)
+@@ -856,13 +857,14 @@ static int rcar_i2c_probe(struct platfor
priv->dma_direction = DMA_NONE;
priv->dma_rx = priv->dma_tx = ERR_PTR(-EPROBE_DEFER);
@@ -43,6 +41,3 @@ index 66b84bf51bbf..214bf2835d1f 100644
if (of_property_read_bool(dev->of_node, "multi-master"))
priv->flags |= ID_P_PM_BLOCKED;
else
---
-2.13.3
-
diff --git a/patches.renesas/0051-i2c-rcar-use-correct-length-when-unmapping-DMA.patch b/patches.renesas/0051-i2c-rcar-use-correct-length-when-unmapping-DMA.patch
index 0071740352ef57..4080454d31d1eb 100644
--- a/patches.renesas/0051-i2c-rcar-use-correct-length-when-unmapping-DMA.patch
+++ b/patches.renesas/0051-i2c-rcar-use-correct-length-when-unmapping-DMA.patch
@@ -18,14 +18,12 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit 916335036d4fe33f9806240cb0d1900f4975b959)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/i2c/busses/i2c-rcar.c | 2 +-
+ drivers/i2c/busses/i2c-rcar.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
-index 214bf2835d1f..8be3e6cb8fe6 100644
--- a/drivers/i2c/busses/i2c-rcar.c
+++ b/drivers/i2c/busses/i2c-rcar.c
-@@ -319,7 +319,7 @@ static void rcar_i2c_dma_unmap(struct rcar_i2c_priv *priv)
+@@ -319,7 +319,7 @@ static void rcar_i2c_dma_unmap(struct rc
rcar_i2c_write(priv, ICFBSCR, TCYC06);
dma_unmap_single(chan->device->dev, sg_dma_address(&priv->sg),
@@ -34,6 +32,3 @@ index 214bf2835d1f..8be3e6cb8fe6 100644
priv->dma_direction = DMA_NONE;
}
---
-2.13.3
-
diff --git a/patches.renesas/0052-ARM-dts-r7s72100-update-sdhi-clock-bindings.patch b/patches.renesas/0052-ARM-dts-r7s72100-update-sdhi-clock-bindings.patch
index f9b262c0e2a68e..bbde6d1b11440e 100644
--- a/patches.renesas/0052-ARM-dts-r7s72100-update-sdhi-clock-bindings.patch
+++ b/patches.renesas/0052-ARM-dts-r7s72100-update-sdhi-clock-bindings.patch
@@ -15,12 +15,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 3d2abda02ad2d06d5f22de7f6b0f39126670bc48)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r7s72100.dtsi | 17 ++++++++++++-----
- include/dt-bindings/clock/r7s72100-clock.h | 6 ++++--
+ arch/arm/boot/dts/r7s72100.dtsi | 17 ++++++++++++-----
+ include/dt-bindings/clock/r7s72100-clock.h | 6 ++++--
2 files changed, 16 insertions(+), 7 deletions(-)
-diff --git a/arch/arm/boot/dts/r7s72100.dtsi b/arch/arm/boot/dts/r7s72100.dtsi
-index b8aa256bd515..614ba79a9774 100644
--- a/arch/arm/boot/dts/r7s72100.dtsi
+++ b/arch/arm/boot/dts/r7s72100.dtsi
@@ -162,9 +162,12 @@
@@ -61,8 +59,6 @@ index b8aa256bd515..614ba79a9774 100644
cap-sd-highspeed;
cap-sdio-irq;
status = "disabled";
-diff --git a/include/dt-bindings/clock/r7s72100-clock.h b/include/dt-bindings/clock/r7s72100-clock.h
-index ce09915c298f..cd2ed5194255 100644
--- a/include/dt-bindings/clock/r7s72100-clock.h
+++ b/include/dt-bindings/clock/r7s72100-clock.h
@@ -49,7 +49,9 @@
@@ -77,6 +73,3 @@ index ce09915c298f..cd2ed5194255 100644
+#define R7S72100_CLK_SDHI11 0
#endif /* __DT_BINDINGS_CLOCK_R7S72100_H__ */
---
-2.13.3
-
diff --git a/patches.renesas/0053-ARM-dts-r8a7743-Fix-SCIFB0-dmas-indentation.patch b/patches.renesas/0053-ARM-dts-r8a7743-Fix-SCIFB0-dmas-indentation.patch
index 561208533d7a07..a0fdca6d7fff92 100644
--- a/patches.renesas/0053-ARM-dts-r8a7743-Fix-SCIFB0-dmas-indentation.patch
+++ b/patches.renesas/0053-ARM-dts-r8a7743-Fix-SCIFB0-dmas-indentation.patch
@@ -9,11 +9,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit c8290f9f2e1d119512e1821fc13d1d145aa23f77)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7743.dtsi | 2 +-
+ arch/arm/boot/dts/r8a7743.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7743.dtsi b/arch/arm/boot/dts/r8a7743.dtsi
-index d8393b97768b..c166be2f18e0 100644
--- a/arch/arm/boot/dts/r8a7743.dtsi
+++ b/arch/arm/boot/dts/r8a7743.dtsi
@@ -277,7 +277,7 @@
@@ -25,6 +23,3 @@ index d8393b97768b..c166be2f18e0 100644
dma-names = "tx", "rx", "tx", "rx";
power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
status = "disabled";
---
-2.13.3
-
diff --git a/patches.renesas/0054-ARM-dts-r8a7745-Fix-SCIFB0-dmas-indentation.patch b/patches.renesas/0054-ARM-dts-r8a7745-Fix-SCIFB0-dmas-indentation.patch
index 071d768cf12924..bab135332e820b 100644
--- a/patches.renesas/0054-ARM-dts-r8a7745-Fix-SCIFB0-dmas-indentation.patch
+++ b/patches.renesas/0054-ARM-dts-r8a7745-Fix-SCIFB0-dmas-indentation.patch
@@ -9,11 +9,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ad20bb6868f1d29f9c911f14087be4f93c098604)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7745.dtsi | 2 +-
+ arch/arm/boot/dts/r8a7745.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7745.dtsi b/arch/arm/boot/dts/r8a7745.dtsi
-index 1f65ff68a469..25175a74b6b7 100644
--- a/arch/arm/boot/dts/r8a7745.dtsi
+++ b/arch/arm/boot/dts/r8a7745.dtsi
@@ -277,7 +277,7 @@
@@ -25,6 +23,3 @@ index 1f65ff68a469..25175a74b6b7 100644
dma-names = "tx", "rx", "tx", "rx";
power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
status = "disabled";
---
-2.13.3
-
diff --git a/patches.renesas/0055-ARM-dts-r8a73a4-Remove-unit-addresses-and-regs-from-.patch b/patches.renesas/0055-ARM-dts-r8a73a4-Remove-unit-addresses-and-regs-from-.patch
index 9ce7fbce6a8b97..928b85bdeeac99 100644
--- a/patches.renesas/0055-ARM-dts-r8a73a4-Remove-unit-addresses-and-regs-from-.patch
+++ b/patches.renesas/0055-ARM-dts-r8a73a4-Remove-unit-addresses-and-regs-from-.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit cdaf6417b723e380501f46e555abf0c1c3090124)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a73a4.dtsi | 6 ++----
+ arch/arm/boot/dts/r8a73a4.dtsi | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a73a4.dtsi b/arch/arm/boot/dts/r8a73a4.dtsi
-index 00eb9a7114dc..6fb7eaba9126 100644
--- a/arch/arm/boot/dts/r8a73a4.dtsi
+++ b/arch/arm/boot/dts/r8a73a4.dtsi
@@ -32,18 +32,16 @@
@@ -42,6 +40,3 @@ index 00eb9a7114dc..6fb7eaba9126 100644
clocks = <&cpg_clocks R8A73A4_CLK_Z2>;
power-domains = <&pd_a3km>;
cache-unified;
---
-2.13.3
-
diff --git a/patches.renesas/0056-ARM-dts-r8a7743-Remove-unit-address-and-reg-from-int.patch b/patches.renesas/0056-ARM-dts-r8a7743-Remove-unit-address-and-reg-from-int.patch
index 06e465165ac020..d19ed5b7d7cc76 100644
--- a/patches.renesas/0056-ARM-dts-r8a7743-Remove-unit-address-and-reg-from-int.patch
+++ b/patches.renesas/0056-ARM-dts-r8a7743-Remove-unit-address-and-reg-from-int.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 37f0c804e57ac93ca37a98aa5a210c6b73e6572a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7743.dtsi | 3 +--
+ arch/arm/boot/dts/r8a7743.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7743.dtsi b/arch/arm/boot/dts/r8a7743.dtsi
-index c166be2f18e0..cd908796fb3b 100644
--- a/arch/arm/boot/dts/r8a7743.dtsi
+++ b/arch/arm/boot/dts/r8a7743.dtsi
@@ -32,9 +32,8 @@
@@ -32,6 +30,3 @@ index c166be2f18e0..cd908796fb3b 100644
cache-unified;
cache-level = <2>;
power-domains = <&sysc R8A7743_PD_CA15_SCU>;
---
-2.13.3
-
diff --git a/patches.renesas/0057-ARM-dts-r8a7745-Remove-unit-address-and-reg-from-int.patch b/patches.renesas/0057-ARM-dts-r8a7745-Remove-unit-address-and-reg-from-int.patch
index 61b302b5097859..e17c9b27521b9e 100644
--- a/patches.renesas/0057-ARM-dts-r8a7745-Remove-unit-address-and-reg-from-int.patch
+++ b/patches.renesas/0057-ARM-dts-r8a7745-Remove-unit-address-and-reg-from-int.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 51c00a9f730dd27da23e9dec593c22c0f9f5a1b1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7745.dtsi | 3 +--
+ arch/arm/boot/dts/r8a7745.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7745.dtsi b/arch/arm/boot/dts/r8a7745.dtsi
-index 25175a74b6b7..bca88715fada 100644
--- a/arch/arm/boot/dts/r8a7745.dtsi
+++ b/arch/arm/boot/dts/r8a7745.dtsi
@@ -32,9 +32,8 @@
@@ -32,6 +30,3 @@ index 25175a74b6b7..bca88715fada 100644
cache-unified;
cache-level = <2>;
power-domains = <&sysc R8A7745_PD_CA7_SCU>;
---
-2.13.3
-
diff --git a/patches.renesas/0058-ARM-dts-r8a7790-Remove-unit-addresses-and-regs-from-.patch b/patches.renesas/0058-ARM-dts-r8a7790-Remove-unit-addresses-and-regs-from-.patch
index 8cf21aabcfdf6a..8c0c8da9283f2d 100644
--- a/patches.renesas/0058-ARM-dts-r8a7790-Remove-unit-addresses-and-regs-from-.patch
+++ b/patches.renesas/0058-ARM-dts-r8a7790-Remove-unit-addresses-and-regs-from-.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d492909c84b895564d7ac413546ae988945c68db)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7790.dtsi | 6 ++----
+ arch/arm/boot/dts/r8a7790.dtsi | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi
-index 6d10450de6d7..20cf191e0852 100644
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
@@ -129,17 +129,15 @@
@@ -41,6 +39,3 @@ index 6d10450de6d7..20cf191e0852 100644
power-domains = <&sysc R8A7790_PD_CA7_SCU>;
cache-unified;
cache-level = <2>;
---
-2.13.3
-
diff --git a/patches.renesas/0059-ARM-dts-r8a7791-Remove-unit-address-and-reg-from-int.patch b/patches.renesas/0059-ARM-dts-r8a7791-Remove-unit-address-and-reg-from-int.patch
index 92925a4ad3dd70..e69753364b0284 100644
--- a/patches.renesas/0059-ARM-dts-r8a7791-Remove-unit-address-and-reg-from-int.patch
+++ b/patches.renesas/0059-ARM-dts-r8a7791-Remove-unit-address-and-reg-from-int.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 5d6a2165abd4635ecf5ece3d02fe8677f00d32c5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7791.dtsi | 3 +--
+ arch/arm/boot/dts/r8a7791.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi
-index 381b3c513b25..96f5539aede7 100644
--- a/arch/arm/boot/dts/r8a7791.dtsi
+++ b/arch/arm/boot/dts/r8a7791.dtsi
@@ -74,9 +74,8 @@
@@ -32,6 +30,3 @@ index 381b3c513b25..96f5539aede7 100644
power-domains = <&sysc R8A7791_PD_CA15_SCU>;
cache-unified;
cache-level = <2>;
---
-2.13.3
-
diff --git a/patches.renesas/0060-ARM-dts-r8a7792-Remove-unit-address-and-reg-from-int.patch b/patches.renesas/0060-ARM-dts-r8a7792-Remove-unit-address-and-reg-from-int.patch
index 7eafe8266599db..f0fa4b372d5e48 100644
--- a/patches.renesas/0060-ARM-dts-r8a7792-Remove-unit-address-and-reg-from-int.patch
+++ b/patches.renesas/0060-ARM-dts-r8a7792-Remove-unit-address-and-reg-from-int.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit a0504f0880c11da301dc2b5a5135bd02376e367e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7792.dtsi | 3 +--
+ arch/arm/boot/dts/r8a7792.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7792.dtsi b/arch/arm/boot/dts/r8a7792.dtsi
-index 8ecfda7a004e..c762f44f7732 100644
--- a/arch/arm/boot/dts/r8a7792.dtsi
+++ b/arch/arm/boot/dts/r8a7792.dtsi
@@ -60,9 +60,8 @@
@@ -32,6 +30,3 @@ index 8ecfda7a004e..c762f44f7732 100644
cache-unified;
cache-level = <2>;
power-domains = <&sysc R8A7792_PD_CA15_SCU>;
---
-2.13.3
-
diff --git a/patches.renesas/0061-ARM-dts-r8a7793-Remove-unit-address-and-reg-from-int.patch b/patches.renesas/0061-ARM-dts-r8a7793-Remove-unit-address-and-reg-from-int.patch
index 9c5a36184318b8..6f9810d9cb9afa 100644
--- a/patches.renesas/0061-ARM-dts-r8a7793-Remove-unit-address-and-reg-from-int.patch
+++ b/patches.renesas/0061-ARM-dts-r8a7793-Remove-unit-address-and-reg-from-int.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit beffa8872a3680ef804eb0320ec77037170f4686)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7793.dtsi | 3 +--
+ arch/arm/boot/dts/r8a7793.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7793.dtsi b/arch/arm/boot/dts/r8a7793.dtsi
-index 48ce21c5e8db..38506f563b2b 100644
--- a/arch/arm/boot/dts/r8a7793.dtsi
+++ b/arch/arm/boot/dts/r8a7793.dtsi
@@ -65,9 +65,8 @@
@@ -32,6 +30,3 @@ index 48ce21c5e8db..38506f563b2b 100644
power-domains = <&sysc R8A7793_PD_CA15_SCU>;
cache-unified;
cache-level = <2>;
---
-2.13.3
-
diff --git a/patches.renesas/0062-ARM-dts-r8a7794-Remove-unit-address-and-reg-from-int.patch b/patches.renesas/0062-ARM-dts-r8a7794-Remove-unit-address-and-reg-from-int.patch
index 96fa88520de3e7..d578f448a7a7c1 100644
--- a/patches.renesas/0062-ARM-dts-r8a7794-Remove-unit-address-and-reg-from-int.patch
+++ b/patches.renesas/0062-ARM-dts-r8a7794-Remove-unit-address-and-reg-from-int.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 65d0b7ed40f8a3a41a0ac5ed5ca4d1874c6aaf2d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7794.dtsi | 3 +--
+ arch/arm/boot/dts/r8a7794.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi
-index 319c1069b7ee..cb31cd2232f9 100644
--- a/arch/arm/boot/dts/r8a7794.dtsi
+++ b/arch/arm/boot/dts/r8a7794.dtsi
@@ -56,9 +56,8 @@
@@ -32,6 +30,3 @@ index 319c1069b7ee..cb31cd2232f9 100644
power-domains = <&sysc R8A7794_PD_CA7_SCU>;
cache-unified;
cache-level = <2>;
---
-2.13.3
-
diff --git a/patches.renesas/0063-ARM-dts-r8a7790-Tidyup-Audio-DMAC-channel-for-DVC.patch b/patches.renesas/0063-ARM-dts-r8a7790-Tidyup-Audio-DMAC-channel-for-DVC.patch
index cd3945945e2047..bf0908ffc0b3df 100644
--- a/patches.renesas/0063-ARM-dts-r8a7790-Tidyup-Audio-DMAC-channel-for-DVC.patch
+++ b/patches.renesas/0063-ARM-dts-r8a7790-Tidyup-Audio-DMAC-channel-for-DVC.patch
@@ -33,11 +33,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit c4a59df9de199426b773a15e0c774ae25f628d5d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7790.dtsi | 4 ++--
+ arch/arm/boot/dts/r8a7790.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi
-index 20cf191e0852..495c583054a8 100644
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
@@ -1738,11 +1738,11 @@
@@ -54,6 +52,3 @@ index 20cf191e0852..495c583054a8 100644
dma-names = "tx";
};
};
---
-2.13.3
-
diff --git a/patches.renesas/0064-ARM-dts-r7s72100-Add-watchdog-timer.patch b/patches.renesas/0064-ARM-dts-r7s72100-Add-watchdog-timer.patch
index c7d54d8ca83398..796da2eb26bd95 100644
--- a/patches.renesas/0064-ARM-dts-r7s72100-Add-watchdog-timer.patch
+++ b/patches.renesas/0064-ARM-dts-r7s72100-Add-watchdog-timer.patch
@@ -14,11 +14,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 69ed50de582eff6307fd3fa050fdc505731f0a2d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r7s72100.dtsi | 7 +++++++
+ arch/arm/boot/dts/r7s72100.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/arch/arm/boot/dts/r7s72100.dtsi b/arch/arm/boot/dts/r7s72100.dtsi
-index 614ba79a9774..9b12d73e67dc 100644
--- a/arch/arm/boot/dts/r7s72100.dtsi
+++ b/arch/arm/boot/dts/r7s72100.dtsi
@@ -371,6 +371,13 @@
@@ -35,6 +33,3 @@ index 614ba79a9774..9b12d73e67dc 100644
i2c0: i2c@fcfee000 {
#address-cells = <1>;
#size-cells = <0>;
---
-2.13.3
-
diff --git a/patches.renesas/0065-ARM-dts-r8a73a4-Add-INTC-SYS-clock-to-device-tree.patch b/patches.renesas/0065-ARM-dts-r8a73a4-Add-INTC-SYS-clock-to-device-tree.patch
index e526e23c4a4f44..9d589c0320a323 100644
--- a/patches.renesas/0065-ARM-dts-r8a73a4-Add-INTC-SYS-clock-to-device-tree.patch
+++ b/patches.renesas/0065-ARM-dts-r8a73a4-Add-INTC-SYS-clock-to-device-tree.patch
@@ -14,12 +14,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit c11333cc2e7ebe41e2aa4fa353abafa1f21a0662)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a73a4.dtsi | 13 +++++++++----
- include/dt-bindings/clock/r8a73a4-clock.h | 1 +
+ arch/arm/boot/dts/r8a73a4.dtsi | 13 +++++++++----
+ include/dt-bindings/clock/r8a73a4-clock.h | 1 +
2 files changed, 10 insertions(+), 4 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a73a4.dtsi b/arch/arm/boot/dts/r8a73a4.dtsi
-index 6fb7eaba9126..1f5c9f6dddba 100644
--- a/arch/arm/boot/dts/r8a73a4.dtsi
+++ b/arch/arm/boot/dts/r8a73a4.dtsi
@@ -467,6 +467,9 @@
@@ -55,8 +53,6 @@ index 6fb7eaba9126..1f5c9f6dddba 100644
};
mstp5_clks: mstp5_clks@e6150144 {
compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
-diff --git a/include/dt-bindings/clock/r8a73a4-clock.h b/include/dt-bindings/clock/r8a73a4-clock.h
-index dd11ecdf837e..4b3668157257 100644
--- a/include/dt-bindings/clock/r8a73a4-clock.h
+++ b/include/dt-bindings/clock/r8a73a4-clock.h
@@ -54,6 +54,7 @@
@@ -67,6 +63,3 @@ index dd11ecdf837e..4b3668157257 100644
#define R8A73A4_CLK_IRQC 7
/* MSTP5 */
---
-2.13.3
-
diff --git a/patches.renesas/0066-ARM-dts-r8a7790-Add-INTC-SYS-clock-to-device-tree.patch b/patches.renesas/0066-ARM-dts-r8a7790-Add-INTC-SYS-clock-to-device-tree.patch
index 19cbc197d8cd69..f784fc8ddf4443 100644
--- a/patches.renesas/0066-ARM-dts-r8a7790-Add-INTC-SYS-clock-to-device-tree.patch
+++ b/patches.renesas/0066-ARM-dts-r8a7790-Add-INTC-SYS-clock-to-device-tree.patch
@@ -14,12 +14,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 9e58523624fc063ce43ad3ef2bf6d603bda50a5e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7790.dtsi | 9 ++++++---
- include/dt-bindings/clock/r8a7790-clock.h | 1 +
+ arch/arm/boot/dts/r8a7790.dtsi | 9 ++++++---
+ include/dt-bindings/clock/r8a7790-clock.h | 1 +
2 files changed, 7 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi
-index 495c583054a8..534525665bb3 100644
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
@@ -185,6 +185,9 @@
@@ -46,8 +44,6 @@ index 495c583054a8..534525665bb3 100644
};
mstp5_clks: mstp5_clks@e6150144 {
compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-diff --git a/include/dt-bindings/clock/r8a7790-clock.h b/include/dt-bindings/clock/r8a7790-clock.h
-index fa5e8da809f2..20641fa68e73 100644
--- a/include/dt-bindings/clock/r8a7790-clock.h
+++ b/include/dt-bindings/clock/r8a7790-clock.h
@@ -82,6 +82,7 @@
@@ -58,6 +54,3 @@ index fa5e8da809f2..20641fa68e73 100644
/* MSTP5 */
#define R8A7790_CLK_AUDIO_DMAC1 1
---
-2.13.3
-
diff --git a/patches.renesas/0067-ARM-dts-r8a7791-Add-INTC-SYS-clock-to-device-tree.patch b/patches.renesas/0067-ARM-dts-r8a7791-Add-INTC-SYS-clock-to-device-tree.patch
index e46b4073119f01..44dc994cb90d91 100644
--- a/patches.renesas/0067-ARM-dts-r8a7791-Add-INTC-SYS-clock-to-device-tree.patch
+++ b/patches.renesas/0067-ARM-dts-r8a7791-Add-INTC-SYS-clock-to-device-tree.patch
@@ -14,12 +14,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit c2f2e266acb39f86bda1461874568ced7eaa6752)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7791.dtsi | 9 ++++++---
- include/dt-bindings/clock/r8a7791-clock.h | 1 +
+ arch/arm/boot/dts/r8a7791.dtsi | 9 ++++++---
+ include/dt-bindings/clock/r8a7791-clock.h | 1 +
2 files changed, 7 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi
-index 96f5539aede7..9e2bceb2f1d6 100644
--- a/arch/arm/boot/dts/r8a7791.dtsi
+++ b/arch/arm/boot/dts/r8a7791.dtsi
@@ -117,6 +117,9 @@
@@ -46,8 +44,6 @@ index 96f5539aede7..9e2bceb2f1d6 100644
};
mstp5_clks: mstp5_clks@e6150144 {
compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-diff --git a/include/dt-bindings/clock/r8a7791-clock.h b/include/dt-bindings/clock/r8a7791-clock.h
-index ffa11379b3f0..adc50dc31ab3 100644
--- a/include/dt-bindings/clock/r8a7791-clock.h
+++ b/include/dt-bindings/clock/r8a7791-clock.h
@@ -72,6 +72,7 @@
@@ -58,6 +54,3 @@ index ffa11379b3f0..adc50dc31ab3 100644
/* MSTP5 */
#define R8A7791_CLK_AUDIO_DMAC1 1
---
-2.13.3
-
diff --git a/patches.renesas/0068-ARM-dts-r8a7792-Add-INTC-SYS-clock-to-device-tree.patch b/patches.renesas/0068-ARM-dts-r8a7792-Add-INTC-SYS-clock-to-device-tree.patch
index f0723093321f39..b859ef007adb82 100644
--- a/patches.renesas/0068-ARM-dts-r8a7792-Add-INTC-SYS-clock-to-device-tree.patch
+++ b/patches.renesas/0068-ARM-dts-r8a7792-Add-INTC-SYS-clock-to-device-tree.patch
@@ -14,12 +14,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 90dce5428ae5499f06d91297ef10b3b613044774)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7792.dtsi | 11 ++++++++---
- include/dt-bindings/clock/r8a7792-clock.h | 1 +
+ arch/arm/boot/dts/r8a7792.dtsi | 11 ++++++++---
+ include/dt-bindings/clock/r8a7792-clock.h | 1 +
2 files changed, 9 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7792.dtsi b/arch/arm/boot/dts/r8a7792.dtsi
-index c762f44f7732..6c0797ebc08f 100644
--- a/arch/arm/boot/dts/r8a7792.dtsi
+++ b/arch/arm/boot/dts/r8a7792.dtsi
@@ -92,6 +92,9 @@
@@ -48,8 +46,6 @@ index c762f44f7732..6c0797ebc08f 100644
};
mstp7_clks: mstp7_clks@e615014c {
compatible = "renesas,r8a7792-mstp-clocks",
-diff --git a/include/dt-bindings/clock/r8a7792-clock.h b/include/dt-bindings/clock/r8a7792-clock.h
-index 9a8b392ceb00..94dd16a1e6e6 100644
--- a/include/dt-bindings/clock/r8a7792-clock.h
+++ b/include/dt-bindings/clock/r8a7792-clock.h
@@ -45,6 +45,7 @@
@@ -60,6 +56,3 @@ index 9a8b392ceb00..94dd16a1e6e6 100644
/* MSTP5 */
#define R8A7792_CLK_AUDIO_DMAC0 2
---
-2.13.3
-
diff --git a/patches.renesas/0069-ARM-dts-r8a7794-Add-INTC-SYS-clock-to-device-tree.patch b/patches.renesas/0069-ARM-dts-r8a7794-Add-INTC-SYS-clock-to-device-tree.patch
index 01e3ba8f3ccdbd..f63b12699f6f43 100644
--- a/patches.renesas/0069-ARM-dts-r8a7794-Add-INTC-SYS-clock-to-device-tree.patch
+++ b/patches.renesas/0069-ARM-dts-r8a7794-Add-INTC-SYS-clock-to-device-tree.patch
@@ -14,12 +14,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 133a3f1a19c99218a39e9d3e91e9e5442fa0f191)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7794.dtsi | 9 ++++++---
- include/dt-bindings/clock/r8a7794-clock.h | 1 +
+ arch/arm/boot/dts/r8a7794.dtsi | 9 ++++++---
+ include/dt-bindings/clock/r8a7794-clock.h | 1 +
2 files changed, 7 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi
-index cb31cd2232f9..38bf9ed8e739 100644
--- a/arch/arm/boot/dts/r8a7794.dtsi
+++ b/arch/arm/boot/dts/r8a7794.dtsi
@@ -74,6 +74,9 @@
@@ -46,8 +44,6 @@ index cb31cd2232f9..38bf9ed8e739 100644
};
mstp5_clks: mstp5_clks@e6150144 {
compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-diff --git a/include/dt-bindings/clock/r8a7794-clock.h b/include/dt-bindings/clock/r8a7794-clock.h
-index 88e64846cf37..a26776f7dedd 100644
--- a/include/dt-bindings/clock/r8a7794-clock.h
+++ b/include/dt-bindings/clock/r8a7794-clock.h
@@ -64,6 +64,7 @@
@@ -58,6 +54,3 @@ index 88e64846cf37..a26776f7dedd 100644
/* MSTP5 */
#define R8A7794_CLK_AUDIO_DMAC0 2
---
-2.13.3
-
diff --git a/patches.renesas/0070-ARM-dts-r8a7791-Tidyup-Audio-DMAC-channel-for-DVC.patch b/patches.renesas/0070-ARM-dts-r8a7791-Tidyup-Audio-DMAC-channel-for-DVC.patch
index eca0c5608b6b49..52d1ddf7b6192f 100644
--- a/patches.renesas/0070-ARM-dts-r8a7791-Tidyup-Audio-DMAC-channel-for-DVC.patch
+++ b/patches.renesas/0070-ARM-dts-r8a7791-Tidyup-Audio-DMAC-channel-for-DVC.patch
@@ -33,11 +33,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d49db72b567d6273f41f045b0c146837d3e50f8d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7791.dtsi | 4 ++--
+ arch/arm/boot/dts/r8a7791.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi
-index 9e2bceb2f1d6..4202d474992e 100644
--- a/arch/arm/boot/dts/r8a7791.dtsi
+++ b/arch/arm/boot/dts/r8a7791.dtsi
@@ -1779,11 +1779,11 @@
@@ -54,6 +52,3 @@ index 9e2bceb2f1d6..4202d474992e 100644
dma-names = "tx";
};
};
---
-2.13.3
-
diff --git a/patches.renesas/0071-ARM-dts-r8a7793-Tidyup-Audio-DMAC-channel-for-DVC.patch b/patches.renesas/0071-ARM-dts-r8a7793-Tidyup-Audio-DMAC-channel-for-DVC.patch
index ebdeee73f7a2e8..7b3132a64fc983 100644
--- a/patches.renesas/0071-ARM-dts-r8a7793-Tidyup-Audio-DMAC-channel-for-DVC.patch
+++ b/patches.renesas/0071-ARM-dts-r8a7793-Tidyup-Audio-DMAC-channel-for-DVC.patch
@@ -33,11 +33,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d2b10f99962aa5ec9865a77827931bf20211a39c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7793.dtsi | 4 ++--
+ arch/arm/boot/dts/r8a7793.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7793.dtsi b/arch/arm/boot/dts/r8a7793.dtsi
-index 38506f563b2b..53c89b47eaf0 100644
--- a/arch/arm/boot/dts/r8a7793.dtsi
+++ b/arch/arm/boot/dts/r8a7793.dtsi
@@ -1425,11 +1425,11 @@
@@ -54,6 +52,3 @@ index 38506f563b2b..53c89b47eaf0 100644
dma-names = "tx";
};
};
---
-2.13.3
-
diff --git a/patches.renesas/0072-ARM-dts-r8a7793-Add-INTC-SYS-clock-to-device-tree.patch b/patches.renesas/0072-ARM-dts-r8a7793-Add-INTC-SYS-clock-to-device-tree.patch
index 800904ef69b45b..2d78dcf361fec1 100644
--- a/patches.renesas/0072-ARM-dts-r8a7793-Add-INTC-SYS-clock-to-device-tree.patch
+++ b/patches.renesas/0072-ARM-dts-r8a7793-Add-INTC-SYS-clock-to-device-tree.patch
@@ -14,12 +14,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 2f25c2d1cdf04ab0f247351e286d3fdefbdad09b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7793.dtsi | 11 ++++++++---
- include/dt-bindings/clock/r8a7793-clock.h | 5 +++--
+ arch/arm/boot/dts/r8a7793.dtsi | 11 ++++++++---
+ include/dt-bindings/clock/r8a7793-clock.h | 5 +++--
2 files changed, 11 insertions(+), 5 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7793.dtsi b/arch/arm/boot/dts/r8a7793.dtsi
-index 53c89b47eaf0..9fcf3a9ca084 100644
--- a/arch/arm/boot/dts/r8a7793.dtsi
+++ b/arch/arm/boot/dts/r8a7793.dtsi
@@ -108,6 +108,9 @@
@@ -48,8 +46,6 @@ index 53c89b47eaf0..9fcf3a9ca084 100644
};
mstp5_clks: mstp5_clks@e6150144 {
compatible = "renesas,r8a7793-mstp-clocks", "renesas,cpg-mstp-clocks";
-diff --git a/include/dt-bindings/clock/r8a7793-clock.h b/include/dt-bindings/clock/r8a7793-clock.h
-index efcbc594fe82..7318d45d4e7e 100644
--- a/include/dt-bindings/clock/r8a7793-clock.h
+++ b/include/dt-bindings/clock/r8a7793-clock.h
@@ -77,10 +77,11 @@
@@ -66,6 +62,3 @@ index efcbc594fe82..7318d45d4e7e 100644
#define R8A7793_CLK_ADSP_MOD 6
#define R8A7793_CLK_THERMAL 22
#define R8A7793_CLK_PWM 23
---
-2.13.3
-
diff --git a/patches.renesas/0073-ARM-dts-porter-Always-use-status-okay-to-enable-devi.patch b/patches.renesas/0073-ARM-dts-porter-Always-use-status-okay-to-enable-devi.patch
index 72afc9bec12287..a15771c836468d 100644
--- a/patches.renesas/0073-ARM-dts-porter-Always-use-status-okay-to-enable-devi.patch
+++ b/patches.renesas/0073-ARM-dts-porter-Always-use-status-okay-to-enable-devi.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d8fc23051a9b6dd66ed0cc3c2a676991493b8112)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7791-porter.dts | 4 ++--
+ arch/arm/boot/dts/r8a7791-porter.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7791-porter.dts b/arch/arm/boot/dts/r8a7791-porter.dts
-index 6761d11d3f9e..d9aa2cd6d625 100644
--- a/arch/arm/boot/dts/r8a7791-porter.dts
+++ b/arch/arm/boot/dts/r8a7791-porter.dts
@@ -226,7 +226,7 @@
@@ -37,6 +35,3 @@ index 6761d11d3f9e..d9aa2cd6d625 100644
pinctrl-0 = <&vin0_pins>;
pinctrl-names = "default";
---
-2.13.3
-
diff --git a/patches.renesas/0074-ARM-dts-bockw-Drop-superfluous-status-update-for-fre.patch b/patches.renesas/0074-ARM-dts-bockw-Drop-superfluous-status-update-for-fre.patch
index 2a3ef9ea038658..91bb43a305db79 100644
--- a/patches.renesas/0074-ARM-dts-bockw-Drop-superfluous-status-update-for-fre.patch
+++ b/patches.renesas/0074-ARM-dts-bockw-Drop-superfluous-status-update-for-fre.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ffbb98d4d1f194e455bae2bc2eab2995188c652e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7778-bockw.dts | 1 -
+ arch/arm/boot/dts/r8a7778-bockw.dts | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7778-bockw.dts b/arch/arm/boot/dts/r8a7778-bockw.dts
-index 211d239d9041..c79d55eb43c5 100644
--- a/arch/arm/boot/dts/r8a7778-bockw.dts
+++ b/arch/arm/boot/dts/r8a7778-bockw.dts
@@ -229,5 +229,4 @@
@@ -25,6 +23,3 @@ index 211d239d9041..c79d55eb43c5 100644
clock-frequency = <14745600>;
- status = "okay";
};
---
-2.13.3
-
diff --git a/patches.renesas/0075-ARM-dts-marzen-Drop-superfluous-status-update-for-fr.patch b/patches.renesas/0075-ARM-dts-marzen-Drop-superfluous-status-update-for-fr.patch
index 93112d6c526f99..0628794a66ea79 100644
--- a/patches.renesas/0075-ARM-dts-marzen-Drop-superfluous-status-update-for-fr.patch
+++ b/patches.renesas/0075-ARM-dts-marzen-Drop-superfluous-status-update-for-fr.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 2f69fd8cb2187631ad68531a07406ad6b179b122)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7779-marzen.dts | 1 -
+ arch/arm/boot/dts/r8a7779-marzen.dts | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7779-marzen.dts b/arch/arm/boot/dts/r8a7779-marzen.dts
-index 89c5b24a3d03..9412a86f9b30 100644
--- a/arch/arm/boot/dts/r8a7779-marzen.dts
+++ b/arch/arm/boot/dts/r8a7779-marzen.dts
@@ -236,7 +236,6 @@
@@ -27,6 +25,3 @@ index 89c5b24a3d03..9412a86f9b30 100644
};
&sdhi0 {
---
-2.13.3
-
diff --git a/patches.renesas/0076-ARM-dts-lager-Drop-superfluous-status-update-for-fre.patch b/patches.renesas/0076-ARM-dts-lager-Drop-superfluous-status-update-for-fre.patch
index afea0defc3cd8e..0982b653901613 100644
--- a/patches.renesas/0076-ARM-dts-lager-Drop-superfluous-status-update-for-fre.patch
+++ b/patches.renesas/0076-ARM-dts-lager-Drop-superfluous-status-update-for-fre.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 2507e3d41a3f0f09e7d756b34e3bb953d6d3b76d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7790-lager.dts | 1 -
+ arch/arm/boot/dts/r8a7790-lager.dts | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts
-index bd512c86e852..ba100a6f67ca 100644
--- a/arch/arm/boot/dts/r8a7790-lager.dts
+++ b/arch/arm/boot/dts/r8a7790-lager.dts
@@ -581,7 +581,6 @@
@@ -27,6 +25,3 @@ index bd512c86e852..ba100a6f67ca 100644
};
&msiof1 {
---
-2.13.3
-
diff --git a/patches.renesas/0077-ARM-dts-koelsch-Drop-superfluous-status-updates-for-.patch b/patches.renesas/0077-ARM-dts-koelsch-Drop-superfluous-status-updates-for-.patch
index d7818856342d59..4aaa6e273ae34c 100644
--- a/patches.renesas/0077-ARM-dts-koelsch-Drop-superfluous-status-updates-for-.patch
+++ b/patches.renesas/0077-ARM-dts-koelsch-Drop-superfluous-status-updates-for-.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b20b1de4b542749a500c426796bb7fa400b03e58)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7791-koelsch.dts | 2 --
+ arch/arm/boot/dts/r8a7791-koelsch.dts | 2 --
1 file changed, 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts
-index 5405d337d744..59beb8402a36 100644
--- a/arch/arm/boot/dts/r8a7791-koelsch.dts
+++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
@@ -516,7 +516,6 @@
@@ -35,6 +33,3 @@ index 5405d337d744..59beb8402a36 100644
};
&pciec {
---
-2.13.3
-
diff --git a/patches.renesas/0078-ARM-dts-porter-Drop-superfluous-status-update-for-fr.patch b/patches.renesas/0078-ARM-dts-porter-Drop-superfluous-status-update-for-fr.patch
index 27078ea436f162..269fbeb0a4d58f 100644
--- a/patches.renesas/0078-ARM-dts-porter-Drop-superfluous-status-update-for-fr.patch
+++ b/patches.renesas/0078-ARM-dts-porter-Drop-superfluous-status-update-for-fr.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b546d090c8ecca05c83e71d931f6d9ad72a8d730)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7791-porter.dts | 1 -
+ arch/arm/boot/dts/r8a7791-porter.dts | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7791-porter.dts b/arch/arm/boot/dts/r8a7791-porter.dts
-index d9aa2cd6d625..95da5cb9d37a 100644
--- a/arch/arm/boot/dts/r8a7791-porter.dts
+++ b/arch/arm/boot/dts/r8a7791-porter.dts
@@ -401,7 +401,6 @@
@@ -27,6 +25,3 @@ index d9aa2cd6d625..95da5cb9d37a 100644
};
&pciec {
---
-2.13.3
-
diff --git a/patches.renesas/0079-ARM-dts-gose-Drop-superfluous-status-update-for-freq.patch b/patches.renesas/0079-ARM-dts-gose-Drop-superfluous-status-update-for-freq.patch
index 47d59e9f9d961a..997f9549ed09ac 100644
--- a/patches.renesas/0079-ARM-dts-gose-Drop-superfluous-status-update-for-freq.patch
+++ b/patches.renesas/0079-ARM-dts-gose-Drop-superfluous-status-update-for-freq.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit e68f8b428d84c304ca534505eafa98cb02a5bae0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7793-gose.dts | 1 -
+ arch/arm/boot/dts/r8a7793-gose.dts | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7793-gose.dts b/arch/arm/boot/dts/r8a7793-gose.dts
-index 92fff07c5e2b..806c93f6ae8b 100644
--- a/arch/arm/boot/dts/r8a7793-gose.dts
+++ b/arch/arm/boot/dts/r8a7793-gose.dts
@@ -412,7 +412,6 @@
@@ -27,6 +25,3 @@ index 92fff07c5e2b..806c93f6ae8b 100644
};
&sdhi0 {
---
-2.13.3
-
diff --git a/patches.renesas/0080-ARM-dts-alt-Drop-superfluous-status-update-for-frequ.patch b/patches.renesas/0080-ARM-dts-alt-Drop-superfluous-status-update-for-frequ.patch
index d9816ea5a65822..1417fd4aeb0794 100644
--- a/patches.renesas/0080-ARM-dts-alt-Drop-superfluous-status-update-for-frequ.patch
+++ b/patches.renesas/0080-ARM-dts-alt-Drop-superfluous-status-update-for-frequ.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit e5fada0cf2131b901e411bb65c22ddc98b6dcf98)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7794-alt.dts | 1 -
+ arch/arm/boot/dts/r8a7794-alt.dts | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7794-alt.dts b/arch/arm/boot/dts/r8a7794-alt.dts
-index 569e3f0e97a5..3fcf76b8e923 100644
--- a/arch/arm/boot/dts/r8a7794-alt.dts
+++ b/arch/arm/boot/dts/r8a7794-alt.dts
@@ -375,7 +375,6 @@
@@ -27,6 +25,3 @@ index 569e3f0e97a5..3fcf76b8e923 100644
};
&qspi {
---
-2.13.3
-
diff --git a/patches.renesas/0081-ARM-dts-silk-Drop-superfluous-status-update-for-freq.patch b/patches.renesas/0081-ARM-dts-silk-Drop-superfluous-status-update-for-freq.patch
index 778bb30bbc5c4a..1115ada51487d4 100644
--- a/patches.renesas/0081-ARM-dts-silk-Drop-superfluous-status-update-for-freq.patch
+++ b/patches.renesas/0081-ARM-dts-silk-Drop-superfluous-status-update-for-freq.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d01ff18992218f3a13f45f45a886b3bf8f250f14)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7794-silk.dts | 1 -
+ arch/arm/boot/dts/r8a7794-silk.dts | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7794-silk.dts b/arch/arm/boot/dts/r8a7794-silk.dts
-index cf880ac06f4b..c742d80d6dca 100644
--- a/arch/arm/boot/dts/r8a7794-silk.dts
+++ b/arch/arm/boot/dts/r8a7794-silk.dts
@@ -248,7 +248,6 @@
@@ -27,6 +25,3 @@ index cf880ac06f4b..c742d80d6dca 100644
};
&ether {
---
-2.13.3
-
diff --git a/patches.renesas/0082-ARM-shmobile-Document-RZ-G1H-SoC-DT-binding.patch b/patches.renesas/0082-ARM-shmobile-Document-RZ-G1H-SoC-DT-binding.patch
index 7331ca2e8a44c6..2e12fc925f5791 100644
--- a/patches.renesas/0082-ARM-shmobile-Document-RZ-G1H-SoC-DT-binding.patch
+++ b/patches.renesas/0082-ARM-shmobile-Document-RZ-G1H-SoC-DT-binding.patch
@@ -10,11 +10,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 368d03531f39ffaa793a98b9a17c79d660b1cd1a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- Documentation/devicetree/bindings/arm/shmobile.txt | 2 ++
+ Documentation/devicetree/bindings/arm/shmobile.txt | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
-index c9502634316d..b8155a209c58 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -13,6 +13,8 @@ SoCs:
@@ -26,6 +24,3 @@ index c9502634316d..b8155a209c58 100644
- RZ/G1M (R8A77430)
compatible = "renesas,r8a7743"
- RZ/G1E (R8A77450)
---
-2.13.3
-
diff --git a/patches.renesas/0083-ARM-shmobile-Document-RZ-G1N-SoC-DT-binding.patch b/patches.renesas/0083-ARM-shmobile-Document-RZ-G1N-SoC-DT-binding.patch
index 8b48c8d32f3541..39286095fc2b10 100644
--- a/patches.renesas/0083-ARM-shmobile-Document-RZ-G1N-SoC-DT-binding.patch
+++ b/patches.renesas/0083-ARM-shmobile-Document-RZ-G1N-SoC-DT-binding.patch
@@ -10,11 +10,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit cfb9f93437eb6663ca99e85c47bb3656ccfe59c5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- Documentation/devicetree/bindings/arm/shmobile.txt | 2 ++
+ Documentation/devicetree/bindings/arm/shmobile.txt | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
-index b8155a209c58..170fe0562c63 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -17,6 +17,8 @@ SoCs:
@@ -26,6 +24,3 @@ index b8155a209c58..170fe0562c63 100644
- RZ/G1E (R8A77450)
compatible = "renesas,r8a7745"
- R-Car M1A (R8A77781)
---
-2.13.3
-
diff --git a/patches.renesas/0084-ARM-8660-1-shmobile-r7s72100-Enable-L2-cache.patch b/patches.renesas/0084-ARM-8660-1-shmobile-r7s72100-Enable-L2-cache.patch
index d8fa1955b5c2fc..12fdca68fb66ba 100644
--- a/patches.renesas/0084-ARM-8660-1-shmobile-r7s72100-Enable-L2-cache.patch
+++ b/patches.renesas/0084-ARM-8660-1-shmobile-r7s72100-Enable-L2-cache.patch
@@ -13,14 +13,12 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
(cherry picked from commit a96bb197693eb9e7a7221867bd944ccd6b6e12e6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/mach-shmobile/setup-r7s72100.c | 2 ++
+ arch/arm/mach-shmobile/setup-r7s72100.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/arch/arm/mach-shmobile/setup-r7s72100.c b/arch/arm/mach-shmobile/setup-r7s72100.c
-index d46639fc6849..319ca9508ec6 100644
--- a/arch/arm/mach-shmobile/setup-r7s72100.c
+++ b/arch/arm/mach-shmobile/setup-r7s72100.c
-@@ -26,6 +26,8 @@ static const char *const r7s72100_boards_compat_dt[] __initconst = {
+@@ -26,6 +26,8 @@ static const char *const r7s72100_boards
};
DT_MACHINE_START(R7S72100_DT, "Generic R7S72100 (Flattened Device Tree)")
@@ -29,6 +27,3 @@ index d46639fc6849..319ca9508ec6 100644
.init_early = shmobile_init_delay,
.init_late = shmobile_init_late,
.dt_compat = r7s72100_boards_compat_dt,
---
-2.13.3
-
diff --git a/patches.renesas/0085-phy-rcar-gen3-usb2-fix-implementation-for-runtime-PM.patch b/patches.renesas/0085-phy-rcar-gen3-usb2-fix-implementation-for-runtime-PM.patch
index f0579b718a2e58..6289d73de1b6c7 100644
--- a/patches.renesas/0085-phy-rcar-gen3-usb2-fix-implementation-for-runtime-PM.patch
+++ b/patches.renesas/0085-phy-rcar-gen3-usb2-fix-implementation-for-runtime-PM.patch
@@ -16,11 +16,9 @@ Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
(cherry picked from commit 441a681b8843474c9796b50c35794ff102701f37)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/phy/phy-rcar-gen3-usb2.c | 31 ++++++++++++++++++++++++-------
+ drivers/phy/phy-rcar-gen3-usb2.c | 31 ++++++++++++++++++++++++-------
1 file changed, 24 insertions(+), 7 deletions(-)
-diff --git a/drivers/phy/phy-rcar-gen3-usb2.c b/drivers/phy/phy-rcar-gen3-usb2.c
-index 54a83675f0a8..e35af04301ac 100644
--- a/drivers/phy/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/phy-rcar-gen3-usb2.c
@@ -20,6 +20,7 @@
@@ -31,7 +29,7 @@ index 54a83675f0a8..e35af04301ac 100644
#include <linux/regulator/consumer.h>
#include <linux/workqueue.h>
-@@ -395,7 +396,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
+@@ -395,7 +396,7 @@ static int rcar_gen3_phy_usb2_probe(stru
struct rcar_gen3_chan *channel;
struct phy_provider *provider;
struct resource *res;
@@ -40,7 +38,7 @@ index 54a83675f0a8..e35af04301ac 100644
if (!dev->of_node) {
dev_err(dev, "This driver needs device tree\n");
-@@ -434,17 +435,24 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
+@@ -434,17 +435,24 @@ static int rcar_gen3_phy_usb2_probe(stru
}
}
@@ -69,7 +67,7 @@ index 54a83675f0a8..e35af04301ac 100644
channel->vbus = NULL;
}
-@@ -454,15 +462,22 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
+@@ -454,15 +462,22 @@ static int rcar_gen3_phy_usb2_probe(stru
provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
if (IS_ERR(provider)) {
dev_err(dev, "Failed to register PHY provider\n");
@@ -94,7 +92,7 @@ index 54a83675f0a8..e35af04301ac 100644
}
static int rcar_gen3_phy_usb2_remove(struct platform_device *pdev)
-@@ -472,6 +487,8 @@ static int rcar_gen3_phy_usb2_remove(struct platform_device *pdev)
+@@ -472,6 +487,8 @@ static int rcar_gen3_phy_usb2_remove(str
if (channel->has_otg)
device_remove_file(&pdev->dev, &dev_attr_role);
@@ -103,6 +101,3 @@ index 54a83675f0a8..e35af04301ac 100644
return 0;
};
---
-2.13.3
-
diff --git a/patches.renesas/0086-dmaengine-rcar-dmac-enable-descriptor-mode-on-40bit.patch b/patches.renesas/0086-dmaengine-rcar-dmac-enable-descriptor-mode-on-40bit.patch
index 130fd03e649097..f65d006d00e526 100644
--- a/patches.renesas/0086-dmaengine-rcar-dmac-enable-descriptor-mode-on-40bit.patch
+++ b/patches.renesas/0086-dmaengine-rcar-dmac-enable-descriptor-mode-on-40bit.patch
@@ -17,14 +17,12 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
(cherry picked from commit 1175f83cdb7a321b8b7b061d18846d58490b2654)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/dma/sh/rcar-dmac.c | 52 ++++++++++++++++++++++++++++------------------
+ drivers/dma/sh/rcar-dmac.c | 52 +++++++++++++++++++++++++++------------------
1 file changed, 32 insertions(+), 20 deletions(-)
-diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c
-index 48b22d5c8602..db41795fe42a 100644
--- a/drivers/dma/sh/rcar-dmac.c
+++ b/drivers/dma/sh/rcar-dmac.c
-@@ -344,13 +344,19 @@ static void rcar_dmac_chan_start_xfer(struct rcar_dmac_chan *chan)
+@@ -344,13 +344,19 @@ static void rcar_dmac_chan_start_xfer(st
rcar_dmac_chan_write(chan, RCAR_DMARS, chan->mid_rid);
if (desc->hwdescs.use) {
@@ -45,7 +43,7 @@ index 48b22d5c8602..db41795fe42a 100644
rcar_dmac_chan_write(chan, RCAR_DMAFIXDPBASE,
desc->hwdescs.dma >> 32);
#endif
-@@ -368,8 +374,6 @@ static void rcar_dmac_chan_start_xfer(struct rcar_dmac_chan *chan)
+@@ -368,8 +374,6 @@ static void rcar_dmac_chan_start_xfer(st
* should. Initialize it manually with the destination address
* of the first chunk.
*/
@@ -54,7 +52,7 @@ index 48b22d5c8602..db41795fe42a 100644
rcar_dmac_chan_write(chan, RCAR_DMADAR,
chunk->dst_addr & 0xffffffff);
-@@ -855,8 +859,12 @@ rcar_dmac_chan_prep_sg(struct rcar_dmac_chan *chan, struct scatterlist *sgl,
+@@ -855,8 +859,12 @@ rcar_dmac_chan_prep_sg(struct rcar_dmac_
unsigned int nchunks = 0;
unsigned int max_chunk_size;
unsigned int full_size = 0;
@@ -68,7 +66,7 @@ index 48b22d5c8602..db41795fe42a 100644
desc = rcar_dmac_desc_get(chan);
if (!desc)
-@@ -882,6 +890,16 @@ rcar_dmac_chan_prep_sg(struct rcar_dmac_chan *chan, struct scatterlist *sgl,
+@@ -882,6 +890,16 @@ rcar_dmac_chan_prep_sg(struct rcar_dmac_
full_size += len;
@@ -85,7 +83,7 @@ index 48b22d5c8602..db41795fe42a 100644
while (len) {
unsigned int size = min(len, max_chunk_size);
-@@ -890,18 +908,14 @@ rcar_dmac_chan_prep_sg(struct rcar_dmac_chan *chan, struct scatterlist *sgl,
+@@ -890,18 +908,14 @@ rcar_dmac_chan_prep_sg(struct rcar_dmac_
* Prevent individual transfers from crossing 4GB
* boundaries.
*/
@@ -110,7 +108,7 @@ index 48b22d5c8602..db41795fe42a 100644
#endif
chunk = rcar_dmac_xfer_chunk_get(chan);
-@@ -943,13 +957,11 @@ rcar_dmac_chan_prep_sg(struct rcar_dmac_chan *chan, struct scatterlist *sgl,
+@@ -943,13 +957,11 @@ rcar_dmac_chan_prep_sg(struct rcar_dmac_
* Use hardware descriptor lists if possible when more than one chunk
* needs to be transferred (otherwise they don't make much sense).
*
@@ -128,6 +126,3 @@ index 48b22d5c8602..db41795fe42a 100644
if (desc->hwdescs.use) {
if (rcar_dmac_fill_hwdesc(chan, desc) < 0)
desc->hwdescs.use = false;
---
-2.13.3
-
diff --git a/patches.renesas/0087-rcar-dmac-fixup-descriptor-pointer-for-descriptor-mo.patch b/patches.renesas/0087-rcar-dmac-fixup-descriptor-pointer-for-descriptor-mo.patch
index 38ccd71c0239de..465005303be673 100644
--- a/patches.renesas/0087-rcar-dmac-fixup-descriptor-pointer-for-descriptor-mo.patch
+++ b/patches.renesas/0087-rcar-dmac-fixup-descriptor-pointer-for-descriptor-mo.patch
@@ -15,14 +15,12 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
(cherry picked from commit 56b177055adb246cdeca174331dbf92fc49bfccd)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/dma/sh/rcar-dmac.c | 3 +++
+ drivers/dma/sh/rcar-dmac.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c
-index db41795fe42a..bd261c9e9664 100644
--- a/drivers/dma/sh/rcar-dmac.c
+++ b/drivers/dma/sh/rcar-dmac.c
-@@ -1287,6 +1287,9 @@ static unsigned int rcar_dmac_chan_get_residue(struct rcar_dmac_chan *chan,
+@@ -1287,6 +1287,9 @@ static unsigned int rcar_dmac_chan_get_r
if (desc->hwdescs.use) {
dptr = (rcar_dmac_chan_read(chan, RCAR_DMACHCRB) &
RCAR_DMACHCRB_DPTR_MASK) >> RCAR_DMACHCRB_DPTR_SHIFT;
@@ -32,6 +30,3 @@ index db41795fe42a..bd261c9e9664 100644
WARN_ON(dptr >= desc->nchunks);
} else {
running = desc->running;
---
-2.13.3
-
diff --git a/patches.renesas/0088-soc-renesas-Provide-dummy-rcar_rst_read_mode_pins-fo.patch b/patches.renesas/0088-soc-renesas-Provide-dummy-rcar_rst_read_mode_pins-fo.patch
index facebbab355add..cb6751fe155c3d 100644
--- a/patches.renesas/0088-soc-renesas-Provide-dummy-rcar_rst_read_mode_pins-fo.patch
+++ b/patches.renesas/0088-soc-renesas-Provide-dummy-rcar_rst_read_mode_pins-fo.patch
@@ -19,11 +19,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 7b4ccb3c466f62bbf2f4dd5d6a143d945a6f3051)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- include/linux/soc/renesas/rcar-rst.h | 5 +++++
+ include/linux/soc/renesas/rcar-rst.h | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/include/linux/soc/renesas/rcar-rst.h b/include/linux/soc/renesas/rcar-rst.h
-index a18e0783946b..787e7ad53d45 100644
--- a/include/linux/soc/renesas/rcar-rst.h
+++ b/include/linux/soc/renesas/rcar-rst.h
@@ -1,6 +1,11 @@
@@ -38,6 +36,3 @@ index a18e0783946b..787e7ad53d45 100644
+#endif
#endif /* __LINUX_SOC_RENESAS_RCAR_RST_H__ */
---
-2.13.3
-
diff --git a/patches.renesas/0089-ASoC-rsnd-drop-useles-self-assignments.patch b/patches.renesas/0089-ASoC-rsnd-drop-useles-self-assignments.patch
index d6d16048adbf17..83cd9d210354c6 100644
--- a/patches.renesas/0089-ASoC-rsnd-drop-useles-self-assignments.patch
+++ b/patches.renesas/0089-ASoC-rsnd-drop-useles-self-assignments.patch
@@ -11,14 +11,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 34157f7bec8276b4296cf2ec172fc13385ac8af7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/core.c | 2 --
+ sound/soc/sh/rcar/core.c | 2 --
1 file changed, 2 deletions(-)
-diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
-index 47b370cb2d3b..24adb3cc17aa 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
-@@ -674,12 +674,10 @@ static int rsnd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
+@@ -674,12 +674,10 @@ static int rsnd_soc_dai_set_fmt(struct s
/* set clock inversion */
switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
case SND_SOC_DAIFMT_NB_IF:
@@ -31,6 +29,3 @@ index 47b370cb2d3b..24adb3cc17aa 100644
break;
case SND_SOC_DAIFMT_IB_IF:
rdai->bit_clk_inv = !rdai->bit_clk_inv;
---
-2.13.3
-
diff --git a/patches.renesas/0090-ASoC-rsnd-check-return-value-of-init-function.patch b/patches.renesas/0090-ASoC-rsnd-check-return-value-of-init-function.patch
index cbf3e1f0f684d9..0851c663554f65 100644
--- a/patches.renesas/0090-ASoC-rsnd-check-return-value-of-init-function.patch
+++ b/patches.renesas/0090-ASoC-rsnd-check-return-value-of-init-function.patch
@@ -13,14 +13,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 56d2c61d611a50e58dba521be1325dc90f9cc933)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/adg.c | 5 ++++-
+ sound/soc/sh/rcar/adg.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
-diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c
-index 85a33ac0a5c4..54146f66538c 100644
--- a/sound/soc/sh/rcar/adg.c
+++ b/sound/soc/sh/rcar/adg.c
-@@ -564,6 +564,7 @@ int rsnd_adg_probe(struct rsnd_priv *priv)
+@@ -564,6 +564,7 @@ int rsnd_adg_probe(struct rsnd_priv *pri
struct rsnd_adg *adg;
struct device *dev = rsnd_priv_to_dev(priv);
struct device_node *np = dev->of_node;
@@ -28,7 +26,7 @@ index 85a33ac0a5c4..54146f66538c 100644
adg = devm_kzalloc(dev, sizeof(*adg), GFP_KERNEL);
if (!adg) {
-@@ -571,8 +572,10 @@ int rsnd_adg_probe(struct rsnd_priv *priv)
+@@ -571,8 +572,10 @@ int rsnd_adg_probe(struct rsnd_priv *pri
return -ENOMEM;
}
@@ -40,6 +38,3 @@ index 85a33ac0a5c4..54146f66538c 100644
rsnd_adg_get_clkin(priv, adg);
rsnd_adg_get_clkout(priv, adg);
---
-2.13.3
-
diff --git a/patches.renesas/0091-ASoC-rcar-enable-PCM-RATE-untile-192000.patch b/patches.renesas/0091-ASoC-rcar-enable-PCM-RATE-untile-192000.patch
index 9797dd8ef9ebb0..507d57791b592c 100644
--- a/patches.renesas/0091-ASoC-rcar-enable-PCM-RATE-untile-192000.patch
+++ b/patches.renesas/0091-ASoC-rcar-enable-PCM-RATE-untile-192000.patch
@@ -11,11 +11,9 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit dc2721564f6da549f6eb29ac5bca28d65beadcb7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/core.c | 2 +-
+ sound/soc/sh/rcar/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
-index 24adb3cc17aa..672783e18711 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -96,7 +96,7 @@
@@ -27,6 +25,3 @@ index 24adb3cc17aa..672783e18711 100644
#define RSND_FMTS (SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S16_LE)
static const struct of_device_id rsnd_of_match[] = {
---
-2.13.3
-
diff --git a/patches.renesas/0092-ASoC-rcar-ssi-don-t-set-SSICR.CKDV-000-with-SSIWSR.C.patch b/patches.renesas/0092-ASoC-rcar-ssi-don-t-set-SSICR.CKDV-000-with-SSIWSR.C.patch
index 9bfb47ef4543ae..7e4728a8b55922 100644
--- a/patches.renesas/0092-ASoC-rcar-ssi-don-t-set-SSICR.CKDV-000-with-SSIWSR.C.patch
+++ b/patches.renesas/0092-ASoC-rcar-ssi-don-t-set-SSICR.CKDV-000-with-SSIWSR.C.patch
@@ -16,14 +16,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 6b8530cc056efd4a11b034ca5b1e9f7e9563f553)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/ssi.c | 9 +++++++++
+ sound/soc/sh/rcar/ssi.c | 9 +++++++++
1 file changed, 9 insertions(+)
-diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
-index 411bda2387ad..135c5669f796 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
-@@ -228,6 +228,15 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod,
+@@ -228,6 +228,15 @@ static int rsnd_ssi_master_clk_start(str
for (j = 0; j < ARRAY_SIZE(ssi_clk_mul_table); j++) {
/*
@@ -39,6 +37,3 @@ index 411bda2387ad..135c5669f796 100644
* this driver is assuming that
* system word is 32bit x chan
* see rsnd_ssi_init()
---
-2.13.3
-
diff --git a/patches.renesas/0093-ASoC-rcar-remove-rsnd_kctrl_remove.patch b/patches.renesas/0093-ASoC-rcar-remove-rsnd_kctrl_remove.patch
index 0451fe3996d8d0..2ed082f7afcfaa 100644
--- a/patches.renesas/0093-ASoC-rcar-remove-rsnd_kctrl_remove.patch
+++ b/patches.renesas/0093-ASoC-rcar-remove-rsnd_kctrl_remove.patch
@@ -16,16 +16,14 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit e0c4211854bfebd5507761a2bfddaa9e37074230)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/core.c | 9 ---------
- sound/soc/sh/rcar/dvc.c | 16 ----------------
- sound/soc/sh/rcar/rsnd.h | 3 ---
+ sound/soc/sh/rcar/core.c | 9 ---------
+ sound/soc/sh/rcar/dvc.c | 16 ----------------
+ sound/soc/sh/rcar/rsnd.h | 3 ---
3 files changed, 28 deletions(-)
-diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
-index 672783e18711..35c96e4bbd64 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
-@@ -1037,15 +1037,6 @@ static int __rsnd_kctrl_new(struct rsnd_mod *mod,
+@@ -1037,15 +1037,6 @@ static int __rsnd_kctrl_new(struct rsnd_
return 0;
}
@@ -41,11 +39,9 @@ index 672783e18711..35c96e4bbd64 100644
int rsnd_kctrl_new_m(struct rsnd_mod *mod,
struct rsnd_dai_stream *io,
struct snd_soc_pcm_runtime *rtd,
-diff --git a/sound/soc/sh/rcar/dvc.c b/sound/soc/sh/rcar/dvc.c
-index cf8f59cdd8d7..994fdb7d0034 100644
--- a/sound/soc/sh/rcar/dvc.c
+++ b/sound/soc/sh/rcar/dvc.c
-@@ -218,21 +218,6 @@ static int rsnd_dvc_probe_(struct rsnd_mod *mod,
+@@ -218,21 +218,6 @@ static int rsnd_dvc_probe_(struct rsnd_m
return rsnd_cmd_attach(io, rsnd_mod_id(mod));
}
@@ -67,7 +63,7 @@ index cf8f59cdd8d7..994fdb7d0034 100644
static int rsnd_dvc_init(struct rsnd_mod *mod,
struct rsnd_dai_stream *io,
struct rsnd_priv *priv)
-@@ -332,7 +317,6 @@ static struct rsnd_mod_ops rsnd_dvc_ops = {
+@@ -332,7 +317,6 @@ static struct rsnd_mod_ops rsnd_dvc_ops
.name = DVC_NAME,
.dma_req = rsnd_dvc_dma_req,
.probe = rsnd_dvc_probe_,
@@ -75,8 +71,6 @@ index cf8f59cdd8d7..994fdb7d0034 100644
.init = rsnd_dvc_init,
.quit = rsnd_dvc_quit,
.pcm_new = rsnd_dvc_pcm_new,
-diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
-index 7410ec0174db..81ef3f18834a 100644
--- a/sound/soc/sh/rcar/rsnd.h
+++ b/sound/soc/sh/rcar/rsnd.h
@@ -611,9 +611,6 @@ struct rsnd_kctrl_cfg_s {
@@ -89,6 +83,3 @@ index 7410ec0174db..81ef3f18834a 100644
int rsnd_kctrl_new_m(struct rsnd_mod *mod,
struct rsnd_dai_stream *io,
struct snd_soc_pcm_runtime *rtd,
---
-2.13.3
-
diff --git a/patches.renesas/0094-ASoC-rcar-fixup-of_clk_add_provider-usage-for-multi-.patch b/patches.renesas/0094-ASoC-rcar-fixup-of_clk_add_provider-usage-for-multi-.patch
index eb6bfe24addedf..665245a13b9cda 100644
--- a/patches.renesas/0094-ASoC-rcar-fixup-of_clk_add_provider-usage-for-multi-.patch
+++ b/patches.renesas/0094-ASoC-rcar-fixup-of_clk_add_provider-usage-for-multi-.patch
@@ -13,14 +13,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit d7f298197a22f11b38059f257842dac7c30a564c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/adg.c | 14 ++++++--------
+ sound/soc/sh/rcar/adg.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
-diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c
-index 54146f66538c..33378618deeb 100644
--- a/sound/soc/sh/rcar/adg.c
+++ b/sound/soc/sh/rcar/adg.c
-@@ -537,16 +537,14 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -537,16 +537,14 @@ static void rsnd_adg_get_clkout(struct r
clk = clk_register_fixed_rate(dev, clkout_name[i],
parent_clk_name, 0,
req_rate);
@@ -43,6 +41,3 @@ index 54146f66538c..33378618deeb 100644
}
adg->ckr = ckr;
---
-2.13.3
-
diff --git a/patches.renesas/0095-ASoC-rcar-call-missing-of_clk_del_provider-when-remo.patch b/patches.renesas/0095-ASoC-rcar-call-missing-of_clk_del_provider-when-remo.patch
index e22ec802935ce0..03d62765907bea 100644
--- a/patches.renesas/0095-ASoC-rcar-call-missing-of_clk_del_provider-when-remo.patch
+++ b/patches.renesas/0095-ASoC-rcar-call-missing-of_clk_del_provider-when-remo.patch
@@ -13,14 +13,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit b5aac5a9adf667f907c34c520e023bc19f8c226c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/adg.c | 5 +++++
+ sound/soc/sh/rcar/adg.c | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c
-index 33378618deeb..214a9ce90bb4 100644
--- a/sound/soc/sh/rcar/adg.c
+++ b/sound/soc/sh/rcar/adg.c
-@@ -590,5 +590,10 @@ int rsnd_adg_probe(struct rsnd_priv *priv)
+@@ -590,5 +590,10 @@ int rsnd_adg_probe(struct rsnd_priv *pri
void rsnd_adg_remove(struct rsnd_priv *priv)
{
@@ -31,6 +29,3 @@ index 33378618deeb..214a9ce90bb4 100644
+
rsnd_adg_clk_disable(priv);
}
---
-2.13.3
-
diff --git a/patches.renesas/0096-ASoC-rsnd-tidyup-src-convert_rate-reset-timing.patch b/patches.renesas/0096-ASoC-rsnd-tidyup-src-convert_rate-reset-timing.patch
index fbaaf6241562a9..9e816e862addd6 100644
--- a/patches.renesas/0096-ASoC-rsnd-tidyup-src-convert_rate-reset-timing.patch
+++ b/patches.renesas/0096-ASoC-rsnd-tidyup-src-convert_rate-reset-timing.patch
@@ -23,14 +23,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit fc99d23f6d3ec6b17772915114018444393e0ad1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/src.c | 3 +--
+ sound/soc/sh/rcar/src.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c
-index 42db48db09ba..20b5b2ec625e 100644
--- a/sound/soc/sh/rcar/src.c
+++ b/sound/soc/sh/rcar/src.c
-@@ -167,6 +167,7 @@ static int rsnd_src_hw_params(struct rsnd_mod *mod,
+@@ -167,6 +167,7 @@ static int rsnd_src_hw_params(struct rsn
* dpcm_fe_dai_hw_params()
* dpcm_be_dai_hw_params()
*/
@@ -38,7 +36,7 @@ index 42db48db09ba..20b5b2ec625e 100644
if (fe->dai_link->dynamic) {
int stream = substream->stream;
struct snd_soc_dpcm *dpcm;
-@@ -414,8 +415,6 @@ static int rsnd_src_quit(struct rsnd_mod *mod,
+@@ -414,8 +415,6 @@ static int rsnd_src_quit(struct rsnd_mod
rsnd_mod_power_off(mod);
@@ -47,6 +45,3 @@ index 42db48db09ba..20b5b2ec625e 100644
/* reset sync convert_rate */
src->sync.val = 0;
---
-2.13.3
-
diff --git a/patches.renesas/0097-ASoC-rsnd-merge-rsnd_kctrl_new_m-s-e-into-rsnd_kctrl.patch b/patches.renesas/0097-ASoC-rsnd-merge-rsnd_kctrl_new_m-s-e-into-rsnd_kctrl.patch
index 42483fc5fe12d3..fd64fd3a2c6f2e 100644
--- a/patches.renesas/0097-ASoC-rsnd-merge-rsnd_kctrl_new_m-s-e-into-rsnd_kctrl.patch
+++ b/patches.renesas/0097-ASoC-rsnd-merge-rsnd_kctrl_new_m-s-e-into-rsnd_kctrl.patch
@@ -14,16 +14,14 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 32973dcf71ebee8806a6ee552665c5fad6857e16)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/core.c | 96 +++++++++++++++++-------------------------------
- sound/soc/sh/rcar/dvc.c | 8 ++--
- sound/soc/sh/rcar/rsnd.h | 50 ++++++++++++-------------
+ sound/soc/sh/rcar/core.c | 96 ++++++++++++++++-------------------------------
+ sound/soc/sh/rcar/dvc.c | 8 +--
+ sound/soc/sh/rcar/rsnd.h | 50 +++++++++++-------------
3 files changed, 62 insertions(+), 92 deletions(-)
-diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
-index 35c96e4bbd64..f8eb9d3d1949 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
-@@ -1000,13 +1000,30 @@ static int rsnd_kctrl_put(struct snd_kcontrol *kctrl,
+@@ -1000,13 +1000,30 @@ static int rsnd_kctrl_put(struct snd_kco
return change;
}
@@ -61,7 +59,7 @@ index 35c96e4bbd64..f8eb9d3d1949 100644
{
struct snd_card *card = rtd->card->snd_card;
struct snd_kcontrol *kctrl;
-@@ -1021,6 +1038,9 @@ static int __rsnd_kctrl_new(struct rsnd_mod *mod,
+@@ -1021,6 +1038,9 @@ static int __rsnd_kctrl_new(struct rsnd_
};
int ret;
@@ -71,7 +69,7 @@ index 35c96e4bbd64..f8eb9d3d1949 100644
kctrl = snd_ctl_new1(&knew, mod);
if (!kctrl)
return -ENOMEM;
-@@ -1029,65 +1049,17 @@ static int __rsnd_kctrl_new(struct rsnd_mod *mod,
+@@ -1029,65 +1049,17 @@ static int __rsnd_kctrl_new(struct rsnd_
if (ret < 0)
return ret;
@@ -144,11 +142,9 @@ index 35c96e4bbd64..f8eb9d3d1949 100644
/*
* snd_soc_platform
*/
-diff --git a/sound/soc/sh/rcar/dvc.c b/sound/soc/sh/rcar/dvc.c
-index 994fdb7d0034..463de8360985 100644
--- a/sound/soc/sh/rcar/dvc.c
+++ b/sound/soc/sh/rcar/dvc.c
-@@ -285,18 +285,18 @@ static int rsnd_dvc_pcm_new(struct rsnd_mod *mod,
+@@ -285,18 +285,18 @@ static int rsnd_dvc_pcm_new(struct rsnd_
ret = rsnd_kctrl_new_e(mod, io, rtd,
is_play ?
"DVC Out Ramp Up Rate" : "DVC In Ramp Up Rate",
@@ -171,8 +167,6 @@ index 994fdb7d0034..463de8360985 100644
if (ret < 0)
return ret;
-diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
-index 81ef3f18834a..3dc9e06f5943 100644
--- a/sound/soc/sh/rcar/rsnd.h
+++ b/sound/soc/sh/rcar/rsnd.h
@@ -611,32 +611,30 @@ struct rsnd_kctrl_cfg_s {
@@ -232,6 +226,3 @@ index 81ef3f18834a..3dc9e06f5943 100644
/*
* R-Car SSI
---
-2.13.3
-
diff --git a/patches.renesas/0098-ASoC-rsnd-rsnd_mod_make_sure-is-not-under-DEBUG.patch b/patches.renesas/0098-ASoC-rsnd-rsnd_mod_make_sure-is-not-under-DEBUG.patch
index 127c7773e6bf54..48254f7bbec0a9 100644
--- a/patches.renesas/0098-ASoC-rsnd-rsnd_mod_make_sure-is-not-under-DEBUG.patch
+++ b/patches.renesas/0098-ASoC-rsnd-rsnd_mod_make_sure-is-not-under-DEBUG.patch
@@ -12,12 +12,10 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 9ca5e57d78446c8bd42adff3dcae693703f91d9c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/core.c | 2 --
- sound/soc/sh/rcar/rsnd.h | 2 +-
+ sound/soc/sh/rcar/core.c | 2 --
+ sound/soc/sh/rcar/rsnd.h | 2 +-
2 files changed, 1 insertion(+), 3 deletions(-)
-diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
-index f8eb9d3d1949..1744015408c3 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -110,7 +110,6 @@ MODULE_DEVICE_TABLE(of, rsnd_of_match);
@@ -28,7 +26,7 @@ index f8eb9d3d1949..1744015408c3 100644
void rsnd_mod_make_sure(struct rsnd_mod *mod, enum rsnd_mod_type type)
{
if (mod->type != type) {
-@@ -121,7 +120,6 @@ void rsnd_mod_make_sure(struct rsnd_mod *mod, enum rsnd_mod_type type)
+@@ -121,7 +120,6 @@ void rsnd_mod_make_sure(struct rsnd_mod
rsnd_mod_name(mod), rsnd_mod_id(mod));
}
}
@@ -36,11 +34,9 @@ index f8eb9d3d1949..1744015408c3 100644
char *rsnd_mod_name(struct rsnd_mod *mod)
{
-diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
-index 3dc9e06f5943..dbf4163427e8 100644
--- a/sound/soc/sh/rcar/rsnd.h
+++ b/sound/soc/sh/rcar/rsnd.h
-@@ -727,8 +727,8 @@ void rsnd_cmd_remove(struct rsnd_priv *priv);
+@@ -727,8 +727,8 @@ void rsnd_cmd_remove(struct rsnd_priv *p
int rsnd_cmd_attach(struct rsnd_dai_stream *io, int id);
struct rsnd_mod *rsnd_cmd_mod_get(struct rsnd_priv *priv, int id);
@@ -50,6 +46,3 @@ index 3dc9e06f5943..dbf4163427e8 100644
#define rsnd_mod_confirm_ssi(mssi) rsnd_mod_make_sure(mssi, RSND_MOD_SSI)
#define rsnd_mod_confirm_src(msrc) rsnd_mod_make_sure(msrc, RSND_MOD_SRC)
#define rsnd_mod_confirm_dvc(mdvc) rsnd_mod_make_sure(mdvc, RSND_MOD_DVC)
---
-2.13.3
-
diff --git a/patches.renesas/0099-ASoC-rsnd-enable-clock-frequency-for-both-44.1kHz-48.patch b/patches.renesas/0099-ASoC-rsnd-enable-clock-frequency-for-both-44.1kHz-48.patch
index 7c73bb0b1add55..59fcd2ca3b96a2 100644
--- a/patches.renesas/0099-ASoC-rsnd-enable-clock-frequency-for-both-44.1kHz-48.patch
+++ b/patches.renesas/0099-ASoC-rsnd-enable-clock-frequency-for-both-44.1kHz-48.patch
@@ -18,11 +18,9 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 25165f79adc76b812bfb4d8f2ab120aafb28d0e6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/adg.c | 39 ++++++++++++++++++++++++++-------------
+ sound/soc/sh/rcar/adg.c | 39 ++++++++++++++++++++++++++-------------
1 file changed, 26 insertions(+), 13 deletions(-)
-diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c
-index 214a9ce90bb4..96fef91b480c 100644
--- a/sound/soc/sh/rcar/adg.c
+++ b/sound/soc/sh/rcar/adg.c
@@ -43,6 +43,7 @@ struct rsnd_adg {
@@ -33,7 +31,7 @@ index 214a9ce90bb4..96fef91b480c 100644
#define adg_mode_flags(adg) (adg->flags)
#define for_each_rsnd_clk(pos, adg, i) \
-@@ -364,7 +365,10 @@ int rsnd_adg_ssi_clk_try_start(struct rsnd_mod *ssi_mod, unsigned int rate)
+@@ -364,7 +365,10 @@ found_clock:
rsnd_adg_set_ssi_clk(ssi_mod, data);
@@ -45,7 +43,7 @@ index 214a9ce90bb4..96fef91b480c 100644
if (0 == (rate % 8000))
ckr = 0x80000000;
}
-@@ -427,11 +431,14 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -427,11 +431,14 @@ static void rsnd_adg_get_clkout(struct r
struct clk *clk;
struct device *dev = rsnd_priv_to_dev(priv);
struct device_node *np = dev->of_node;
@@ -62,7 +60,7 @@ index 214a9ce90bb4..96fef91b480c 100644
const char *parent_clk_name = NULL;
static const char * const clkout_name[] = {
[CLKOUT] = "audio_clkout",
-@@ -452,13 +459,18 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -452,13 +459,18 @@ static void rsnd_adg_get_clkout(struct r
* ADG supports BRRA/BRRB output only
* this means all clkout0/1/2/3 will be same rate
*/
@@ -86,7 +84,7 @@ index 214a9ce90bb4..96fef91b480c 100644
/*
* This driver is assuming that AUDIO_CLKA/AUDIO_CLKB/AUDIO_CLKC
-@@ -505,10 +517,8 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -505,10 +517,8 @@ static void rsnd_adg_get_clkout(struct r
rbgb = rbgx;
adg->rbgb_rate_for_48khz = rate / div;
ckr |= brg_table[i] << 16;
@@ -98,7 +96,7 @@ index 214a9ce90bb4..96fef91b480c 100644
}
}
}
-@@ -523,7 +533,7 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -523,7 +533,7 @@ static void rsnd_adg_get_clkout(struct r
*/
if (!count) {
clk = clk_register_fixed_rate(dev, clkout_name[CLKOUT],
@@ -107,7 +105,7 @@ index 214a9ce90bb4..96fef91b480c 100644
if (!IS_ERR(clk)) {
adg->clkout[CLKOUT] = clk;
of_clk_add_provider(np, of_clk_src_simple_get, clk);
-@@ -536,7 +546,7 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -536,7 +546,7 @@ static void rsnd_adg_get_clkout(struct r
for (i = 0; i < CLKOUTMAX; i++) {
clk = clk_register_fixed_rate(dev, clkout_name[i],
parent_clk_name, 0,
@@ -116,7 +114,7 @@ index 214a9ce90bb4..96fef91b480c 100644
adg->clkout[i] = ERR_PTR(-ENOENT);
if (!IS_ERR(clk))
adg->clkout[i] = clk;
-@@ -551,6 +561,9 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -551,6 +561,9 @@ static void rsnd_adg_get_clkout(struct r
adg->rbga = rbga;
adg->rbgb = rbgb;
@@ -126,6 +124,3 @@ index 214a9ce90bb4..96fef91b480c 100644
for_each_rsnd_clkout(clk, adg, i)
dev_dbg(dev, "clkout %d : %p : %ld\n", i, clk, clk_get_rate(clk));
dev_dbg(dev, "BRGCKR = 0x%08x, BRRA/BRRB = 0x%x/0x%x\n",
---
-2.13.3
-
diff --git a/patches.renesas/0100-ASoC-rsnd-fix-semicolon.cocci-warnings.patch b/patches.renesas/0100-ASoC-rsnd-fix-semicolon.cocci-warnings.patch
index 4e0a7599a19d73..124b8e14ec163e 100644
--- a/patches.renesas/0100-ASoC-rsnd-fix-semicolon.cocci-warnings.patch
+++ b/patches.renesas/0100-ASoC-rsnd-fix-semicolon.cocci-warnings.patch
@@ -15,14 +15,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 75f9e4adb56fbb8ffaab7d316f0c02df00e4b755)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/adg.c | 2 +-
+ sound/soc/sh/rcar/adg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c
-index 96fef91b480c..faa1a4f09766 100644
--- a/sound/soc/sh/rcar/adg.c
+++ b/sound/soc/sh/rcar/adg.c
-@@ -459,7 +459,7 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -459,7 +459,7 @@ static void rsnd_adg_get_clkout(struct r
* ADG supports BRRA/BRRB output only
* this means all clkout0/1/2/3 will be same rate
*/
@@ -31,6 +29,3 @@ index 96fef91b480c..faa1a4f09766 100644
req_size = prop->length / sizeof(u32);
of_property_read_u32_array(np, "clock-frequency", req_rate, req_size);
---
-2.13.3
-
diff --git a/patches.renesas/0101-ASoC-rsnd-Fix-possible-NULL-pointer-dereference.patch b/patches.renesas/0101-ASoC-rsnd-Fix-possible-NULL-pointer-dereference.patch
index 22dcdef382bd1b..6bd586815d4bd0 100644
--- a/patches.renesas/0101-ASoC-rsnd-Fix-possible-NULL-pointer-dereference.patch
+++ b/patches.renesas/0101-ASoC-rsnd-Fix-possible-NULL-pointer-dereference.patch
@@ -21,14 +21,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit e8dffe6c2004278c588b3bb441a3dbe998a3f2e4)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/adg.c | 18 +++++++++++-------
+ sound/soc/sh/rcar/adg.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
-diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c
-index faa1a4f09766..66203d107a11 100644
--- a/sound/soc/sh/rcar/adg.c
+++ b/sound/soc/sh/rcar/adg.c
-@@ -453,13 +453,18 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -453,13 +453,18 @@ static void rsnd_adg_get_clkout(struct r
[CLKI] = 0x2,
};
@@ -48,7 +46,7 @@ index faa1a4f09766..66203d107a11 100644
req_size = prop->length / sizeof(u32);
of_property_read_u32_array(np, "clock-frequency", req_rate, req_size);
-@@ -472,6 +477,9 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -472,6 +477,9 @@ static void rsnd_adg_get_clkout(struct r
req_48kHz_rate = req_rate[i];
}
@@ -58,7 +56,7 @@ index faa1a4f09766..66203d107a11 100644
/*
* This driver is assuming that AUDIO_CLKA/AUDIO_CLKB/AUDIO_CLKC
* have 44.1kHz or 48kHz base clocks for now.
-@@ -481,9 +489,6 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -481,9 +489,6 @@ static void rsnd_adg_get_clkout(struct r
* rsnd_adg_ssi_clk_try_start()
* rsnd_ssi_master_clk_start()
*/
@@ -68,7 +66,7 @@ index faa1a4f09766..66203d107a11 100644
adg->rbga_rate_for_441khz = 0;
adg->rbgb_rate_for_48khz = 0;
for_each_rsnd_clk(clk, adg, i) {
-@@ -528,6 +533,7 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -528,6 +533,7 @@ static void rsnd_adg_get_clkout(struct r
* this means all clkout0/1/2/3 will be * same rate
*/
@@ -76,7 +74,7 @@ index faa1a4f09766..66203d107a11 100644
/*
* for clkout
*/
-@@ -557,13 +563,11 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -557,13 +563,11 @@ static void rsnd_adg_get_clkout(struct r
&adg->onecell);
}
@@ -91,6 +89,3 @@ index faa1a4f09766..66203d107a11 100644
for_each_rsnd_clkout(clk, adg, i)
dev_dbg(dev, "clkout %d : %p : %ld\n", i, clk, clk_get_rate(clk));
dev_dbg(dev, "BRGCKR = 0x%08x, BRRA/BRRB = 0x%x/0x%x\n",
---
-2.13.3
-
diff --git a/patches.renesas/0102-ASoC-rsnd-don-t-use-PDTA-bit-for-24bit-on-SSI.patch b/patches.renesas/0102-ASoC-rsnd-don-t-use-PDTA-bit-for-24bit-on-SSI.patch
index 1467ed1f2de625..3443f285ae8aac 100644
--- a/patches.renesas/0102-ASoC-rsnd-don-t-use-PDTA-bit-for-24bit-on-SSI.patch
+++ b/patches.renesas/0102-ASoC-rsnd-don-t-use-PDTA-bit-for-24bit-on-SSI.patch
@@ -17,20 +17,18 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 90431eb49bff6d79814cbf0c96e13597ad53095c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/cmd.c | 1 +
- sound/soc/sh/rcar/core.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++
- sound/soc/sh/rcar/gen.c | 1 +
- sound/soc/sh/rcar/rsnd.h | 2 ++
- sound/soc/sh/rcar/src.c | 12 ++++++++++--
- sound/soc/sh/rcar/ssi.c | 2 +-
- sound/soc/sh/rcar/ssiu.c | 3 ++-
+ sound/soc/sh/rcar/cmd.c | 1
+ sound/soc/sh/rcar/core.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++
+ sound/soc/sh/rcar/gen.c | 1
+ sound/soc/sh/rcar/rsnd.h | 2 +
+ sound/soc/sh/rcar/src.c | 12 +++++++++--
+ sound/soc/sh/rcar/ssi.c | 2 -
+ sound/soc/sh/rcar/ssiu.c | 3 +-
7 files changed, 68 insertions(+), 4 deletions(-)
-diff --git a/sound/soc/sh/rcar/cmd.c b/sound/soc/sh/rcar/cmd.c
-index 7d92a24b7cfa..d879c010cf03 100644
--- a/sound/soc/sh/rcar/cmd.c
+++ b/sound/soc/sh/rcar/cmd.c
-@@ -89,6 +89,7 @@ static int rsnd_cmd_init(struct rsnd_mod *mod,
+@@ -89,6 +89,7 @@ static int rsnd_cmd_init(struct rsnd_mod
dev_dbg(dev, "ctu/mix path = 0x%08x", data);
rsnd_mod_write(mod, CMD_ROUTE_SLCT, data);
@@ -38,11 +36,9 @@ index 7d92a24b7cfa..d879c010cf03 100644
rsnd_mod_write(mod, CMD_BUSIF_DALIGN, rsnd_get_dalign(mod, io));
rsnd_adg_set_cmd_timsel_gen2(mod, io);
-diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
-index 1744015408c3..8c1f4e2e0c4f 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
-@@ -343,6 +343,57 @@ u32 rsnd_get_dalign(struct rsnd_mod *mod, struct rsnd_dai_stream *io)
+@@ -343,6 +343,57 @@ u32 rsnd_get_dalign(struct rsnd_mod *mod
return 0x76543210;
}
@@ -100,11 +96,9 @@ index 1744015408c3..8c1f4e2e0c4f 100644
/*
* rsnd_dai functions
*/
-diff --git a/sound/soc/sh/rcar/gen.c b/sound/soc/sh/rcar/gen.c
-index 63b6d3c28021..4b0980728e13 100644
--- a/sound/soc/sh/rcar/gen.c
+++ b/sound/soc/sh/rcar/gen.c
-@@ -236,6 +236,7 @@ static int rsnd_gen2_probe(struct rsnd_priv *priv)
+@@ -236,6 +236,7 @@ static int rsnd_gen2_probe(struct rsnd_p
RSND_GEN_M_REG(SRC_ROUTE_MODE0, 0xc, 0x20),
RSND_GEN_M_REG(SRC_CTRL, 0x10, 0x20),
RSND_GEN_M_REG(SRC_INT_ENABLE0, 0x18, 0x20),
@@ -112,8 +106,6 @@ index 63b6d3c28021..4b0980728e13 100644
RSND_GEN_M_REG(CMD_BUSIF_DALIGN,0x188, 0x20),
RSND_GEN_M_REG(CMD_ROUTE_SLCT, 0x18c, 0x20),
RSND_GEN_M_REG(CMD_CTRL, 0x190, 0x20),
-diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
-index dbf4163427e8..323af41ecfcb 100644
--- a/sound/soc/sh/rcar/rsnd.h
+++ b/sound/soc/sh/rcar/rsnd.h
@@ -73,6 +73,7 @@ enum rsnd_reg {
@@ -124,7 +116,7 @@ index dbf4163427e8..323af41ecfcb 100644
RSND_REG_CMD_BUSIF_DALIGN,
RSND_REG_CMD_ROUTE_SLCT,
RSND_REG_CMDOUT_TIMSEL,
-@@ -204,6 +205,7 @@ void rsnd_bset(struct rsnd_priv *priv, struct rsnd_mod *mod, enum rsnd_reg reg,
+@@ -204,6 +205,7 @@ void rsnd_bset(struct rsnd_priv *priv, s
u32 mask, u32 data);
u32 rsnd_get_adinr_bit(struct rsnd_mod *mod, struct rsnd_dai_stream *io);
u32 rsnd_get_dalign(struct rsnd_mod *mod, struct rsnd_dai_stream *io);
@@ -132,11 +124,9 @@ index dbf4163427e8..323af41ecfcb 100644
/*
* R-Car DMA
-diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c
-index 20b5b2ec625e..76a477a3ccb5 100644
--- a/sound/soc/sh/rcar/src.c
+++ b/sound/soc/sh/rcar/src.c
-@@ -190,11 +190,13 @@ static void rsnd_src_set_convert_rate(struct rsnd_dai_stream *io,
+@@ -190,11 +190,13 @@ static void rsnd_src_set_convert_rate(st
struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
struct device *dev = rsnd_priv_to_dev(priv);
struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io);
@@ -150,7 +140,7 @@ index 20b5b2ec625e..76a477a3ccb5 100644
uint ratio;
if (!runtime)
-@@ -270,6 +272,11 @@ static void rsnd_src_set_convert_rate(struct rsnd_dai_stream *io,
+@@ -270,6 +272,11 @@ static void rsnd_src_set_convert_rate(st
break;
}
@@ -162,7 +152,7 @@ index 20b5b2ec625e..76a477a3ccb5 100644
rsnd_mod_write(mod, SRC_ROUTE_MODE0, route);
rsnd_mod_write(mod, SRC_SRCIR, 1); /* initialize */
-@@ -281,8 +288,9 @@ static void rsnd_src_set_convert_rate(struct rsnd_dai_stream *io,
+@@ -281,8 +288,9 @@ static void rsnd_src_set_convert_rate(st
rsnd_mod_write(mod, SRC_BSISR, bsisr);
rsnd_mod_write(mod, SRC_SRCIR, 0); /* cancel initialize */
@@ -174,11 +164,9 @@ index 20b5b2ec625e..76a477a3ccb5 100644
rsnd_mod_write(mod, SRC_BUSIF_DALIGN, rsnd_get_dalign(mod, io));
rsnd_adg_set_src_timesel_gen2(mod, io, fin, fout);
-diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
-index 135c5669f796..e43277a5068c 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
-@@ -302,7 +302,7 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod,
+@@ -302,7 +302,7 @@ static void rsnd_ssi_config_init(struct
* always use 32bit system word.
* see also rsnd_ssi_master_clk_enable()
*/
@@ -187,11 +175,9 @@ index 135c5669f796..e43277a5068c 100644
if (rdai->bit_clk_inv)
cr_own |= SCKP;
-diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c
-index 14fafdaf1395..512d238b79e2 100644
--- a/sound/soc/sh/rcar/ssiu.c
+++ b/sound/soc/sh/rcar/ssiu.c
-@@ -144,7 +144,8 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod,
+@@ -144,7 +144,8 @@ static int rsnd_ssiu_init_gen2(struct rs
(rsnd_io_is_play(io) ?
rsnd_runtime_channel_after_ctu(io) :
rsnd_runtime_channel_original(io)));
@@ -201,6 +187,3 @@ index 14fafdaf1395..512d238b79e2 100644
rsnd_mod_write(mod, SSI_BUSIF_DALIGN,
rsnd_get_dalign(mod, io));
}
---
-2.13.3
-
diff --git a/patches.renesas/0103-ASoC-rsnd-don-t-call-free_irq-on-Parent-SSI.patch b/patches.renesas/0103-ASoC-rsnd-don-t-call-free_irq-on-Parent-SSI.patch
index 9fda8cc064ffaf..e367d71169633e 100644
--- a/patches.renesas/0103-ASoC-rsnd-don-t-call-free_irq-on-Parent-SSI.patch
+++ b/patches.renesas/0103-ASoC-rsnd-don-t-call-free_irq-on-Parent-SSI.patch
@@ -16,14 +16,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 1f8754d4daea5f257370a52a30fcb22798c54516)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/ssi.c | 5 +++++
+ sound/soc/sh/rcar/ssi.c | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
-index e43277a5068c..c224695c1484 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
-@@ -709,6 +709,11 @@ static int rsnd_ssi_dma_remove(struct rsnd_mod *mod,
+@@ -709,6 +709,11 @@ static int rsnd_ssi_dma_remove(struct rs
struct rsnd_priv *priv)
{
struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
@@ -35,6 +33,3 @@ index e43277a5068c..c224695c1484 100644
/* PIO will request IRQ again */
free_irq(ssi->irq, mod);
---
-2.13.3
-
diff --git a/patches.renesas/0104-ASoC-rsnd-SSI-PIO-adjust-to-24bit-mode.patch b/patches.renesas/0104-ASoC-rsnd-SSI-PIO-adjust-to-24bit-mode.patch
index e12d561a11016a..30787ee57e01b4 100644
--- a/patches.renesas/0104-ASoC-rsnd-SSI-PIO-adjust-to-24bit-mode.patch
+++ b/patches.renesas/0104-ASoC-rsnd-SSI-PIO-adjust-to-24bit-mode.patch
@@ -12,14 +12,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 7819a942de7b993771bd9377babc80485fe7606b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/ssi.c | 11 +++++++++--
+ sound/soc/sh/rcar/ssi.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
-diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
-index c224695c1484..91e5c07911b4 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
-@@ -550,6 +550,13 @@ static void __rsnd_ssi_interrupt(struct rsnd_mod *mod,
+@@ -550,6 +550,13 @@ static void __rsnd_ssi_interrupt(struct
struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io);
u32 *buf = (u32 *)(runtime->dma_area +
rsnd_dai_pointer_offset(io, 0));
@@ -33,7 +31,7 @@ index c224695c1484..91e5c07911b4 100644
/*
* 8/16/32 data can be assesse to TDR/RDR register
-@@ -557,9 +564,9 @@ static void __rsnd_ssi_interrupt(struct rsnd_mod *mod,
+@@ -557,9 +564,9 @@ static void __rsnd_ssi_interrupt(struct
* see rsnd_ssi_init()
*/
if (rsnd_io_is_play(io))
@@ -45,6 +43,3 @@ index c224695c1484..91e5c07911b4 100644
elapsed = rsnd_dai_pointer_update(io, sizeof(*buf));
}
---
-2.13.3
-
diff --git a/patches.renesas/0105-ASoC-rsnd-fixup-parent_clk_name-of-AUDIO_CLKOUTx.patch b/patches.renesas/0105-ASoC-rsnd-fixup-parent_clk_name-of-AUDIO_CLKOUTx.patch
index f3dcada1bb4b6f..ff091701017fea 100644
--- a/patches.renesas/0105-ASoC-rsnd-fixup-parent_clk_name-of-AUDIO_CLKOUTx.patch
+++ b/patches.renesas/0105-ASoC-rsnd-fixup-parent_clk_name-of-AUDIO_CLKOUTx.patch
@@ -13,14 +13,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit e8a3ce1130134046e9da132aa4d043566df8237d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/sh/rcar/adg.c | 6 ++++--
+ sound/soc/sh/rcar/adg.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
-diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c
-index 66203d107a11..d3b0dc145a56 100644
--- a/sound/soc/sh/rcar/adg.c
+++ b/sound/soc/sh/rcar/adg.c
-@@ -507,7 +507,8 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -507,7 +507,8 @@ static void rsnd_adg_get_clkout(struct r
rbga = rbgx;
adg->rbga_rate_for_441khz = rate / div;
ckr |= brg_table[i] << 20;
@@ -30,7 +28,7 @@ index 66203d107a11..d3b0dc145a56 100644
parent_clk_name = __clk_get_name(clk);
}
}
-@@ -522,7 +523,8 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
+@@ -522,7 +523,8 @@ static void rsnd_adg_get_clkout(struct r
rbgb = rbgx;
adg->rbgb_rate_for_48khz = rate / div;
ckr |= brg_table[i] << 16;
@@ -40,6 +38,3 @@ index 66203d107a11..d3b0dc145a56 100644
parent_clk_name = __clk_get_name(clk);
}
}
---
-2.13.3
-
diff --git a/patches.renesas/0106-soc-renesas-Identify-RZ-G1H.patch b/patches.renesas/0106-soc-renesas-Identify-RZ-G1H.patch
index 8564c900d7ba5d..547db7f4455b7a 100644
--- a/patches.renesas/0106-soc-renesas-Identify-RZ-G1H.patch
+++ b/patches.renesas/0106-soc-renesas-Identify-RZ-G1H.patch
@@ -10,14 +10,12 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 8848e1b14231a40ed66229fb3ee98519b32f2ae7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/soc/renesas/renesas-soc.c | 8 ++++++++
+ drivers/soc/renesas/renesas-soc.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/drivers/soc/renesas/renesas-soc.c b/drivers/soc/renesas/renesas-soc.c
-index 330960312296..f0172e59c040 100644
--- a/drivers/soc/renesas/renesas-soc.c
+++ b/drivers/soc/renesas/renesas-soc.c
-@@ -80,6 +80,11 @@ static const struct renesas_soc soc_rmobile_a1 __initconst __maybe_unused = {
+@@ -80,6 +80,11 @@ static const struct renesas_soc soc_rmob
.id = 0x40,
};
@@ -29,7 +27,7 @@ index 330960312296..f0172e59c040 100644
static const struct renesas_soc soc_rz_g1m __initconst __maybe_unused = {
.family = &fam_rzg,
.id = 0x47,
-@@ -150,6 +155,9 @@ static const struct of_device_id renesas_socs[] __initconst = {
+@@ -150,6 +155,9 @@ static const struct of_device_id renesas
#ifdef CONFIG_ARCH_R8A7740
{ .compatible = "renesas,r8a7740", .data = &soc_rmobile_a1 },
#endif
@@ -39,6 +37,3 @@ index 330960312296..f0172e59c040 100644
#ifdef CONFIG_ARCH_R8A7743
{ .compatible = "renesas,r8a7743", .data = &soc_rz_g1m },
#endif
---
-2.13.3
-
diff --git a/patches.renesas/0107-soc-renesas-Identify-RZ-G1N.patch b/patches.renesas/0107-soc-renesas-Identify-RZ-G1N.patch
index 894cefc9f701e9..87de90d73a0b62 100644
--- a/patches.renesas/0107-soc-renesas-Identify-RZ-G1N.patch
+++ b/patches.renesas/0107-soc-renesas-Identify-RZ-G1N.patch
@@ -10,14 +10,12 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit cd59de80dd34dd2d1a3ca97d7a6e712c048b135a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/soc/renesas/renesas-soc.c | 8 ++++++++
+ drivers/soc/renesas/renesas-soc.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/drivers/soc/renesas/renesas-soc.c b/drivers/soc/renesas/renesas-soc.c
-index f0172e59c040..b894cf64225b 100644
--- a/drivers/soc/renesas/renesas-soc.c
+++ b/drivers/soc/renesas/renesas-soc.c
-@@ -90,6 +90,11 @@ static const struct renesas_soc soc_rz_g1m __initconst __maybe_unused = {
+@@ -90,6 +90,11 @@ static const struct renesas_soc soc_rz_g
.id = 0x47,
};
@@ -29,7 +27,7 @@ index f0172e59c040..b894cf64225b 100644
static const struct renesas_soc soc_rz_g1e __initconst __maybe_unused = {
.family = &fam_rzg,
.id = 0x4c,
-@@ -161,6 +166,9 @@ static const struct of_device_id renesas_socs[] __initconst = {
+@@ -161,6 +166,9 @@ static const struct of_device_id renesas
#ifdef CONFIG_ARCH_R8A7743
{ .compatible = "renesas,r8a7743", .data = &soc_rz_g1m },
#endif
@@ -39,6 +37,3 @@ index f0172e59c040..b894cf64225b 100644
#ifdef CONFIG_ARCH_R8A7745
{ .compatible = "renesas,r8a7745", .data = &soc_rz_g1e },
#endif
---
-2.13.3
-
diff --git a/patches.renesas/0108-soc-renesas-Register-SoC-device-early.patch b/patches.renesas/0108-soc-renesas-Register-SoC-device-early.patch
index 2a8c3d4ecb6772..d8820f98a1cde8 100644
--- a/patches.renesas/0108-soc-renesas-Register-SoC-device-early.patch
+++ b/patches.renesas/0108-soc-renesas-Register-SoC-device-early.patch
@@ -15,11 +15,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b1d134ba9de2b7a136406530e34fc8b110ba6efd)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/soc/renesas/renesas-soc.c | 2 +-
+ drivers/soc/renesas/renesas-soc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/soc/renesas/renesas-soc.c b/drivers/soc/renesas/renesas-soc.c
-index b894cf64225b..ca26f13d399c 100644
--- a/drivers/soc/renesas/renesas-soc.c
+++ b/drivers/soc/renesas/renesas-soc.c
@@ -270,4 +270,4 @@ static int __init renesas_soc_init(void)
@@ -28,6 +26,3 @@ index b894cf64225b..ca26f13d399c 100644
}
-core_initcall(renesas_soc_init);
+early_initcall(renesas_soc_init);
---
-2.13.3
-
diff --git a/patches.renesas/0109-ata-sata_rcar-Handle-return-value-of-clk_prepare_ena.patch b/patches.renesas/0109-ata-sata_rcar-Handle-return-value-of-clk_prepare_ena.patch
index ec80bccd35d305..340010d9dbce5a 100644
--- a/patches.renesas/0109-ata-sata_rcar-Handle-return-value-of-clk_prepare_ena.patch
+++ b/patches.renesas/0109-ata-sata_rcar-Handle-return-value-of-clk_prepare_ena.patch
@@ -14,14 +14,12 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
(cherry picked from commit 5dc63fdcc09f47fb226b8bc7d83a61feb787d817)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/ata/sata_rcar.c | 15 ++++++++++++---
+ drivers/ata/sata_rcar.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
-diff --git a/drivers/ata/sata_rcar.c b/drivers/ata/sata_rcar.c
-index 5d38245a7a73..b7939a2c1fab 100644
--- a/drivers/ata/sata_rcar.c
+++ b/drivers/ata/sata_rcar.c
-@@ -890,7 +890,10 @@ static int sata_rcar_probe(struct platform_device *pdev)
+@@ -890,7 +890,10 @@ static int sata_rcar_probe(struct platfo
dev_err(&pdev->dev, "failed to get access to sata clock\n");
return PTR_ERR(priv->clk);
}
@@ -33,7 +31,7 @@ index 5d38245a7a73..b7939a2c1fab 100644
host = ata_host_alloc(&pdev->dev, 1);
if (!host) {
-@@ -970,8 +973,11 @@ static int sata_rcar_resume(struct device *dev)
+@@ -970,8 +973,11 @@ static int sata_rcar_resume(struct devic
struct ata_host *host = dev_get_drvdata(dev);
struct sata_rcar_priv *priv = host->private_data;
void __iomem *base = priv->base;
@@ -46,7 +44,7 @@ index 5d38245a7a73..b7939a2c1fab 100644
/* ack and mask */
iowrite32(0, base + SATAINTSTAT_REG);
-@@ -988,8 +994,11 @@ static int sata_rcar_restore(struct device *dev)
+@@ -988,8 +994,11 @@ static int sata_rcar_restore(struct devi
{
struct ata_host *host = dev_get_drvdata(dev);
struct sata_rcar_priv *priv = host->private_data;
@@ -59,6 +57,3 @@ index 5d38245a7a73..b7939a2c1fab 100644
sata_rcar_setup_port(host);
---
-2.13.3
-
diff --git a/patches.renesas/0110-clocksource-sh_cmt-Compute-rate-before-registration-.patch b/patches.renesas/0110-clocksource-sh_cmt-Compute-rate-before-registration-.patch
index ff593c0655d834..61e69e2f2d0703 100644
--- a/patches.renesas/0110-clocksource-sh_cmt-Compute-rate-before-registration-.patch
+++ b/patches.renesas/0110-clocksource-sh_cmt-Compute-rate-before-registration-.patch
@@ -54,11 +54,9 @@ Signed-off-by: John Stultz <john.stultz@linaro.org>
(cherry picked from commit 890f423b266623e1cfb3a97b864f3e5039bdfbb9)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clocksource/sh_cmt.c | 45 ++++++++++++++++++++++++--------------------
+ drivers/clocksource/sh_cmt.c | 45 +++++++++++++++++++++++--------------------
1 file changed, 25 insertions(+), 20 deletions(-)
-diff --git a/drivers/clocksource/sh_cmt.c b/drivers/clocksource/sh_cmt.c
-index 103c49362c68..3038885d4180 100644
--- a/drivers/clocksource/sh_cmt.c
+++ b/drivers/clocksource/sh_cmt.c
@@ -103,7 +103,6 @@ struct sh_cmt_channel {
@@ -77,7 +75,7 @@ index 103c49362c68..3038885d4180 100644
raw_spinlock_t lock; /* Protect the shared start/stop register */
-@@ -320,7 +320,7 @@ static void sh_cmt_start_stop_ch(struct sh_cmt_channel *ch, int start)
+@@ -320,7 +320,7 @@ static void sh_cmt_start_stop_ch(struct
raw_spin_unlock_irqrestore(&ch->cmt->lock, flags);
}
@@ -86,7 +84,7 @@ index 103c49362c68..3038885d4180 100644
{
int k, ret;
-@@ -340,11 +340,9 @@ static int sh_cmt_enable(struct sh_cmt_channel *ch, unsigned long *rate)
+@@ -340,11 +340,9 @@ static int sh_cmt_enable(struct sh_cmt_c
/* configure channel, periodic mode and maximum timeout */
if (ch->cmt->info->width == 16) {
@@ -98,7 +96,7 @@ index 103c49362c68..3038885d4180 100644
sh_cmt_write_cmcsr(ch, SH_CMT32_CMCSR_CMM |
SH_CMT32_CMCSR_CMTOUT_IE |
SH_CMT32_CMCSR_CMR_IRQ |
-@@ -572,7 +570,7 @@ static int sh_cmt_start(struct sh_cmt_channel *ch, unsigned long flag)
+@@ -572,7 +570,7 @@ static int sh_cmt_start(struct sh_cmt_ch
raw_spin_lock_irqsave(&ch->lock, flags);
if (!(ch->flags & (FLAG_CLOCKEVENT | FLAG_CLOCKSOURCE)))
@@ -107,7 +105,7 @@ index 103c49362c68..3038885d4180 100644
if (ret)
goto out;
-@@ -640,10 +638,9 @@ static int sh_cmt_clocksource_enable(struct clocksource *cs)
+@@ -640,10 +638,9 @@ static int sh_cmt_clocksource_enable(str
ch->total_cycles = 0;
ret = sh_cmt_start(ch, FLAG_CLOCKSOURCE);
@@ -120,7 +118,7 @@ index 103c49362c68..3038885d4180 100644
return ret;
}
-@@ -697,8 +694,7 @@ static int sh_cmt_register_clocksource(struct sh_cmt_channel *ch,
+@@ -697,8 +694,7 @@ static int sh_cmt_register_clocksource(s
dev_info(&ch->cmt->pdev->dev, "ch%u: used as clock source\n",
ch->index);
@@ -130,7 +128,7 @@ index 103c49362c68..3038885d4180 100644
return 0;
}
-@@ -709,19 +705,10 @@ static struct sh_cmt_channel *ced_to_sh_cmt(struct clock_event_device *ced)
+@@ -709,19 +705,10 @@ static struct sh_cmt_channel *ced_to_sh_
static void sh_cmt_clock_event_start(struct sh_cmt_channel *ch, int periodic)
{
@@ -151,7 +149,7 @@ index 103c49362c68..3038885d4180 100644
else
sh_cmt_set_next(ch, ch->max_match_value);
}
-@@ -824,6 +811,12 @@ static int sh_cmt_register_clockevent(struct sh_cmt_channel *ch,
+@@ -824,6 +811,12 @@ static int sh_cmt_register_clockevent(st
ced->suspend = sh_cmt_clock_event_suspend;
ced->resume = sh_cmt_clock_event_resume;
@@ -164,7 +162,7 @@ index 103c49362c68..3038885d4180 100644
dev_info(&ch->cmt->pdev->dev, "ch%u: used for clock events\n",
ch->index);
clockevents_register_device(ced);
-@@ -996,6 +989,18 @@ static int sh_cmt_setup(struct sh_cmt_device *cmt, struct platform_device *pdev)
+@@ -996,6 +989,18 @@ static int sh_cmt_setup(struct sh_cmt_de
if (ret < 0)
goto err_clk_put;
@@ -183,6 +181,3 @@ index 103c49362c68..3038885d4180 100644
/* Map the memory resource(s). */
ret = sh_cmt_map_memory(cmt);
if (ret < 0)
---
-2.13.3
-
diff --git a/patches.renesas/0111-clockevents-drivers-sh_cmt-Set-min_delta_ticks-and-m.patch b/patches.renesas/0111-clockevents-drivers-sh_cmt-Set-min_delta_ticks-and-m.patch
index b4c133ea3a4f3a..6eee213ac46060 100644
--- a/patches.renesas/0111-clockevents-drivers-sh_cmt-Set-min_delta_ticks-and-m.patch
+++ b/patches.renesas/0111-clockevents-drivers-sh_cmt-Set-min_delta_ticks-and-m.patch
@@ -30,14 +30,12 @@ Signed-off-by: John Stultz <john.stultz@linaro.org>
(cherry picked from commit bb2e94ac0cf4628f5e5f778c8de4a376dac43558)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clocksource/sh_cmt.c | 2 ++
+ drivers/clocksource/sh_cmt.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/drivers/clocksource/sh_cmt.c b/drivers/clocksource/sh_cmt.c
-index 3038885d4180..97ce6bf27f7c 100644
--- a/drivers/clocksource/sh_cmt.c
+++ b/drivers/clocksource/sh_cmt.c
-@@ -815,7 +815,9 @@ static int sh_cmt_register_clockevent(struct sh_cmt_channel *ch,
+@@ -815,7 +815,9 @@ static int sh_cmt_register_clockevent(st
ced->shift = 32;
ced->mult = div_sc(ch->cmt->rate, NSEC_PER_SEC, ced->shift);
ced->max_delta_ns = clockevent_delta2ns(ch->max_match_value, ced);
@@ -47,6 +45,3 @@ index 3038885d4180..97ce6bf27f7c 100644
dev_info(&ch->cmt->pdev->dev, "ch%u: used for clock events\n",
ch->index);
---
-2.13.3
-
diff --git a/patches.renesas/0112-sh_eth-Use-platform-device-for-printing-before-regis.patch b/patches.renesas/0112-sh_eth-Use-platform-device-for-printing-before-regis.patch
index 39bff78d0e9262..f1c99dc9b1642f 100644
--- a/patches.renesas/0112-sh_eth-Use-platform-device-for-printing-before-regis.patch
+++ b/patches.renesas/0112-sh_eth-Use-platform-device-for-printing-before-regis.patch
@@ -20,14 +20,12 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 5f5c5449acad0cd3322e53e1ac68c044483b0aa5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/net/ethernet/renesas/sh_eth.c | 2 +-
+ drivers/net/ethernet/renesas/sh_eth.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
-index b1e9f3f412e0..07e8fce2b9a4 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
-@@ -3222,7 +3222,7 @@ static int sh_eth_drv_probe(struct platform_device *pdev)
+@@ -3222,7 +3222,7 @@ static int sh_eth_drv_probe(struct platf
/* MDIO bus init */
ret = sh_mdio_init(mdp, pd);
if (ret) {
@@ -36,6 +34,3 @@ index b1e9f3f412e0..07e8fce2b9a4 100644
goto out_release;
}
---
-2.13.3
-
diff --git a/patches.renesas/0113-sh_eth-Do-not-print-an-error-message-for-probe-defer.patch b/patches.renesas/0113-sh_eth-Do-not-print-an-error-message-for-probe-defer.patch
index 8849ef769b1214..09fd689c677737 100644
--- a/patches.renesas/0113-sh_eth-Do-not-print-an-error-message-for-probe-defer.patch
+++ b/patches.renesas/0113-sh_eth-Do-not-print-an-error-message-for-probe-defer.patch
@@ -19,14 +19,12 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit b7ce520e9f71ff65d0aa0ad86223f94ae4095fae)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/net/ethernet/renesas/sh_eth.c | 3 ++-
+ drivers/net/ethernet/renesas/sh_eth.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
-index 07e8fce2b9a4..30ce538e92dd 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
-@@ -3222,7 +3222,8 @@ static int sh_eth_drv_probe(struct platform_device *pdev)
+@@ -3222,7 +3222,8 @@ static int sh_eth_drv_probe(struct platf
/* MDIO bus init */
ret = sh_mdio_init(mdp, pd);
if (ret) {
@@ -36,6 +34,3 @@ index 07e8fce2b9a4..30ce538e92dd 100644
goto out_release;
}
---
-2.13.3
-
diff --git a/patches.renesas/0114-mmc-sh_mmcif-Document-r7s72100-DT-bindings.patch b/patches.renesas/0114-mmc-sh_mmcif-Document-r7s72100-DT-bindings.patch
index 9393a7e2d6f67c..0e613227ed4b34 100644
--- a/patches.renesas/0114-mmc-sh_mmcif-Document-r7s72100-DT-bindings.patch
+++ b/patches.renesas/0114-mmc-sh_mmcif-Document-r7s72100-DT-bindings.patch
@@ -11,11 +11,9 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 474e25e15f508889d4f8c672ab54323743ee595b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- Documentation/devicetree/bindings/mmc/renesas,mmcif.txt | 8 ++++++++
+ Documentation/devicetree/bindings/mmc/renesas,mmcif.txt | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/Documentation/devicetree/bindings/mmc/renesas,mmcif.txt b/Documentation/devicetree/bindings/mmc/renesas,mmcif.txt
-index e4ba92aa035e..c32dc5a9dbe6 100644
--- a/Documentation/devicetree/bindings/mmc/renesas,mmcif.txt
+++ b/Documentation/devicetree/bindings/mmc/renesas,mmcif.txt
@@ -8,6 +8,7 @@ Required properties:
@@ -40,6 +38,3 @@ index e4ba92aa035e..c32dc5a9dbe6 100644
- clocks: reference to the functional clock
- dmas: reference to the DMA channels, one per channel name listed in the
---
-2.13.3
-
diff --git a/patches.renesas/0115-media-sh_mobile_ceu_camera-use-module_platform_drive.patch b/patches.renesas/0115-media-sh_mobile_ceu_camera-use-module_platform_drive.patch
index 3f22c327cea14c..96df464ed2dea5 100644
--- a/patches.renesas/0115-media-sh_mobile_ceu_camera-use-module_platform_drive.patch
+++ b/patches.renesas/0115-media-sh_mobile_ceu_camera-use-module_platform_drive.patch
@@ -12,14 +12,12 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 855749a75609122b57b2d4ebd872944836388a14)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c | 13 +------------
+ drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
-diff --git a/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c b/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c
-index a15bfb5aea47..96dc01750bc0 100644
--- a/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c
+++ b/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c
-@@ -1801,18 +1801,7 @@ static struct platform_driver sh_mobile_ceu_driver = {
+@@ -1801,18 +1801,7 @@ static struct platform_driver sh_mobile_
.remove = sh_mobile_ceu_remove,
};
@@ -39,6 +37,3 @@ index a15bfb5aea47..96dc01750bc0 100644
MODULE_DESCRIPTION("SuperH Mobile CEU driver");
MODULE_AUTHOR("Magnus Damm");
---
-2.13.3
-
diff --git a/patches.renesas/0116-mmc-tmio-ensure-end-of-DMA-and-SD-access-are-in-sync.patch b/patches.renesas/0116-mmc-tmio-ensure-end-of-DMA-and-SD-access-are-in-sync.patch
index 94a8071f2d1836..be85fe76cd33c1 100644
--- a/patches.renesas/0116-mmc-tmio-ensure-end-of-DMA-and-SD-access-are-in-sync.patch
+++ b/patches.renesas/0116-mmc-tmio-ensure-end-of-DMA-and-SD-access-are-in-sync.patch
@@ -26,13 +26,11 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 52ad9a8e854ca13151f4af8140297f73d49e318a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/mmc/host/tmio_mmc.h | 2 +-
- drivers/mmc/host/tmio_mmc_dma.c | 58 ++++++++++++++++++++++++-----------------
- drivers/mmc/host/tmio_mmc_pio.c | 4 +--
+ drivers/mmc/host/tmio_mmc.h | 2 -
+ drivers/mmc/host/tmio_mmc_dma.c | 58 +++++++++++++++++++++++-----------------
+ drivers/mmc/host/tmio_mmc_pio.c | 4 +-
3 files changed, 37 insertions(+), 27 deletions(-)
-diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h
-index 26eb9401b3f3..3f25984cf184 100644
--- a/drivers/mmc/host/tmio_mmc.h
+++ b/drivers/mmc/host/tmio_mmc.h
@@ -136,7 +136,7 @@ struct tmio_mmc_host {
@@ -44,11 +42,9 @@ index 26eb9401b3f3..3f25984cf184 100644
struct tasklet_struct dma_issue;
struct scatterlist bounce_sg;
u8 *bounce_buf;
-diff --git a/drivers/mmc/host/tmio_mmc_dma.c b/drivers/mmc/host/tmio_mmc_dma.c
-index fa8a936a3d9b..c7684fa91f1f 100644
--- a/drivers/mmc/host/tmio_mmc_dma.c
+++ b/drivers/mmc/host/tmio_mmc_dma.c
-@@ -43,6 +43,31 @@ void tmio_mmc_abort_dma(struct tmio_mmc_host *host)
+@@ -43,6 +43,31 @@ void tmio_mmc_abort_dma(struct tmio_mmc_
tmio_mmc_enable_dma(host, true);
}
@@ -80,7 +76,7 @@ index fa8a936a3d9b..c7684fa91f1f 100644
static void tmio_mmc_start_dma_rx(struct tmio_mmc_host *host)
{
struct scatterlist *sg = host->sg_ptr, *sg_tmp;
-@@ -88,6 +113,10 @@ static void tmio_mmc_start_dma_rx(struct tmio_mmc_host *host)
+@@ -88,6 +113,10 @@ static void tmio_mmc_start_dma_rx(struct
DMA_DEV_TO_MEM, DMA_CTRL_ACK);
if (desc) {
@@ -91,7 +87,7 @@ index fa8a936a3d9b..c7684fa91f1f 100644
cookie = dmaengine_submit(desc);
if (cookie < 0) {
desc = NULL;
-@@ -162,6 +191,10 @@ static void tmio_mmc_start_dma_tx(struct tmio_mmc_host *host)
+@@ -162,6 +191,10 @@ static void tmio_mmc_start_dma_tx(struct
DMA_MEM_TO_DEV, DMA_CTRL_ACK);
if (desc) {
@@ -102,7 +98,7 @@ index fa8a936a3d9b..c7684fa91f1f 100644
cookie = dmaengine_submit(desc);
if (cookie < 0) {
desc = NULL;
-@@ -221,29 +254,6 @@ static void tmio_mmc_issue_tasklet_fn(unsigned long priv)
+@@ -221,29 +254,6 @@ static void tmio_mmc_issue_tasklet_fn(un
dma_async_issue_pending(chan);
}
@@ -132,7 +128,7 @@ index fa8a936a3d9b..c7684fa91f1f 100644
void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdata)
{
/* We can only either use DMA for both Tx and Rx or not use it at all */
-@@ -306,7 +316,7 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
+@@ -306,7 +316,7 @@ void tmio_mmc_request_dma(struct tmio_mm
if (!host->bounce_buf)
goto ebouncebuf;
@@ -141,11 +137,9 @@ index fa8a936a3d9b..c7684fa91f1f 100644
tasklet_init(&host->dma_issue, tmio_mmc_issue_tasklet_fn, (unsigned long)host);
}
-diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
-index 6b789a739d4d..c41f2252945e 100644
--- a/drivers/mmc/host/tmio_mmc_pio.c
+++ b/drivers/mmc/host/tmio_mmc_pio.c
-@@ -596,11 +596,11 @@ static void tmio_mmc_data_irq(struct tmio_mmc_host *host, unsigned int stat)
+@@ -596,11 +596,11 @@ static void tmio_mmc_data_irq(struct tmi
if (done) {
tmio_mmc_disable_mmc_irqs(host, TMIO_STAT_DATAEND);
@@ -159,6 +153,3 @@ index 6b789a739d4d..c41f2252945e 100644
} else {
tmio_mmc_do_data_irq(host);
tmio_mmc_disable_mmc_irqs(host, TMIO_MASK_READOP | TMIO_MASK_WRITEOP);
---
-2.13.3
-
diff --git a/patches.renesas/0117-mmc-host-tmio-use-defines-for-CTL_STOP_INTERNAL_ACTI.patch b/patches.renesas/0117-mmc-host-tmio-use-defines-for-CTL_STOP_INTERNAL_ACTI.patch
index 930a949b25e477..0703cc8fdeba24 100644
--- a/patches.renesas/0117-mmc-host-tmio-use-defines-for-CTL_STOP_INTERNAL_ACTI.patch
+++ b/patches.renesas/0117-mmc-host-tmio-use-defines-for-CTL_STOP_INTERNAL_ACTI.patch
@@ -10,12 +10,10 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 9afcbf4a6f1995f3b47088764eaef7b56154beb9)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/mmc/host/tmio_mmc.h | 4 ++++
- drivers/mmc/host/tmio_mmc_pio.c | 6 +++---
+ drivers/mmc/host/tmio_mmc.h | 4 ++++
+ drivers/mmc/host/tmio_mmc_pio.c | 6 +++---
2 files changed, 7 insertions(+), 3 deletions(-)
-diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h
-index 3f25984cf184..eb913c8c4e6e 100644
--- a/drivers/mmc/host/tmio_mmc.h
+++ b/drivers/mmc/host/tmio_mmc.h
@@ -49,6 +49,10 @@
@@ -29,11 +27,9 @@ index 3f25984cf184..eb913c8c4e6e 100644
/* Definitions for values the CTRL_STATUS register can take. */
#define TMIO_STAT_CMDRESPEND BIT(0)
#define TMIO_STAT_DATAEND BIT(2)
-diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
-index c41f2252945e..c655c9de1dde 100644
--- a/drivers/mmc/host/tmio_mmc_pio.c
+++ b/drivers/mmc/host/tmio_mmc_pio.c
-@@ -340,7 +340,7 @@ static int tmio_mmc_start_command(struct tmio_mmc_host *host, struct mmc_command
+@@ -340,7 +340,7 @@ static int tmio_mmc_start_command(struct
/* CMD12 is handled by hardware */
if (cmd->opcode == MMC_STOP_TRANSMISSION && !cmd->arg) {
@@ -42,7 +38,7 @@ index c41f2252945e..c655c9de1dde 100644
return 0;
}
-@@ -367,7 +367,7 @@ static int tmio_mmc_start_command(struct tmio_mmc_host *host, struct mmc_command
+@@ -367,7 +367,7 @@ static int tmio_mmc_start_command(struct
if (data) {
c |= DATA_PRESENT;
if (data->blocks > 1) {
@@ -51,7 +47,7 @@ index c41f2252945e..c655c9de1dde 100644
c |= TRANSFER_MULTI;
/*
-@@ -554,7 +554,7 @@ void tmio_mmc_do_data_irq(struct tmio_mmc_host *host)
+@@ -554,7 +554,7 @@ void tmio_mmc_do_data_irq(struct tmio_mm
if (stop) {
if (stop->opcode == MMC_STOP_TRANSMISSION && !stop->arg)
@@ -60,6 +56,3 @@ index c41f2252945e..c655c9de1dde 100644
else
BUG();
}
---
-2.13.3
-
diff --git a/patches.renesas/0118-mmc-host-tmio-fix-minor-typos-in-comments.patch b/patches.renesas/0118-mmc-host-tmio-fix-minor-typos-in-comments.patch
index d69e6c179770d9..e7c18f7aa39176 100644
--- a/patches.renesas/0118-mmc-host-tmio-fix-minor-typos-in-comments.patch
+++ b/patches.renesas/0118-mmc-host-tmio-fix-minor-typos-in-comments.patch
@@ -11,11 +11,9 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit d8acd16c84c32a65a291e8f16ba4cb3b6d182e30)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/mmc/host/tmio_mmc.h | 6 +++---
+ drivers/mmc/host/tmio_mmc.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h
-index eb913c8c4e6e..900258350b65 100644
--- a/drivers/mmc/host/tmio_mmc.h
+++ b/drivers/mmc/host/tmio_mmc.h
@@ -53,7 +53,7 @@
@@ -45,6 +43,3 @@ index eb913c8c4e6e..900258350b65 100644
#define TMIO_SDIO_STAT_IOIRQ 0x0001
#define TMIO_SDIO_STAT_EXPUB52 0x4000
#define TMIO_SDIO_STAT_EXWT 0x8000
---
-2.13.3
-
diff --git a/patches.renesas/0119-mmc-host-tmio-don-t-BUG-on-unsupported-stop-commands.patch b/patches.renesas/0119-mmc-host-tmio-don-t-BUG-on-unsupported-stop-commands.patch
index 70a4b48a3a6a4c..42bb2be1627753 100644
--- a/patches.renesas/0119-mmc-host-tmio-don-t-BUG-on-unsupported-stop-commands.patch
+++ b/patches.renesas/0119-mmc-host-tmio-don-t-BUG-on-unsupported-stop-commands.patch
@@ -13,14 +13,12 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 022f731e03d190d0e4f52f2b1bd90fae0eadd56d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/mmc/host/tmio_mmc_pio.c | 9 +++++----
+ drivers/mmc/host/tmio_mmc_pio.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
-diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
-index c655c9de1dde..42a912a3de67 100644
--- a/drivers/mmc/host/tmio_mmc_pio.c
+++ b/drivers/mmc/host/tmio_mmc_pio.c
-@@ -553,10 +553,11 @@ void tmio_mmc_do_data_irq(struct tmio_mmc_host *host)
+@@ -553,10 +553,11 @@ void tmio_mmc_do_data_irq(struct tmio_mm
}
if (stop) {
@@ -36,6 +34,3 @@ index c655c9de1dde..42a912a3de67 100644
}
schedule_work(&host->done);
---
-2.13.3
-
diff --git a/patches.renesas/0120-mmc-host-tmio-fill-in-response-from-auto-cmd12.patch b/patches.renesas/0120-mmc-host-tmio-fill-in-response-from-auto-cmd12.patch
index f7665f10e03856..88c02155b5c7e0 100644
--- a/patches.renesas/0120-mmc-host-tmio-fill-in-response-from-auto-cmd12.patch
+++ b/patches.renesas/0120-mmc-host-tmio-fill-in-response-from-auto-cmd12.patch
@@ -15,14 +15,12 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit eb7c00e1461124ad0e85f1a9a3954d7164809c13)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/mmc/host/tmio_mmc_pio.c | 3 +++
+ drivers/mmc/host/tmio_mmc_pio.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
-index 42a912a3de67..5b01d22932cd 100644
--- a/drivers/mmc/host/tmio_mmc_pio.c
+++ b/drivers/mmc/host/tmio_mmc_pio.c
-@@ -557,6 +557,9 @@ void tmio_mmc_do_data_irq(struct tmio_mmc_host *host)
+@@ -557,6 +557,9 @@ void tmio_mmc_do_data_irq(struct tmio_mm
dev_err(&host->pdev->dev, "unsupported stop: CMD%u,0x%x. We did CMD12,0\n",
stop->opcode, stop->arg);
@@ -32,6 +30,3 @@ index 42a912a3de67..5b01d22932cd 100644
sd_ctrl_write16(host, CTL_STOP_INTERNAL_ACTION, 0);
}
---
-2.13.3
-
diff --git a/patches.renesas/0121-mmc-tmio-always-unmap-DMA-before-waiting-for-interru.patch b/patches.renesas/0121-mmc-tmio-always-unmap-DMA-before-waiting-for-interru.patch
index d6018d950d0e5f..4a3e7eaece85db 100644
--- a/patches.renesas/0121-mmc-tmio-always-unmap-DMA-before-waiting-for-interru.patch
+++ b/patches.renesas/0121-mmc-tmio-always-unmap-DMA-before-waiting-for-interru.patch
@@ -16,14 +16,12 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 5f07ef8f603ace496ca8c20eef446c5ae7a10474)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/mmc/host/tmio_mmc_dma.c | 7 +++++--
+ drivers/mmc/host/tmio_mmc_dma.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
-diff --git a/drivers/mmc/host/tmio_mmc_dma.c b/drivers/mmc/host/tmio_mmc_dma.c
-index c7684fa91f1f..e2093db2b7ff 100644
--- a/drivers/mmc/host/tmio_mmc_dma.c
+++ b/drivers/mmc/host/tmio_mmc_dma.c
-@@ -47,8 +47,6 @@ static void tmio_mmc_dma_callback(void *arg)
+@@ -47,8 +47,6 @@ static void tmio_mmc_dma_callback(void *
{
struct tmio_mmc_host *host = arg;
@@ -32,7 +30,7 @@ index c7684fa91f1f..e2093db2b7ff 100644
spin_lock_irq(&host->lock);
if (!host->data)
-@@ -63,6 +61,11 @@ static void tmio_mmc_dma_callback(void *arg)
+@@ -63,6 +61,11 @@ static void tmio_mmc_dma_callback(void *
host->sg_ptr, host->sg_len,
DMA_TO_DEVICE);
@@ -44,6 +42,3 @@ index c7684fa91f1f..e2093db2b7ff 100644
tmio_mmc_do_data_irq(host);
out:
spin_unlock_irq(&host->lock);
---
-2.13.3
-
diff --git a/patches.renesas/0122-mmc-tmio-always-get-number-of-taps.patch b/patches.renesas/0122-mmc-tmio-always-get-number-of-taps.patch
index 7cf16218ca64e6..2649afeef16fb7 100644
--- a/patches.renesas/0122-mmc-tmio-always-get-number-of-taps.patch
+++ b/patches.renesas/0122-mmc-tmio-always-get-number-of-taps.patch
@@ -16,14 +16,12 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 43b0b361b0170030603cf76f70b099f3323edcf3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/mmc/host/tmio_mmc_pio.c | 16 +++++++---------
+ drivers/mmc/host/tmio_mmc_pio.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
-diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
-index 5b01d22932cd..a2d92f10501b 100644
--- a/drivers/mmc/host/tmio_mmc_pio.c
+++ b/drivers/mmc/host/tmio_mmc_pio.c
-@@ -815,16 +815,14 @@ static int tmio_mmc_execute_tuning(struct mmc_host *mmc, u32 opcode)
+@@ -815,16 +815,14 @@ static int tmio_mmc_execute_tuning(struc
struct tmio_mmc_host *host = mmc_priv(mmc);
int i, ret = 0;
@@ -47,6 +45,3 @@ index 5b01d22932cd..a2d92f10501b 100644
if (host->tap_num * 2 >= sizeof(host->taps) * BITS_PER_BYTE) {
dev_warn_once(&host->pdev->dev,
---
-2.13.3
-
diff --git a/patches.renesas/0123-rtc-sh-add-support-for-rza-series.patch b/patches.renesas/0123-rtc-sh-add-support-for-rza-series.patch
index 4382f39e19acb2..796571d2a69b3e 100644
--- a/patches.renesas/0123-rtc-sh-add-support-for-rza-series.patch
+++ b/patches.renesas/0123-rtc-sh-add-support-for-rza-series.patch
@@ -13,12 +13,10 @@ Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
(cherry picked from commit dab5aec64bf5907f65926675807e4ebe83b3b10e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/rtc/Kconfig | 4 ++--
- drivers/rtc/rtc-sh.c | 33 ++++++++++++++++++++++++++++-----
- 2 files changed, 30 insertions(+), 7 deletions(-)
+ drivers/rtc/Kconfig | 4 ++--
+ drivers/rtc/rtc-sh.c | 35 +++++++++++++++++++++++++++++------
+ 2 files changed, 31 insertions(+), 8 deletions(-)
-diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
-index 0723c97ebea3..ca7e07043468 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -1301,10 +1301,10 @@ config RTC_DRV_SA1100
@@ -34,8 +32,6 @@ index 0723c97ebea3..ca7e07043468 100644
To compile this driver as a module, choose M here: the
module will be called rtc-sh.
-diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
-index 17b6235d67a5..9c45b5216b5f 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
@@ -27,7 +27,15 @@
@@ -54,7 +50,7 @@ index 17b6235d67a5..9c45b5216b5f 100644
#define DRV_NAME "sh-rtc"
-@@ -570,6 +578,8 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
+@@ -570,6 +578,8 @@ static int __init sh_rtc_probe(struct pl
rtc->alarm_irq = platform_get_irq(pdev, 2);
res = platform_get_resource(pdev, IORESOURCE_IO, 0);
@@ -63,7 +59,7 @@ index 17b6235d67a5..9c45b5216b5f 100644
if (unlikely(res == NULL)) {
dev_err(&pdev->dev, "No IO resource\n");
return -ENOENT;
-@@ -587,12 +597,15 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
+@@ -587,12 +597,15 @@ static int __init sh_rtc_probe(struct pl
if (unlikely(!rtc->regbase))
return -EINVAL;
@@ -71,20 +67,21 @@ index 17b6235d67a5..9c45b5216b5f 100644
- /* With a single device, the clock id is still "rtc0" */
- if (clk_id < 0)
- clk_id = 0;
+-
+- snprintf(clk_name, sizeof(clk_name), "rtc%d", clk_id);
+ if (!pdev->dev.of_node) {
+ clk_id = pdev->id;
+ /* With a single device, the clock id is still "rtc0" */
+ if (clk_id < 0)
+ clk_id = 0;
-
-- snprintf(clk_name, sizeof(clk_name), "rtc%d", clk_id);
++
+ snprintf(clk_name, sizeof(clk_name), "rtc%d", clk_id);
+ } else
+ snprintf(clk_name, sizeof(clk_name), "fck");
rtc->clk = devm_clk_get(&pdev->dev, clk_name);
if (IS_ERR(rtc->clk)) {
-@@ -608,6 +621,8 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
+@@ -608,6 +621,8 @@ static int __init sh_rtc_probe(struct pl
clk_enable(rtc->clk);
rtc->capabilities = RTC_DEF_CAPABILITIES;
@@ -93,7 +90,7 @@ index 17b6235d67a5..9c45b5216b5f 100644
if (dev_get_platdata(&pdev->dev)) {
struct sh_rtc_platform_info *pinfo =
dev_get_platdata(&pdev->dev);
-@@ -618,6 +633,7 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
+@@ -618,6 +633,7 @@ static int __init sh_rtc_probe(struct pl
*/
rtc->capabilities |= pinfo->capabilities;
}
@@ -101,7 +98,7 @@ index 17b6235d67a5..9c45b5216b5f 100644
if (rtc->carry_irq <= 0) {
/* register shared periodic/carry/alarm irq */
-@@ -738,10 +754,17 @@ static int sh_rtc_resume(struct device *dev)
+@@ -738,10 +754,17 @@ static int sh_rtc_resume(struct device *
static SIMPLE_DEV_PM_OPS(sh_rtc_pm_ops, sh_rtc_suspend, sh_rtc_resume);
@@ -119,6 +116,3 @@ index 17b6235d67a5..9c45b5216b5f 100644
},
.remove = __exit_p(sh_rtc_remove),
};
---
-2.13.3
-
diff --git a/patches.renesas/0124-dt-bindings-rtc-document-the-rtc-sh-bindings.patch b/patches.renesas/0124-dt-bindings-rtc-document-the-rtc-sh-bindings.patch
index 48146ecca81a18..54fd7ae1927a73 100644
--- a/patches.renesas/0124-dt-bindings-rtc-document-the-rtc-sh-bindings.patch
+++ b/patches.renesas/0124-dt-bindings-rtc-document-the-rtc-sh-bindings.patch
@@ -12,13 +12,10 @@ Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
(cherry picked from commit 04767b9fc2315c90a1e4bfdee883c0cbc122f30f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- Documentation/devicetree/bindings/rtc/rtc-sh.txt | 28 ++++++++++++++++++++++++
+ Documentation/devicetree/bindings/rtc/rtc-sh.txt | 28 +++++++++++++++++++++++
1 file changed, 28 insertions(+)
create mode 100644 Documentation/devicetree/bindings/rtc/rtc-sh.txt
-diff --git a/Documentation/devicetree/bindings/rtc/rtc-sh.txt b/Documentation/devicetree/bindings/rtc/rtc-sh.txt
-new file mode 100644
-index 000000000000..7676c7d28874
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/rtc-sh.txt
@@ -0,0 +1,28 @@
@@ -50,6 +47,3 @@ index 000000000000..7676c7d28874
+ <&rtc_x3_clk>, <&extal_clk>;
+ clock-names = "fck", "rtc_x1", "rtc_x3", "extal";
+};
---
-2.13.3
-
diff --git a/patches.renesas/0125-rtc-sh-mark-PM-functions-as-unused.patch b/patches.renesas/0125-rtc-sh-mark-PM-functions-as-unused.patch
index c537c60d03c1ab..e2ff000d174714 100644
--- a/patches.renesas/0125-rtc-sh-mark-PM-functions-as-unused.patch
+++ b/patches.renesas/0125-rtc-sh-mark-PM-functions-as-unused.patch
@@ -19,14 +19,12 @@ Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
(cherry picked from commit 5d05e81516cfe7606ee0cd8278fe225314dccfbe)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/rtc/rtc-sh.c | 6 ++----
+ drivers/rtc/rtc-sh.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
-diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
-index 9c45b5216b5f..fc2c3cdedbf9 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
-@@ -734,8 +734,7 @@ static void sh_rtc_set_irq_wake(struct device *dev, int enabled)
+@@ -734,8 +734,7 @@ static void sh_rtc_set_irq_wake(struct d
}
}
@@ -36,7 +34,7 @@ index 9c45b5216b5f..fc2c3cdedbf9 100644
{
if (device_may_wakeup(dev))
sh_rtc_set_irq_wake(dev, 1);
-@@ -743,14 +742,13 @@ static int sh_rtc_suspend(struct device *dev)
+@@ -743,14 +742,13 @@ static int sh_rtc_suspend(struct device
return 0;
}
@@ -52,6 +50,3 @@ index 9c45b5216b5f..fc2c3cdedbf9 100644
static SIMPLE_DEV_PM_OPS(sh_rtc_pm_ops, sh_rtc_suspend, sh_rtc_resume);
---
-2.13.3
-
diff --git a/patches.renesas/0126-serial-sh-sci-Fix-hang-in-sci_reset.patch b/patches.renesas/0126-serial-sh-sci-Fix-hang-in-sci_reset.patch
index 367c3f9fa007ad..734a0c0526e4a9 100644
--- a/patches.renesas/0126-serial-sh-sci-Fix-hang-in-sci_reset.patch
+++ b/patches.renesas/0126-serial-sh-sci-Fix-hang-in-sci_reset.patch
@@ -31,14 +31,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit e37f712f760478a3bce8a68b8d85b5b0bf6642eb)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/tty/serial/sh-sci.c | 4 ----
+ drivers/tty/serial/sh-sci.c | 4 ----
1 file changed, 4 deletions(-)
-diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
-index a08272553439..be09431e46f5 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
-@@ -2159,10 +2159,6 @@ static void sci_reset(struct uart_port *port)
+@@ -2159,10 +2159,6 @@ static void sci_reset(struct uart_port *
unsigned int status;
struct sci_port *s = to_sci_port(port);
@@ -49,6 +47,3 @@ index a08272553439..be09431e46f5 100644
serial_port_out(port, SCSCR, 0x00); /* TE=0, RE=0, CKE1=0 */
reg = sci_getreg(port, SCFCR);
---
-2.13.3
-
diff --git a/patches.renesas/0127-serial-sh-sci-Fix-late-enablement-of-AUTORTS.patch b/patches.renesas/0127-serial-sh-sci-Fix-late-enablement-of-AUTORTS.patch
index 5a57c96d489b73..a6e2f13ff20968 100644
--- a/patches.renesas/0127-serial-sh-sci-Fix-late-enablement-of-AUTORTS.patch
+++ b/patches.renesas/0127-serial-sh-sci-Fix-late-enablement-of-AUTORTS.patch
@@ -23,14 +23,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 5f76895e4c712b1b5af450cf344389b8c53ac2c2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/tty/serial/sh-sci.c | 4 ++++
+ drivers/tty/serial/sh-sci.c | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
-index be09431e46f5..a8b4bea3925b 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
-@@ -2372,6 +2372,10 @@ static void sci_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -2372,6 +2372,10 @@ done:
serial_port_out(port, SCFCR, ctrl);
}
@@ -41,6 +39,3 @@ index be09431e46f5..a8b4bea3925b 100644
scr_val |= SCSCR_RE | SCSCR_TE |
(s->cfg->scscr & ~(SCSCR_CKE1 | SCSCR_CKE0));
---
-2.13.3
-
diff --git a/patches.renesas/0128-serial-sh-sci-Fix-AUTO-RTS-in-sci_init_pins.patch b/patches.renesas/0128-serial-sh-sci-Fix-AUTO-RTS-in-sci_init_pins.patch
index cf0e953d995726..e2e3491f421fae 100644
--- a/patches.renesas/0128-serial-sh-sci-Fix-AUTO-RTS-in-sci_init_pins.patch
+++ b/patches.renesas/0128-serial-sh-sci-Fix-AUTO-RTS-in-sci_init_pins.patch
@@ -19,14 +19,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit cfa6eb239154315e6efcdda1d929e024097f927b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/tty/serial/sh-sci.c | 25 +++++++++++++++++++------
+ drivers/tty/serial/sh-sci.c | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
-diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
-index a8b4bea3925b..66b459e8a4ac 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
-@@ -683,24 +683,37 @@ static void sci_init_pins(struct uart_port *port, unsigned int cflag)
+@@ -683,24 +683,37 @@ static void sci_init_pins(struct uart_po
}
if (port->type == PORT_SCIFA || port->type == PORT_SCIFB) {
@@ -70,6 +68,3 @@ index a8b4bea3925b..66b459e8a4ac 100644
/* CTS# and SCK are inputs */
status &= ~(SCSPTR_CTSIO | SCSPTR_SCKIO);
serial_port_out(port, SCSPTR, status);
---
-2.13.3
-
diff --git a/patches.renesas/0129-clocksource-sh_tmu-Compute-rate-before-registration-.patch b/patches.renesas/0129-clocksource-sh_tmu-Compute-rate-before-registration-.patch
index 08bd3a40598388..d4fd838a5435d2 100644
--- a/patches.renesas/0129-clocksource-sh_tmu-Compute-rate-before-registration-.patch
+++ b/patches.renesas/0129-clocksource-sh_tmu-Compute-rate-before-registration-.patch
@@ -53,11 +53,9 @@ Signed-off-by: John Stultz <john.stultz@linaro.org>
(cherry picked from commit c3c0a20df9fc55e2243a31f91a943b3e8ba61289)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clocksource/sh_tmu.c | 26 +++++++++++++-------------
+ drivers/clocksource/sh_tmu.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
-diff --git a/drivers/clocksource/sh_tmu.c b/drivers/clocksource/sh_tmu.c
-index 469e776ec17a..820004297dec 100644
--- a/drivers/clocksource/sh_tmu.c
+++ b/drivers/clocksource/sh_tmu.c
@@ -46,7 +46,6 @@ struct sh_tmu_channel {
@@ -76,7 +74,7 @@ index 469e776ec17a..820004297dec 100644
enum sh_tmu_model model;
-@@ -165,7 +165,6 @@ static int __sh_tmu_enable(struct sh_tmu_channel *ch)
+@@ -165,7 +165,6 @@ static int __sh_tmu_enable(struct sh_tmu
sh_tmu_write(ch, TCNT, 0xffffffff);
/* configure channel to parent clock / 4, irq off */
@@ -84,7 +82,7 @@ index 469e776ec17a..820004297dec 100644
sh_tmu_write(ch, TCR, TCR_TPSC_CLK4);
/* enable channel */
-@@ -271,10 +270,8 @@ static int sh_tmu_clocksource_enable(struct clocksource *cs)
+@@ -271,10 +270,8 @@ static int sh_tmu_clocksource_enable(str
return 0;
ret = sh_tmu_enable(ch);
@@ -96,7 +94,7 @@ index 469e776ec17a..820004297dec 100644
return ret;
}
-@@ -334,8 +331,7 @@ static int sh_tmu_register_clocksource(struct sh_tmu_channel *ch,
+@@ -334,8 +331,7 @@ static int sh_tmu_register_clocksource(s
dev_info(&ch->tmu->pdev->dev, "ch%u: used as clock source\n",
ch->index);
@@ -106,7 +104,7 @@ index 469e776ec17a..820004297dec 100644
return 0;
}
-@@ -346,14 +342,10 @@ static struct sh_tmu_channel *ced_to_sh_tmu(struct clock_event_device *ced)
+@@ -346,14 +342,10 @@ static struct sh_tmu_channel *ced_to_sh_
static void sh_tmu_clock_event_start(struct sh_tmu_channel *ch, int periodic)
{
@@ -122,7 +120,7 @@ index 469e776ec17a..820004297dec 100644
sh_tmu_set_next(ch, ch->periodic, 1);
}
}
-@@ -435,7 +427,7 @@ static void sh_tmu_register_clockevent(struct sh_tmu_channel *ch,
+@@ -435,7 +427,7 @@ static void sh_tmu_register_clockevent(s
dev_info(&ch->tmu->pdev->dev, "ch%u: used for clock events\n",
ch->index);
@@ -131,7 +129,7 @@ index 469e776ec17a..820004297dec 100644
ret = request_irq(ch->irq, sh_tmu_interrupt,
IRQF_TIMER | IRQF_IRQPOLL | IRQF_NOBALANCING,
-@@ -561,6 +553,14 @@ static int sh_tmu_setup(struct sh_tmu_device *tmu, struct platform_device *pdev)
+@@ -561,6 +553,14 @@ static int sh_tmu_setup(struct sh_tmu_de
if (ret < 0)
goto err_clk_put;
@@ -146,6 +144,3 @@ index 469e776ec17a..820004297dec 100644
/* Map the memory resource. */
ret = sh_tmu_map_memory(tmu);
if (ret < 0) {
---
-2.13.3
-
diff --git a/patches.renesas/0130-ASoC-simple-scu-card-use-defined-dev-on-probe.patch b/patches.renesas/0130-ASoC-simple-scu-card-use-defined-dev-on-probe.patch
index f2078c679b6f9c..3c649fc1c2b273 100644
--- a/patches.renesas/0130-ASoC-simple-scu-card-use-defined-dev-on-probe.patch
+++ b/patches.renesas/0130-ASoC-simple-scu-card-use-defined-dev-on-probe.patch
@@ -11,14 +11,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 40b68dac75a1d16266d3c89244ccf7b899afac3e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/generic/simple-scu-card.c | 4 ++--
+ sound/soc/generic/simple-scu-card.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/sound/soc/generic/simple-scu-card.c b/sound/soc/generic/simple-scu-card.c
-index 308ff4c11a8d..420b1c50b850 100644
--- a/sound/soc/generic/simple-scu-card.c
+++ b/sound/soc/generic/simple-scu-card.c
-@@ -257,7 +257,7 @@ static int asoc_simple_card_probe(struct platform_device *pdev)
+@@ -257,7 +257,7 @@ static int asoc_simple_card_probe(struct
struct snd_soc_dai_link *dai_link;
struct asoc_simple_dai *dai_props;
struct device *dev = &pdev->dev;
@@ -27,7 +25,7 @@ index 308ff4c11a8d..420b1c50b850 100644
int num, ret;
/* Allocate the private data */
-@@ -292,7 +292,7 @@ static int asoc_simple_card_probe(struct platform_device *pdev)
+@@ -292,7 +292,7 @@ static int asoc_simple_card_probe(struct
snd_soc_card_set_drvdata(&priv->snd_card, priv);
@@ -36,6 +34,3 @@ index 308ff4c11a8d..420b1c50b850 100644
if (ret >= 0)
return ret;
err:
---
-2.13.3
-
diff --git a/patches.renesas/0131-ASoC-simple-scu-card-add-new-simple_priv_to_card-mac.patch b/patches.renesas/0131-ASoC-simple-scu-card-add-new-simple_priv_to_card-mac.patch
index fca3ad37144ca6..85da83e39bfa99 100644
--- a/patches.renesas/0131-ASoC-simple-scu-card-add-new-simple_priv_to_card-mac.patch
+++ b/patches.renesas/0131-ASoC-simple-scu-card-add-new-simple_priv_to_card-mac.patch
@@ -13,11 +13,9 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit d27f3b4a2d81e873de4d11899e510a1a507da8e3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/generic/simple-scu-card.c | 35 ++++++++++++++++++++---------------
+ sound/soc/generic/simple-scu-card.c | 35 ++++++++++++++++++++---------------
1 file changed, 20 insertions(+), 15 deletions(-)
-diff --git a/sound/soc/generic/simple-scu-card.c b/sound/soc/generic/simple-scu-card.c
-index 420b1c50b850..dcbcab230d1b 100644
--- a/sound/soc/generic/simple-scu-card.c
+++ b/sound/soc/generic/simple-scu-card.c
@@ -31,9 +31,10 @@ struct simple_card_data {
@@ -33,7 +31,7 @@ index 420b1c50b850..dcbcab230d1b 100644
#define DAI "sound-dai"
#define CELL "#sound-dai-cells"
-@@ -109,6 +110,7 @@ static int asoc_simple_card_dai_link_of(struct device_node *np,
+@@ -109,6 +110,7 @@ static int asoc_simple_card_dai_link_of(
struct device *dev = simple_priv_to_dev(priv);
struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, idx);
struct asoc_simple_dai *dai_props = simple_priv_to_props(priv, idx);
@@ -41,7 +39,7 @@ index 420b1c50b850..dcbcab230d1b 100644
int ret;
if (is_fe) {
-@@ -163,7 +165,7 @@ static int asoc_simple_card_dai_link_of(struct device_node *np,
+@@ -163,7 +165,7 @@ static int asoc_simple_card_dai_link_of(
if (ret < 0)
return ret;
@@ -50,7 +48,7 @@ index 420b1c50b850..dcbcab230d1b 100644
&priv->codec_conf,
dai_link->codec_of_node,
PREFIX "prefix");
-@@ -201,6 +203,7 @@ static int asoc_simple_card_parse_of(struct device_node *node,
+@@ -201,6 +203,7 @@ static int asoc_simple_card_parse_of(str
{
struct device *dev = simple_priv_to_dev(priv);
struct device_node *np;
@@ -58,7 +56,7 @@ index 420b1c50b850..dcbcab230d1b 100644
unsigned int daifmt = 0;
bool is_fe;
int ret, i;
-@@ -208,7 +211,7 @@ static int asoc_simple_card_parse_of(struct device_node *node,
+@@ -208,7 +211,7 @@ static int asoc_simple_card_parse_of(str
if (!node)
return -EINVAL;
@@ -67,7 +65,7 @@ index 420b1c50b850..dcbcab230d1b 100644
if (ret < 0)
return ret;
-@@ -239,12 +242,12 @@ static int asoc_simple_card_parse_of(struct device_node *node,
+@@ -239,12 +242,12 @@ static int asoc_simple_card_parse_of(str
i++;
}
@@ -82,7 +80,7 @@ index 420b1c50b850..dcbcab230d1b 100644
dev_dbg(dev, "convert_rate %d\n", priv->convert_rate);
dev_dbg(dev, "convert_channels %d\n", priv->convert_channels);
-@@ -256,6 +259,7 @@ static int asoc_simple_card_probe(struct platform_device *pdev)
+@@ -256,6 +259,7 @@ static int asoc_simple_card_probe(struct
struct simple_card_data *priv;
struct snd_soc_dai_link *dai_link;
struct asoc_simple_dai *dai_props;
@@ -90,7 +88,7 @@ index 420b1c50b850..dcbcab230d1b 100644
struct device *dev = &pdev->dev;
struct device_node *np = dev->of_node;
int num, ret;
-@@ -276,12 +280,13 @@ static int asoc_simple_card_probe(struct platform_device *pdev)
+@@ -276,12 +280,13 @@ static int asoc_simple_card_probe(struct
priv->dai_link = dai_link;
/* Init snd_soc_card */
@@ -110,7 +108,7 @@ index 420b1c50b850..dcbcab230d1b 100644
ret = asoc_simple_card_parse_of(np, priv);
if (ret < 0) {
-@@ -290,13 +295,13 @@ static int asoc_simple_card_probe(struct platform_device *pdev)
+@@ -290,13 +295,13 @@ static int asoc_simple_card_probe(struct
goto err;
}
@@ -127,6 +125,3 @@ index 420b1c50b850..dcbcab230d1b 100644
return ret;
}
---
-2.13.3
-
diff --git a/patches.renesas/0132-smsc911x-Adding-support-for-Micochip-LAN9250-Etherne.patch b/patches.renesas/0132-smsc911x-Adding-support-for-Micochip-LAN9250-Etherne.patch
index ecfd8824e4077c..8feb47d2b10a6f 100644
--- a/patches.renesas/0132-smsc911x-Adding-support-for-Micochip-LAN9250-Etherne.patch
+++ b/patches.renesas/0132-smsc911x-Adding-support-for-Micochip-LAN9250-Etherne.patch
@@ -12,12 +12,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit f6fec61eb555e47e87234e8915ad726ba6c2d3f8)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/net/ethernet/smsc/smsc911x.c | 49 ++++++++++++++++++++++--------------
- drivers/net/ethernet/smsc/smsc911x.h | 19 ++++++++++++++
+ drivers/net/ethernet/smsc/smsc911x.c | 49 +++++++++++++++++++++--------------
+ drivers/net/ethernet/smsc/smsc911x.h | 19 +++++++++++++
2 files changed, 49 insertions(+), 19 deletions(-)
-diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c
-index 6fb2d15b5351..d0e9f6530580 100644
--- a/drivers/net/ethernet/smsc/smsc911x.c
+++ b/drivers/net/ethernet/smsc/smsc911x.c
@@ -25,7 +25,7 @@
@@ -29,7 +27,7 @@ index 6fb2d15b5351..d0e9f6530580 100644
*
*/
-@@ -1450,6 +1450,8 @@ static int smsc911x_soft_reset(struct smsc911x_data *pdata)
+@@ -1450,6 +1450,8 @@ static int smsc911x_soft_reset(struct sm
unsigned int timeout;
unsigned int temp;
int ret;
@@ -38,7 +36,7 @@ index 6fb2d15b5351..d0e9f6530580 100644
/*
* Make sure to power-up the PHY chip before doing a reset, otherwise
-@@ -1476,15 +1478,23 @@ static int smsc911x_soft_reset(struct smsc911x_data *pdata)
+@@ -1476,15 +1478,23 @@ static int smsc911x_soft_reset(struct sm
}
}
@@ -66,7 +64,7 @@ index 6fb2d15b5351..d0e9f6530580 100644
SMSC_WARN(pdata, drv, "Failed to complete reset");
return -EIO;
}
-@@ -2259,28 +2269,29 @@ static int smsc911x_init(struct net_device *dev)
+@@ -2259,28 +2269,29 @@ static int smsc911x_init(struct net_devi
pdata->idrev = smsc911x_reg_read(pdata, ID_REV);
switch (pdata->idrev & 0xFFFF0000) {
@@ -110,8 +108,6 @@ index 6fb2d15b5351..d0e9f6530580 100644
pdata->generation = 4;
break;
-diff --git a/drivers/net/ethernet/smsc/smsc911x.h b/drivers/net/ethernet/smsc/smsc911x.h
-index 54d648920a1b..8d75508acd2b 100644
--- a/drivers/net/ethernet/smsc/smsc911x.h
+++ b/drivers/net/ethernet/smsc/smsc911x.h
@@ -20,6 +20,22 @@
@@ -147,6 +143,3 @@ index 54d648920a1b..8d75508acd2b 100644
/*
* MAC Control and Status Register (Indirect Address)
* Offset (through the MAC_CSR CMD and DATA port)
---
-2.13.3
-
diff --git a/patches.renesas/0133-usb-gadget-udc-renesas_usb3-add-USB-ID-signal-monito.patch b/patches.renesas/0133-usb-gadget-udc-renesas_usb3-add-USB-ID-signal-monito.patch
index 2e2ccfd7b57ffa..3844a6488fdfc4 100644
--- a/patches.renesas/0133-usb-gadget-udc-renesas_usb3-add-USB-ID-signal-monito.patch
+++ b/patches.renesas/0133-usb-gadget-udc-renesas_usb3-add-USB-ID-signal-monito.patch
@@ -14,11 +14,9 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
(cherry picked from commit 77172a1f886a696bab5b4d3006ccf55ee4b1bfe5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/gadget/udc/renesas_usb3.c | 67 ++++++++++++++++++++++++++++++++---
+ drivers/usb/gadget/udc/renesas_usb3.c | 67 +++++++++++++++++++++++++++++++---
1 file changed, 63 insertions(+), 4 deletions(-)
-diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c
-index ba78e3f7aea8..898e2d1b681e 100644
--- a/drivers/usb/gadget/udc/renesas_usb3.c
+++ b/drivers/usb/gadget/udc/renesas_usb3.c
@@ -37,6 +37,9 @@
@@ -41,7 +39,7 @@ index ba78e3f7aea8..898e2d1b681e 100644
/* P0_MOD */
#define P0_MOD_DIR BIT(6)
-@@ -362,10 +368,6 @@ static void usb3_init_axi_bridge(struct renesas_usb3 *usb3)
+@@ -362,10 +368,6 @@ static void usb3_init_axi_bridge(struct
static void usb3_init_epc_registers(struct renesas_usb3 *usb3)
{
@@ -52,7 +50,7 @@ index ba78e3f7aea8..898e2d1b681e 100644
usb3_write(usb3, ~0, USB3_USB_INT_STA_1);
usb3_enable_irq_1(usb3, USB_INT_1_VBUS_CNG);
}
-@@ -538,11 +540,49 @@ static void usb3_check_vbus(struct renesas_usb3 *usb3)
+@@ -538,11 +540,49 @@ static void usb3_check_vbus(struct renes
}
}
@@ -102,7 +100,7 @@ index ba78e3f7aea8..898e2d1b681e 100644
usb3_check_vbus(usb3);
}
-@@ -551,6 +591,7 @@ static void renesas_usb3_stop_controller(struct renesas_usb3 *usb3)
+@@ -551,6 +591,7 @@ static void renesas_usb3_stop_controller
usb3_disconnect(usb3);
usb3_write(usb3, 0, USB3_P0_INT_ENA);
usb3_write(usb3, 0, USB3_PN_INT_ENA);
@@ -110,7 +108,7 @@ index ba78e3f7aea8..898e2d1b681e 100644
usb3_write(usb3, 0, USB3_USB_INT_ENA_1);
usb3_write(usb3, 0, USB3_USB_INT_ENA_2);
usb3_write(usb3, 0, USB3_AXI_INT_ENA);
-@@ -1496,10 +1537,22 @@ static void usb3_irq_epc_int_2(struct renesas_usb3 *usb3, u32 int_sta_2)
+@@ -1496,10 +1537,22 @@ static void usb3_irq_epc_int_2(struct re
}
}
@@ -133,7 +131,7 @@ index ba78e3f7aea8..898e2d1b681e 100644
int_sta_1 &= usb3_read(usb3, USB3_USB_INT_ENA_1);
if (int_sta_1) {
-@@ -1510,6 +1563,12 @@ static void usb3_irq_epc(struct renesas_usb3 *usb3)
+@@ -1510,6 +1563,12 @@ static void usb3_irq_epc(struct renesas_
int_sta_2 &= usb3_read(usb3, USB3_USB_INT_ENA_2);
if (int_sta_2)
usb3_irq_epc_int_2(usb3, int_sta_2);
@@ -146,6 +144,3 @@ index ba78e3f7aea8..898e2d1b681e 100644
}
static irqreturn_t renesas_usb3_irq(int irq, void *_usb3)
---
-2.13.3
-
diff --git a/patches.renesas/0134-usb-gadget-udc-renesas_usb3-add-extcon-support.patch b/patches.renesas/0134-usb-gadget-udc-renesas_usb3-add-extcon-support.patch
index 35d0263560430c..517fc7f650c2d0 100644
--- a/patches.renesas/0134-usb-gadget-udc-renesas_usb3-add-extcon-support.patch
+++ b/patches.renesas/0134-usb-gadget-udc-renesas_usb3-add-extcon-support.patch
@@ -10,12 +10,10 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
(cherry picked from commit 3b68e7ca388815459ef4466e17ed6661d0d67a5b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/gadget/udc/Kconfig | 1 +
- drivers/usb/gadget/udc/renesas_usb3.c | 43 +++++++++++++++++++++++++++++++++--
+ drivers/usb/gadget/udc/Kconfig | 1
+ drivers/usb/gadget/udc/renesas_usb3.c | 43 ++++++++++++++++++++++++++++++++--
2 files changed, 42 insertions(+), 2 deletions(-)
-diff --git a/drivers/usb/gadget/udc/Kconfig b/drivers/usb/gadget/udc/Kconfig
-index 658b8da60915..ef7cf8dbf38c 100644
--- a/drivers/usb/gadget/udc/Kconfig
+++ b/drivers/usb/gadget/udc/Kconfig
@@ -177,6 +177,7 @@ config USB_RENESAS_USBHS_UDC
@@ -26,8 +24,6 @@ index 658b8da60915..ef7cf8dbf38c 100644
help
Renesas USB3.0 Peripheral controller is a USB peripheral controller
that supports super, high, and full speed USB 3.0 data transfers.
-diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c
-index 898e2d1b681e..55f8a966b3ae 100644
--- a/drivers/usb/gadget/udc/renesas_usb3.c
+++ b/drivers/usb/gadget/udc/renesas_usb3.c
@@ -10,6 +10,7 @@
@@ -56,7 +52,7 @@ index 898e2d1b681e..55f8a966b3ae 100644
};
#define gadget_to_renesas_usb3(_gadget) \
-@@ -338,6 +343,15 @@ static int usb3_wait(struct renesas_usb3 *usb3, u32 reg, u32 mask,
+@@ -338,6 +343,15 @@ static int usb3_wait(struct renesas_usb3
return -EBUSY;
}
@@ -72,7 +68,7 @@ index 898e2d1b681e..55f8a966b3ae 100644
static void usb3_enable_irq_1(struct renesas_usb3 *usb3, u32 bits)
{
usb3_set_bit(usb3, bits, USB3_USB_INT_ENA_1);
-@@ -533,10 +547,14 @@ static void usb3_check_vbus(struct renesas_usb3 *usb3)
+@@ -533,10 +547,14 @@ static void usb3_check_vbus(struct renes
if (usb3->workaround_for_vbus) {
usb3_connect(usb3);
} else {
@@ -88,7 +84,7 @@ index 898e2d1b681e..55f8a966b3ae 100644
}
}
-@@ -569,10 +587,14 @@ static bool usb3_is_a_device(struct renesas_usb3 *usb3)
+@@ -569,10 +587,14 @@ static bool usb3_is_a_device(struct rene
static void usb3_check_id(struct renesas_usb3 *usb3)
{
@@ -104,7 +100,7 @@ index 898e2d1b681e..55f8a966b3ae 100644
}
static void renesas_usb3_init_controller(struct renesas_usb3 *usb3)
-@@ -1975,6 +1997,12 @@ static const struct of_device_id usb3_of_match[] = {
+@@ -1975,6 +1997,12 @@ static const struct of_device_id usb3_of
};
MODULE_DEVICE_TABLE(of, usb3_of_match);
@@ -117,7 +113,7 @@ index 898e2d1b681e..55f8a966b3ae 100644
static int renesas_usb3_probe(struct platform_device *pdev)
{
struct renesas_usb3 *usb3;
-@@ -2018,6 +2046,17 @@ static int renesas_usb3_probe(struct platform_device *pdev)
+@@ -2018,6 +2046,17 @@ static int renesas_usb3_probe(struct pla
if (ret < 0)
return ret;
@@ -135,6 +131,3 @@ index 898e2d1b681e..55f8a966b3ae 100644
/* for ep0 handling */
usb3->ep0_req = __renesas_usb3_ep_alloc_request(GFP_KERNEL);
if (!usb3->ep0_req)
---
-2.13.3
-
diff --git a/patches.renesas/0135-usb-gadget-udc-renesas_usb3-add-support-for-usb-role.patch b/patches.renesas/0135-usb-gadget-udc-renesas_usb3-add-support-for-usb-role.patch
index e3415ca5bc3d63..8329a8e0c3f5e5 100644
--- a/patches.renesas/0135-usb-gadget-udc-renesas_usb3-add-support-for-usb-role.patch
+++ b/patches.renesas/0135-usb-gadget-udc-renesas_usb3-add-support-for-usb-role.patch
@@ -28,14 +28,11 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
drivers/usb/gadget/udc/renesas_usb3.c
---
- .../ABI/testing/sysfs-platform-renesas_usb3 | 15 ++++++
- drivers/usb/gadget/udc/renesas_usb3.c | 56 ++++++++++++++++++++++
+ Documentation/ABI/testing/sysfs-platform-renesas_usb3 | 15 ++++
+ drivers/usb/gadget/udc/renesas_usb3.c | 56 ++++++++++++++++++
2 files changed, 71 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-platform-renesas_usb3
-diff --git a/Documentation/ABI/testing/sysfs-platform-renesas_usb3 b/Documentation/ABI/testing/sysfs-platform-renesas_usb3
-new file mode 100644
-index 000000000000..5621c15d5dc0
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-platform-renesas_usb3
@@ -0,0 +1,15 @@
@@ -54,11 +51,9 @@ index 000000000000..5621c15d5dc0
+ Read the file, then it shows the following strings:
+ "host" - The mode is host now.
+ "peripheral" - The mode is peripheral now.
-diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c
-index 55f8a966b3ae..f16649c6d76e 100644
--- a/drivers/usb/gadget/udc/renesas_usb3.c
+++ b/drivers/usb/gadget/udc/renesas_usb3.c
-@@ -372,6 +372,11 @@ static void usb3_disable_pipe_irq(struct renesas_usb3 *usb3, int num)
+@@ -372,6 +372,11 @@ static void usb3_disable_pipe_irq(struct
usb3_clear_bit(usb3, USB_INT_2_PIPE(num), USB3_USB_INT_ENA_2);
}
@@ -70,7 +65,7 @@ index 55f8a966b3ae..f16649c6d76e 100644
static void usb3_init_axi_bridge(struct renesas_usb3 *usb3)
{
/* Set AXI_INT */
-@@ -576,8 +581,14 @@ static void usb3_vbus_out(struct renesas_usb3 *usb3, bool enable)
+@@ -576,8 +581,14 @@ static void usb3_vbus_out(struct renesas
static void usb3_mode_config(struct renesas_usb3 *usb3, bool host, bool a_dev)
{
@@ -85,7 +80,7 @@ index 55f8a966b3ae..f16649c6d76e 100644
}
static bool usb3_is_a_device(struct renesas_usb3 *usb3)
-@@ -1862,11 +1873,49 @@ static const struct usb_gadget_ops renesas_usb3_gadget_ops = {
+@@ -1862,11 +1873,49 @@ static const struct usb_gadget_ops renes
.set_selfpowered = renesas_usb3_set_selfpowered,
};
@@ -135,7 +130,7 @@ index 55f8a966b3ae..f16649c6d76e 100644
usb_del_gadget_udc(&usb3->gadget);
__renesas_usb3_ep_free_request(usb3->ep0_req);
-@@ -2066,12 +2115,19 @@ static int renesas_usb3_probe(struct platform_device *pdev)
+@@ -2066,12 +2115,19 @@ static int renesas_usb3_probe(struct pla
if (ret < 0)
goto err_add_udc;
@@ -155,6 +150,3 @@ index 55f8a966b3ae..f16649c6d76e 100644
err_add_udc:
__renesas_usb3_ep_free_request(usb3->ep0_req);
---
-2.13.3
-
diff --git a/patches.renesas/0136-usb-gadget-udc-renesas_usb3-fix-pm_runtime-functions.patch b/patches.renesas/0136-usb-gadget-udc-renesas_usb3-fix-pm_runtime-functions.patch
index 86c82b4bf276bf..592f71fcab66a4 100644
--- a/patches.renesas/0136-usb-gadget-udc-renesas_usb3-fix-pm_runtime-functions.patch
+++ b/patches.renesas/0136-usb-gadget-udc-renesas_usb3-fix-pm_runtime-functions.patch
@@ -16,14 +16,12 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
(cherry picked from commit cdc876877ebc3f0677b267756d4564e2a429e730)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/gadget/udc/renesas_usb3.c | 3 +++
+ drivers/usb/gadget/udc/renesas_usb3.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c
-index f16649c6d76e..401ba92f15db 100644
--- a/drivers/usb/gadget/udc/renesas_usb3.c
+++ b/drivers/usb/gadget/udc/renesas_usb3.c
-@@ -1841,6 +1841,9 @@ static int renesas_usb3_stop(struct usb_gadget *gadget)
+@@ -1841,6 +1841,9 @@ static int renesas_usb3_stop(struct usb_
pm_runtime_put(usb3_to_dev(usb3));
pm_runtime_disable(usb3_to_dev(usb3));
@@ -33,6 +31,3 @@ index f16649c6d76e..401ba92f15db 100644
return 0;
}
---
-2.13.3
-
diff --git a/patches.renesas/0137-usb-gadget-udc-renesas_usb3-fix-deadlock-by-spinlock.patch b/patches.renesas/0137-usb-gadget-udc-renesas_usb3-fix-deadlock-by-spinlock.patch
index fb38b7e0aabb64..5df0c4045b2222 100644
--- a/patches.renesas/0137-usb-gadget-udc-renesas_usb3-fix-deadlock-by-spinlock.patch
+++ b/patches.renesas/0137-usb-gadget-udc-renesas_usb3-fix-deadlock-by-spinlock.patch
@@ -18,14 +18,12 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
drivers/usb/gadget/udc/renesas_usb3.c
---
- drivers/usb/gadget/udc/renesas_usb3.c | 3 ---
+ drivers/usb/gadget/udc/renesas_usb3.c | 3 ---
1 file changed, 3 deletions(-)
-diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c
-index 401ba92f15db..f16649c6d76e 100644
--- a/drivers/usb/gadget/udc/renesas_usb3.c
+++ b/drivers/usb/gadget/udc/renesas_usb3.c
-@@ -1841,9 +1841,6 @@ static int renesas_usb3_stop(struct usb_gadget *gadget)
+@@ -1841,9 +1841,6 @@ static int renesas_usb3_stop(struct usb_
pm_runtime_put(usb3_to_dev(usb3));
pm_runtime_disable(usb3_to_dev(usb3));
@@ -35,6 +33,3 @@ index 401ba92f15db..f16649c6d76e 100644
return 0;
}
---
-2.13.3
-
diff --git a/patches.renesas/0138-usb-gadget-udc-renesas_usb3-Fix-PN_INT_ENA-disabling.patch b/patches.renesas/0138-usb-gadget-udc-renesas_usb3-Fix-PN_INT_ENA-disabling.patch
index 49eaf3d434acc0..2f42bea5c3be5f 100644
--- a/patches.renesas/0138-usb-gadget-udc-renesas_usb3-Fix-PN_INT_ENA-disabling.patch
+++ b/patches.renesas/0138-usb-gadget-udc-renesas_usb3-Fix-PN_INT_ENA-disabling.patch
@@ -14,14 +14,12 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
(cherry picked from commit afbbc7913a288c29616bd31ae612548f6475151a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/gadget/udc/renesas_usb3.c | 2 +-
+ drivers/usb/gadget/udc/renesas_usb3.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c
-index f16649c6d76e..cba129376001 100644
--- a/drivers/usb/gadget/udc/renesas_usb3.c
+++ b/drivers/usb/gadget/udc/renesas_usb3.c
-@@ -623,7 +623,6 @@ static void renesas_usb3_stop_controller(struct renesas_usb3 *usb3)
+@@ -623,7 +623,6 @@ static void renesas_usb3_stop_controller
{
usb3_disconnect(usb3);
usb3_write(usb3, 0, USB3_P0_INT_ENA);
@@ -29,7 +27,7 @@ index f16649c6d76e..cba129376001 100644
usb3_write(usb3, 0, USB3_USB_OTG_INT_ENA);
usb3_write(usb3, 0, USB3_USB_INT_ENA_1);
usb3_write(usb3, 0, USB3_USB_INT_ENA_2);
-@@ -1682,6 +1681,7 @@ static int usb3_disable_pipe_n(struct renesas_usb3_ep *usb3_ep)
+@@ -1682,6 +1681,7 @@ static int usb3_disable_pipe_n(struct re
spin_lock_irqsave(&usb3->lock, flags);
if (!usb3_pn_change(usb3, usb3_ep->num)) {
@@ -37,6 +35,3 @@ index f16649c6d76e..cba129376001 100644
usb3_write(usb3, 0, USB3_PN_RAMMAP);
usb3_clear_bit(usb3, PN_CON_EN, USB3_PN_CON);
}
---
-2.13.3
-
diff --git a/patches.renesas/0139-media-v4l-vsp1-Fix-format-info-documentation.patch b/patches.renesas/0139-media-v4l-vsp1-Fix-format-info-documentation.patch
index 300d1af0838f32..3e8eaab060af86 100644
--- a/patches.renesas/0139-media-v4l-vsp1-Fix-format-info-documentation.patch
+++ b/patches.renesas/0139-media-v4l-vsp1-Fix-format-info-documentation.patch
@@ -13,11 +13,9 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit f1450162544f5c4dc801c85bb28f64c0fa6146e7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_pipe.h | 5 +++--
+ drivers/media/platform/vsp1/vsp1_pipe.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
-diff --git a/drivers/media/platform/vsp1/vsp1_pipe.h b/drivers/media/platform/vsp1/vsp1_pipe.h
-index ac4ad2655551..1144bf1e671a 100644
--- a/drivers/media/platform/vsp1/vsp1_pipe.h
+++ b/drivers/media/platform/vsp1/vsp1_pipe.h
@@ -25,11 +25,12 @@ struct vsp1_rwpf;
@@ -35,6 +33,3 @@ index ac4ad2655551..1144bf1e671a 100644
* @swap_yc: the Y and C components are swapped (Y comes before C)
* @swap_uv: the U and V components are swapped (V comes before U)
* @hsub: horizontal subsampling factor
---
-2.13.3
-
diff --git a/patches.renesas/0140-media-v4l-vsp1-Clean-up-file-handle-in-open-error-pa.patch b/patches.renesas/0140-media-v4l-vsp1-Clean-up-file-handle-in-open-error-pa.patch
index 6e4071b4144d60..2db49b994116b9 100644
--- a/patches.renesas/0140-media-v4l-vsp1-Clean-up-file-handle-in-open-error-pa.patch
+++ b/patches.renesas/0140-media-v4l-vsp1-Clean-up-file-handle-in-open-error-pa.patch
@@ -14,14 +14,12 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit dadc3be66c282d4c2c917186447494ae79f7b79f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_video.c | 1 +
+ drivers/media/platform/vsp1/vsp1_video.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c
-index 3319277c026a..0113a55b19c9 100644
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
-@@ -1050,6 +1050,7 @@ static int vsp1_video_open(struct file *file)
+@@ -1050,6 +1050,7 @@ static int vsp1_video_open(struct file *
ret = vsp1_device_get(video->vsp1);
if (ret < 0) {
v4l2_fh_del(vfh);
@@ -29,6 +27,3 @@ index 3319277c026a..0113a55b19c9 100644
kfree(vfh);
}
---
-2.13.3
-
diff --git a/patches.renesas/0141-media-v4l-vsp1-Fix-RPF-WPF-U-V-order-in-3-planar-for.patch b/patches.renesas/0141-media-v4l-vsp1-Fix-RPF-WPF-U-V-order-in-3-planar-for.patch
index 19bcf234ec3e42..b6edaac52125e5 100644
--- a/patches.renesas/0141-media-v4l-vsp1-Fix-RPF-WPF-U-V-order-in-3-planar-for.patch
+++ b/patches.renesas/0141-media-v4l-vsp1-Fix-RPF-WPF-U-V-order-in-3-planar-for.patch
@@ -16,15 +16,13 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 3425382288fbd13b60581f20076aebd0ef414282)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_rpf.c | 43 ++++++++++++++++++++--------------
- drivers/media/platform/vsp1/vsp1_wpf.c | 9 +++++++
- 2 files changed, 35 insertions(+), 17 deletions(-)
+ drivers/media/platform/vsp1/vsp1_rpf.c | 41 ++++++++++++++++++++-------------
+ drivers/media/platform/vsp1/vsp1_wpf.c | 9 +++++++
+ 2 files changed, 34 insertions(+), 16 deletions(-)
-diff --git a/drivers/media/platform/vsp1/vsp1_rpf.c b/drivers/media/platform/vsp1/vsp1_rpf.c
-index b2e34a800ffa..1d0944f308ae 100644
--- a/drivers/media/platform/vsp1/vsp1_rpf.c
+++ b/drivers/media/platform/vsp1/vsp1_rpf.c
-@@ -72,7 +72,8 @@ static void rpf_configure(struct vsp1_entity *entity,
+@@ -72,7 +72,8 @@ static void rpf_configure(struct vsp1_en
}
if (params == VSP1_ENTITY_PARAMS_PARTITION) {
@@ -34,13 +32,15 @@ index b2e34a800ffa..1d0944f308ae 100644
struct v4l2_rect crop;
/*
-@@ -120,22 +121,30 @@ static void rpf_configure(struct vsp1_entity *entity,
+@@ -120,22 +121,30 @@ static void rpf_configure(struct vsp1_en
(crop.width << VI6_RPF_SRC_ESIZE_EHSIZE_SHIFT) |
(crop.height << VI6_RPF_SRC_ESIZE_EVSIZE_SHIFT));
- offsets[0] = crop.top * format->plane_fmt[0].bytesperline
- + crop.left * fmtinfo->bpp[0] / 8;
--
++ mem.addr[0] += crop.top * format->plane_fmt[0].bytesperline
++ + crop.left * fmtinfo->bpp[0] / 8;
+
- if (format->num_planes > 1)
- offsets[1] = crop.top * format->plane_fmt[1].bytesperline
- + crop.left / fmtinfo->hsub
@@ -54,9 +54,6 @@ index b2e34a800ffa..1d0944f308ae 100644
- rpf->mem.addr[1] + offsets[1]);
- vsp1_rpf_write(rpf, dl, VI6_RPF_SRCM_ADDR_C1,
- rpf->mem.addr[2] + offsets[1]);
-+ mem.addr[0] += crop.top * format->plane_fmt[0].bytesperline
-+ + crop.left * fmtinfo->bpp[0] / 8;
-+
+ if (format->num_planes > 1) {
+ unsigned int offset;
+
@@ -81,11 +78,9 @@ index b2e34a800ffa..1d0944f308ae 100644
return;
}
-diff --git a/drivers/media/platform/vsp1/vsp1_wpf.c b/drivers/media/platform/vsp1/vsp1_wpf.c
-index 7c48f81cd5c1..052a83e2d489 100644
--- a/drivers/media/platform/vsp1/vsp1_wpf.c
+++ b/drivers/media/platform/vsp1/vsp1_wpf.c
-@@ -216,6 +216,7 @@ static void wpf_configure(struct vsp1_entity *entity,
+@@ -216,6 +216,7 @@ static void wpf_configure(struct vsp1_en
if (params == VSP1_ENTITY_PARAMS_PARTITION) {
const struct v4l2_pix_format_mplane *format = &wpf->format;
@@ -93,7 +88,7 @@ index 7c48f81cd5c1..052a83e2d489 100644
struct vsp1_rwpf_memory mem = wpf->mem;
unsigned int flip = wpf->flip.active;
unsigned int width = source_format->width;
-@@ -281,6 +282,14 @@ static void wpf_configure(struct vsp1_entity *entity,
+@@ -281,6 +282,14 @@ static void wpf_configure(struct vsp1_en
}
}
@@ -108,6 +103,3 @@ index 7c48f81cd5c1..052a83e2d489 100644
vsp1_wpf_write(wpf, dl, VI6_WPF_DSTM_ADDR_Y, mem.addr[0]);
vsp1_wpf_write(wpf, dl, VI6_WPF_DSTM_ADDR_C0, mem.addr[1]);
vsp1_wpf_write(wpf, dl, VI6_WPF_DSTM_ADDR_C1, mem.addr[2]);
---
-2.13.3
-
diff --git a/patches.renesas/0142-media-v4l-vsp1-Prevent-multiple-streamon-race-commen.patch b/patches.renesas/0142-media-v4l-vsp1-Prevent-multiple-streamon-race-commen.patch
index b9e90a17c74452..e8cd34d400733c 100644
--- a/patches.renesas/0142-media-v4l-vsp1-Prevent-multiple-streamon-race-commen.patch
+++ b/patches.renesas/0142-media-v4l-vsp1-Prevent-multiple-streamon-race-commen.patch
@@ -30,14 +30,12 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 4461c84b52b4a952c657505ef7e4e06b016783df)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_video.c | 13 +++++++++++++
+ drivers/media/platform/vsp1/vsp1_video.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
-diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c
-index 0113a55b19c9..eb422c150847 100644
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
-@@ -797,6 +797,7 @@ static int vsp1_video_start_streaming(struct vb2_queue *vq, unsigned int count)
+@@ -797,6 +797,7 @@ static int vsp1_video_start_streaming(st
{
struct vsp1_video *video = vb2_get_drv_priv(vq);
struct vsp1_pipeline *pipe = video->rwpf->pipe;
@@ -45,7 +43,7 @@ index 0113a55b19c9..eb422c150847 100644
unsigned long flags;
int ret;
-@@ -807,11 +808,23 @@ static int vsp1_video_start_streaming(struct vb2_queue *vq, unsigned int count)
+@@ -807,11 +808,23 @@ static int vsp1_video_start_streaming(st
mutex_unlock(&pipe->lock);
return ret;
}
@@ -69,6 +67,3 @@ index 0113a55b19c9..eb422c150847 100644
spin_lock_irqsave(&pipe->irqlock, flags);
if (vsp1_pipeline_ready(pipe))
vsp1_video_pipeline_run(pipe);
---
-2.13.3
-
diff --git a/patches.renesas/0143-media-v4l-vsp1-Remove-redundant-pipe-dl-usage-from-d.patch b/patches.renesas/0143-media-v4l-vsp1-Remove-redundant-pipe-dl-usage-from-d.patch
index 3fe15d4f32f577..a9fa3a4e25f397 100644
--- a/patches.renesas/0143-media-v4l-vsp1-Remove-redundant-pipe-dl-usage-from-d.patch
+++ b/patches.renesas/0143-media-v4l-vsp1-Remove-redundant-pipe-dl-usage-from-d.patch
@@ -13,14 +13,12 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit f2074708ee07848f86105b68bdce062de4e6685d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_drm.c | 20 ++++++++++----------
+ drivers/media/platform/vsp1/vsp1_drm.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
-diff --git a/drivers/media/platform/vsp1/vsp1_drm.c b/drivers/media/platform/vsp1/vsp1_drm.c
-index 10287be5606f..afcb754579fc 100644
--- a/drivers/media/platform/vsp1/vsp1_drm.c
+++ b/drivers/media/platform/vsp1/vsp1_drm.c
-@@ -219,9 +219,6 @@ void vsp1_du_atomic_begin(struct device *dev)
+@@ -219,9 +219,6 @@ void vsp1_du_atomic_begin(struct device
struct vsp1_pipeline *pipe = &vsp1->drm->pipe;
vsp1->drm->num_inputs = pipe->num_inputs;
@@ -30,7 +28,7 @@ index 10287be5606f..afcb754579fc 100644
}
EXPORT_SYMBOL_GPL(vsp1_du_atomic_begin);
-@@ -425,10 +422,14 @@ void vsp1_du_atomic_flush(struct device *dev)
+@@ -425,10 +422,14 @@ void vsp1_du_atomic_flush(struct device
struct vsp1_pipeline *pipe = &vsp1->drm->pipe;
struct vsp1_rwpf *inputs[VSP1_MAX_RPF] = { NULL, };
struct vsp1_entity *entity;
@@ -45,7 +43,7 @@ index 10287be5606f..afcb754579fc 100644
/* Count the number of enabled inputs and sort them by Z-order. */
pipe->num_inputs = 0;
-@@ -483,26 +484,25 @@ void vsp1_du_atomic_flush(struct device *dev)
+@@ -483,26 +484,25 @@ void vsp1_du_atomic_flush(struct device
struct vsp1_rwpf *rpf = to_rwpf(&entity->subdev);
if (!pipe->inputs[rpf->entity.index]) {
@@ -78,6 +76,3 @@ index 10287be5606f..afcb754579fc 100644
/* Start or stop the pipeline if needed. */
if (!vsp1->drm->num_inputs && pipe->num_inputs) {
---
-2.13.3
-
diff --git a/patches.renesas/0144-media-v4l-vsp1-Fix-multi-line-comment-style.patch b/patches.renesas/0144-media-v4l-vsp1-Fix-multi-line-comment-style.patch
index ff61084da16c93..9aeb5133ae8d6a 100644
--- a/patches.renesas/0144-media-v4l-vsp1-Fix-multi-line-comment-style.patch
+++ b/patches.renesas/0144-media-v4l-vsp1-Fix-multi-line-comment-style.patch
@@ -10,27 +10,25 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 9dbed95ba640c1b4fb2d069814924811bdeb0de6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_bru.c | 27 ++++++++++++++++---------
- drivers/media/platform/vsp1/vsp1_dl.c | 27 ++++++++++++++++---------
- drivers/media/platform/vsp1/vsp1_drm.c | 21 +++++++++++++-------
- drivers/media/platform/vsp1/vsp1_drv.c | 12 +++++++----
- drivers/media/platform/vsp1/vsp1_entity.c | 9 ++++++---
- drivers/media/platform/vsp1/vsp1_hsit.c | 3 ++-
- drivers/media/platform/vsp1/vsp1_lif.c | 6 ++++--
- drivers/media/platform/vsp1/vsp1_pipe.c | 9 ++++++---
- drivers/media/platform/vsp1/vsp1_rpf.c | 9 ++++++---
- drivers/media/platform/vsp1/vsp1_rwpf.c | 6 ++++--
- drivers/media/platform/vsp1/vsp1_sru.c | 3 ++-
- drivers/media/platform/vsp1/vsp1_uds.c | 3 ++-
- drivers/media/platform/vsp1/vsp1_video.c | 33 ++++++++++++++++++++-----------
- drivers/media/platform/vsp1/vsp1_wpf.c | 12 +++++++----
+ drivers/media/platform/vsp1/vsp1_bru.c | 27 ++++++++++++++++--------
+ drivers/media/platform/vsp1/vsp1_dl.c | 27 ++++++++++++++++--------
+ drivers/media/platform/vsp1/vsp1_drm.c | 21 ++++++++++++-------
+ drivers/media/platform/vsp1/vsp1_drv.c | 12 +++++++---
+ drivers/media/platform/vsp1/vsp1_entity.c | 9 +++++---
+ drivers/media/platform/vsp1/vsp1_hsit.c | 3 +-
+ drivers/media/platform/vsp1/vsp1_lif.c | 6 +++--
+ drivers/media/platform/vsp1/vsp1_pipe.c | 9 +++++---
+ drivers/media/platform/vsp1/vsp1_rpf.c | 9 +++++---
+ drivers/media/platform/vsp1/vsp1_rwpf.c | 6 +++--
+ drivers/media/platform/vsp1/vsp1_sru.c | 3 +-
+ drivers/media/platform/vsp1/vsp1_uds.c | 3 +-
+ drivers/media/platform/vsp1/vsp1_video.c | 33 ++++++++++++++++++++----------
+ drivers/media/platform/vsp1/vsp1_wpf.c | 12 +++++++---
14 files changed, 120 insertions(+), 60 deletions(-)
-diff --git a/drivers/media/platform/vsp1/vsp1_bru.c b/drivers/media/platform/vsp1/vsp1_bru.c
-index ee8355c28f94..85362c5ef57a 100644
--- a/drivers/media/platform/vsp1/vsp1_bru.c
+++ b/drivers/media/platform/vsp1/vsp1_bru.c
-@@ -251,7 +251,8 @@ static int bru_set_selection(struct v4l2_subdev *subdev,
+@@ -251,7 +251,8 @@ static int bru_set_selection(struct v4l2
sel->r.left = clamp_t(unsigned int, sel->r.left, 0, format->width - 1);
sel->r.top = clamp_t(unsigned int, sel->r.top, 0, format->height - 1);
@@ -40,7 +38,7 @@ index ee8355c28f94..85362c5ef57a 100644
* to the sink format size.
*/
format = vsp1_entity_get_pad_format(&bru->entity, config, sel->pad);
-@@ -300,13 +301,15 @@ static void bru_configure(struct vsp1_entity *entity,
+@@ -300,13 +301,15 @@ static void bru_configure(struct vsp1_en
format = vsp1_entity_get_pad_format(&bru->entity, bru->entity.config,
bru->entity.source_pad);
@@ -58,7 +56,7 @@ index ee8355c28f94..85362c5ef57a 100644
* format at the pipeline output is premultiplied.
*/
flags = pipe->output ? pipe->output->format.flags : 0;
-@@ -314,7 +317,8 @@ static void bru_configure(struct vsp1_entity *entity,
+@@ -314,7 +317,8 @@ static void bru_configure(struct vsp1_en
flags & V4L2_PIX_FMT_FLAG_PREMUL_ALPHA ?
0 : VI6_BRU_INCTRL_NRM);
@@ -68,7 +66,7 @@ index ee8355c28f94..85362c5ef57a 100644
* configure its color.
*/
vsp1_bru_write(bru, dl, VI6_BRU_VIRRPF_SIZE,
-@@ -325,7 +329,8 @@ static void bru_configure(struct vsp1_entity *entity,
+@@ -325,7 +329,8 @@ static void bru_configure(struct vsp1_en
vsp1_bru_write(bru, dl, VI6_BRU_VIRRPF_COL, bru->bgcolor |
(0xff << VI6_BRU_VIRRPF_COL_A_SHIFT));
@@ -78,7 +76,7 @@ index ee8355c28f94..85362c5ef57a 100644
* unit with a NOP operation to make BRU input 1 available as the
* Blend/ROP unit B SRC input.
*/
-@@ -337,7 +342,8 @@ static void bru_configure(struct vsp1_entity *entity,
+@@ -337,7 +342,8 @@ static void bru_configure(struct vsp1_en
bool premultiplied = false;
u32 ctrl = 0;
@@ -88,7 +86,7 @@ index ee8355c28f94..85362c5ef57a 100644
* input for alpha blending. Blend/ROP units corresponding to
* disabled BRU inputs are used in ROP NOP mode to ignore the
* SRC input.
-@@ -352,13 +358,15 @@ static void bru_configure(struct vsp1_entity *entity,
+@@ -352,13 +358,15 @@ static void bru_configure(struct vsp1_en
| VI6_BRU_CTRL_AROP(VI6_ROP_NOP);
}
@@ -106,7 +104,7 @@ index ee8355c28f94..85362c5ef57a 100644
* D in that order. The Blend/ROP unit B SRC is hardwired to the
* ROP unit output, the corresponding register bits must be set
* to 0.
-@@ -368,7 +376,8 @@ static void bru_configure(struct vsp1_entity *entity,
+@@ -368,7 +376,8 @@ static void bru_configure(struct vsp1_en
vsp1_bru_write(bru, dl, VI6_BRU_CTRL(i), ctrl);
@@ -116,11 +114,9 @@ index ee8355c28f94..85362c5ef57a 100644
*
* DSTc = DSTc * (1 - SRCa) + SRCc * SRCa
* DSTa = DSTa * (1 - SRCa) + SRCa
-diff --git a/drivers/media/platform/vsp1/vsp1_dl.c b/drivers/media/platform/vsp1/vsp1_dl.c
-index ad545aff4e35..7d8f37772b56 100644
--- a/drivers/media/platform/vsp1/vsp1_dl.c
+++ b/drivers/media/platform/vsp1/vsp1_dl.c
-@@ -240,7 +240,8 @@ static struct vsp1_dl_list *vsp1_dl_list_alloc(struct vsp1_dl_manager *dlm)
+@@ -240,7 +240,8 @@ static struct vsp1_dl_list *vsp1_dl_list
INIT_LIST_HEAD(&dl->fragments);
dl->dlm = dlm;
@@ -130,7 +126,7 @@ index ad545aff4e35..7d8f37772b56 100644
* and the optional header. Both are allocated together to avoid memory
* fragmentation, with the header located right after the body in
* memory.
-@@ -511,7 +512,8 @@ void vsp1_dl_list_commit(struct vsp1_dl_list *dl)
+@@ -511,7 +512,8 @@ void vsp1_dl_list_commit(struct vsp1_dl_
goto done;
}
@@ -140,7 +136,7 @@ index ad545aff4e35..7d8f37772b56 100644
* display list at any time and we can't touch the address and size
* registers. In that case mark the update as pending, it will be
* queued up to the hardware by the frame end interrupt handler.
-@@ -523,7 +525,8 @@ void vsp1_dl_list_commit(struct vsp1_dl_list *dl)
+@@ -523,7 +525,8 @@ void vsp1_dl_list_commit(struct vsp1_dl_
goto done;
}
@@ -150,7 +146,7 @@ index ad545aff4e35..7d8f37772b56 100644
* The UPD bit will be cleared by the device when the display list is
* processed.
*/
-@@ -547,7 +550,8 @@ void vsp1_dlm_irq_display_start(struct vsp1_dl_manager *dlm)
+@@ -547,7 +550,8 @@ void vsp1_dlm_irq_display_start(struct v
{
spin_lock(&dlm->lock);
@@ -160,7 +156,7 @@ index ad545aff4e35..7d8f37772b56 100644
* processing by the device. The active display list, if any, won't be
* accessed anymore and can be reused.
*/
-@@ -566,14 +570,16 @@ void vsp1_dlm_irq_frame_end(struct vsp1_dl_manager *dlm)
+@@ -566,14 +570,16 @@ void vsp1_dlm_irq_frame_end(struct vsp1_
__vsp1_dl_list_put(dlm->active);
dlm->active = NULL;
@@ -179,7 +175,7 @@ index ad545aff4e35..7d8f37772b56 100644
* interrupt and occurred after the frame end event and UPD clear but
* before interrupt processing. The hardware hasn't taken the update
* into account yet, we'll thus skip one frame and retry.
-@@ -581,7 +587,8 @@ void vsp1_dlm_irq_frame_end(struct vsp1_dl_manager *dlm)
+@@ -581,7 +587,8 @@ void vsp1_dlm_irq_frame_end(struct vsp1_
if (vsp1_read(vsp1, VI6_DL_BODY_SIZE) & VI6_DL_BODY_SIZE_UPD)
goto done;
@@ -189,7 +185,7 @@ index ad545aff4e35..7d8f37772b56 100644
* frame end interrupt. The display list thus becomes active.
*/
if (dlm->queued) {
-@@ -589,7 +596,8 @@ void vsp1_dlm_irq_frame_end(struct vsp1_dl_manager *dlm)
+@@ -589,7 +596,8 @@ void vsp1_dlm_irq_frame_end(struct vsp1_
dlm->queued = NULL;
}
@@ -199,7 +195,7 @@ index ad545aff4e35..7d8f37772b56 100644
* list to the hardware if one has been prepared.
*/
if (dlm->pending) {
-@@ -615,7 +623,8 @@ void vsp1_dlm_setup(struct vsp1_device *vsp1)
+@@ -615,7 +623,8 @@ void vsp1_dlm_setup(struct vsp1_device *
| VI6_DL_CTRL_DC2 | VI6_DL_CTRL_DC1 | VI6_DL_CTRL_DC0
| VI6_DL_CTRL_DLE;
@@ -209,11 +205,9 @@ index ad545aff4e35..7d8f37772b56 100644
* Mode, all other pipelines use manual start.
*/
if (vsp1->drm)
-diff --git a/drivers/media/platform/vsp1/vsp1_drm.c b/drivers/media/platform/vsp1/vsp1_drm.c
-index afcb754579fc..8cd88547da2c 100644
--- a/drivers/media/platform/vsp1/vsp1_drm.c
+++ b/drivers/media/platform/vsp1/vsp1_drm.c
-@@ -78,7 +78,8 @@ int vsp1_du_setup_lif(struct device *dev, const struct vsp1_du_lif_config *cfg)
+@@ -78,7 +78,8 @@ int vsp1_du_setup_lif(struct device *dev
int ret;
if (!cfg) {
@@ -223,7 +217,7 @@ index afcb754579fc..8cd88547da2c 100644
* the pipeline and turn the light off.
*/
ret = vsp1_pipeline_stop(pipe);
-@@ -106,7 +107,8 @@ int vsp1_du_setup_lif(struct device *dev, const struct vsp1_du_lif_config *cfg)
+@@ -106,7 +107,8 @@ int vsp1_du_setup_lif(struct device *dev
dev_dbg(vsp1->dev, "%s: configuring LIF with format %ux%u\n",
__func__, cfg->width, cfg->height);
@@ -233,7 +227,7 @@ index afcb754579fc..8cd88547da2c 100644
* pipeline.
*/
memset(&format, 0, sizeof(format));
-@@ -175,7 +177,8 @@ int vsp1_du_setup_lif(struct device *dev, const struct vsp1_du_lif_config *cfg)
+@@ -175,7 +177,8 @@ int vsp1_du_setup_lif(struct device *dev
__func__, format.format.width, format.format.height,
format.format.code);
@@ -243,7 +237,7 @@ index afcb754579fc..8cd88547da2c 100644
* requested frame size and media bus code.
*/
if (format.format.width != cfg->width ||
-@@ -185,7 +188,8 @@ int vsp1_du_setup_lif(struct device *dev, const struct vsp1_du_lif_config *cfg)
+@@ -185,7 +188,8 @@ int vsp1_du_setup_lif(struct device *dev
return -EPIPE;
}
@@ -253,7 +247,7 @@ index afcb754579fc..8cd88547da2c 100644
* the pipeline pointer in all entities, which the s_stream handlers
* will need. We don't start the entities themselves right at this point
* as there's no plane configured yet, so we can't start processing
-@@ -317,7 +321,8 @@ static int vsp1_du_setup_rpf_pipe(struct vsp1_device *vsp1,
+@@ -317,7 +321,8 @@ static int vsp1_du_setup_rpf_pipe(struct
const struct v4l2_rect *crop;
int ret;
@@ -263,7 +257,7 @@ index afcb754579fc..8cd88547da2c 100644
* BRU sink pad.
*/
crop = &vsp1->drm->inputs[rpf->entity.index].crop;
-@@ -356,7 +361,8 @@ static int vsp1_du_setup_rpf_pipe(struct vsp1_device *vsp1,
+@@ -356,7 +361,8 @@ static int vsp1_du_setup_rpf_pipe(struct
__func__, sel.r.left, sel.r.top, sel.r.width, sel.r.height,
rpf->entity.index);
@@ -273,7 +267,7 @@ index afcb754579fc..8cd88547da2c 100644
* conversion if needed.
*/
format.pad = RWPF_PAD_SOURCE;
-@@ -528,7 +534,8 @@ int vsp1_drm_create_links(struct vsp1_device *vsp1)
+@@ -528,7 +534,8 @@ int vsp1_drm_create_links(struct vsp1_de
unsigned int i;
int ret;
@@ -283,11 +277,9 @@ index afcb754579fc..8cd88547da2c 100644
* output to the DU.
*/
if (!vsp1->bru || !vsp1->lif)
-diff --git a/drivers/media/platform/vsp1/vsp1_drv.c b/drivers/media/platform/vsp1/vsp1_drv.c
-index aa237b48ad55..8d1e61b353bb 100644
--- a/drivers/media/platform/vsp1/vsp1_drv.c
+++ b/drivers/media/platform/vsp1/vsp1_drv.c
-@@ -170,7 +170,8 @@ static int vsp1_uapi_create_links(struct vsp1_device *vsp1)
+@@ -170,7 +170,8 @@ static int vsp1_uapi_create_links(struct
}
for (i = 0; i < vsp1->info->wpf_count; ++i) {
@@ -297,7 +289,7 @@ index aa237b48ad55..8d1e61b353bb 100644
* immutable.
*/
struct vsp1_rwpf *wpf = vsp1->wpf[i];
-@@ -227,7 +228,8 @@ static int vsp1_create_entities(struct vsp1_device *vsp1)
+@@ -227,7 +228,8 @@ static int vsp1_create_entities(struct v
media_device_init(mdev);
vsp1->media_ops.link_setup = vsp1_entity_link_setup;
@@ -307,7 +299,7 @@ index aa237b48ad55..8d1e61b353bb 100644
* the pipeline is configured internally by the driver in that case, and
* its configuration can thus be trusted.
*/
-@@ -279,7 +281,8 @@ static int vsp1_create_entities(struct vsp1_device *vsp1)
+@@ -279,7 +281,8 @@ static int vsp1_create_entities(struct v
list_add_tail(&vsp1->hst->entity.list_dev, &vsp1->entities);
@@ -317,7 +309,7 @@ index aa237b48ad55..8d1e61b353bb 100644
* which case the userspace API is disabled. If the userspace API is
* enabled skip the LIF, even when present.
*/
-@@ -391,7 +394,8 @@ static int vsp1_create_entities(struct vsp1_device *vsp1)
+@@ -391,7 +394,8 @@ static int vsp1_create_entities(struct v
if (ret < 0)
goto done;
@@ -327,11 +319,9 @@ index aa237b48ad55..8d1e61b353bb 100644
* the DRM pipeline otherwise.
*/
if (vsp1->info->uapi) {
-diff --git a/drivers/media/platform/vsp1/vsp1_entity.c b/drivers/media/platform/vsp1/vsp1_entity.c
-index da673495c222..12eca5660d6e 100644
--- a/drivers/media/platform/vsp1/vsp1_entity.c
+++ b/drivers/media/platform/vsp1/vsp1_entity.c
-@@ -199,7 +199,8 @@ int vsp1_subdev_enum_mbus_code(struct v4l2_subdev *subdev,
+@@ -199,7 +199,8 @@ int vsp1_subdev_enum_mbus_code(struct v4
struct v4l2_subdev_pad_config *config;
struct v4l2_mbus_framefmt *format;
@@ -341,7 +331,7 @@ index da673495c222..12eca5660d6e 100644
* is always identical to the source format.
*/
if (code->index)
-@@ -263,7 +264,8 @@ int vsp1_subdev_enum_frame_size(struct v4l2_subdev *subdev,
+@@ -263,7 +264,8 @@ int vsp1_subdev_enum_frame_size(struct v
fse->min_height = min_height;
fse->max_height = max_height;
} else {
@@ -351,7 +341,7 @@ index da673495c222..12eca5660d6e 100644
* the size on the sink pad.
*/
fse->min_width = format->width;
-@@ -407,7 +409,8 @@ int vsp1_entity_init(struct vsp1_device *vsp1, struct vsp1_entity *entity,
+@@ -407,7 +409,8 @@ int vsp1_entity_init(struct vsp1_device
vsp1_entity_init_cfg(subdev, NULL);
@@ -361,11 +351,9 @@ index da673495c222..12eca5660d6e 100644
* rectangles.
*/
entity->config = v4l2_subdev_alloc_pad_config(&entity->subdev);
-diff --git a/drivers/media/platform/vsp1/vsp1_hsit.c b/drivers/media/platform/vsp1/vsp1_hsit.c
-index 94316afc54ff..764d405345ee 100644
--- a/drivers/media/platform/vsp1/vsp1_hsit.c
+++ b/drivers/media/platform/vsp1/vsp1_hsit.c
-@@ -84,7 +84,8 @@ static int hsit_set_format(struct v4l2_subdev *subdev,
+@@ -84,7 +84,8 @@ static int hsit_set_format(struct v4l2_s
format = vsp1_entity_get_pad_format(&hsit->entity, config, fmt->pad);
if (fmt->pad == HSIT_PAD_SOURCE) {
@@ -375,11 +363,9 @@ index 94316afc54ff..764d405345ee 100644
* modified.
*/
fmt->format = *format;
-diff --git a/drivers/media/platform/vsp1/vsp1_lif.c b/drivers/media/platform/vsp1/vsp1_lif.c
-index e32acae1fc6e..702487f895b3 100644
--- a/drivers/media/platform/vsp1/vsp1_lif.c
+++ b/drivers/media/platform/vsp1/vsp1_lif.c
-@@ -84,7 +84,8 @@ static int lif_set_format(struct v4l2_subdev *subdev,
+@@ -84,7 +84,8 @@ static int lif_set_format(struct v4l2_su
format = vsp1_entity_get_pad_format(&lif->entity, config, fmt->pad);
if (fmt->pad == LIF_PAD_SOURCE) {
@@ -389,7 +375,7 @@ index e32acae1fc6e..702487f895b3 100644
* format.
*/
fmt->format = *format;
-@@ -176,7 +177,8 @@ struct vsp1_lif *vsp1_lif_create(struct vsp1_device *vsp1)
+@@ -176,7 +177,8 @@ struct vsp1_lif *vsp1_lif_create(struct
lif->entity.ops = &lif_entity_ops;
lif->entity.type = VSP1_ENTITY_LIF;
@@ -399,11 +385,9 @@ index e32acae1fc6e..702487f895b3 100644
* requires a function to be set. Use PROC_VIDEO_PIXEL_FORMATTER just to
* avoid triggering a WARN_ON(), the value won't be seen anywhere.
*/
-diff --git a/drivers/media/platform/vsp1/vsp1_pipe.c b/drivers/media/platform/vsp1/vsp1_pipe.c
-index 280ba0804699..3f1acf68dc6e 100644
--- a/drivers/media/platform/vsp1/vsp1_pipe.c
+++ b/drivers/media/platform/vsp1/vsp1_pipe.c
-@@ -251,7 +251,8 @@ int vsp1_pipeline_stop(struct vsp1_pipeline *pipe)
+@@ -251,7 +251,8 @@ int vsp1_pipeline_stop(struct vsp1_pipel
int ret;
if (pipe->lif) {
@@ -413,7 +397,7 @@ index 280ba0804699..3f1acf68dc6e 100644
* way to stop the pipeline is to reset the hardware.
*/
ret = vsp1_reset_wpf(pipe->output->entity.vsp1,
-@@ -322,7 +323,8 @@ void vsp1_pipeline_propagate_alpha(struct vsp1_pipeline *pipe,
+@@ -322,7 +323,8 @@ void vsp1_pipeline_propagate_alpha(struc
if (!pipe->uds)
return;
@@ -423,7 +407,7 @@ index 280ba0804699..3f1acf68dc6e 100644
* output alpha value is thus always equal to 255.
*/
if (pipe->uds_input->type == VSP1_ENTITY_BRU)
-@@ -337,7 +339,8 @@ void vsp1_pipelines_suspend(struct vsp1_device *vsp1)
+@@ -337,7 +339,8 @@ void vsp1_pipelines_suspend(struct vsp1_
unsigned int i;
int ret;
@@ -433,11 +417,9 @@ index 280ba0804699..3f1acf68dc6e 100644
* pipelines twice, first to set them all to the stopping state, and
* then to wait for the stop to complete.
*/
-diff --git a/drivers/media/platform/vsp1/vsp1_rpf.c b/drivers/media/platform/vsp1/vsp1_rpf.c
-index 1d0944f308ae..f5a9a4c8c74d 100644
--- a/drivers/media/platform/vsp1/vsp1_rpf.c
+++ b/drivers/media/platform/vsp1/vsp1_rpf.c
-@@ -195,7 +195,8 @@ static void rpf_configure(struct vsp1_entity *entity,
+@@ -195,7 +195,8 @@ static void rpf_configure(struct vsp1_en
(left << VI6_RPF_LOC_HCOORD_SHIFT) |
(top << VI6_RPF_LOC_VCOORD_SHIFT));
@@ -447,7 +429,7 @@ index 1d0944f308ae..f5a9a4c8c74d 100644
* a fixed alpha value set through the V4L2_CID_ALPHA_COMPONENT control
* otherwise.
*
-@@ -225,7 +226,8 @@ static void rpf_configure(struct vsp1_entity *entity,
+@@ -225,7 +226,8 @@ static void rpf_configure(struct vsp1_en
u32 mult;
if (fmtinfo->alpha) {
@@ -457,7 +439,7 @@ index 1d0944f308ae..f5a9a4c8c74d 100644
* alpha multiplier. If the input is premultiplied we
* need to multiply both the alpha channel and the pixel
* components by the global alpha value to keep them
-@@ -240,7 +242,8 @@ static void rpf_configure(struct vsp1_entity *entity,
+@@ -240,7 +242,8 @@ static void rpf_configure(struct vsp1_en
VI6_RPF_MULT_ALPHA_P_MMD_RATIO :
VI6_RPF_MULT_ALPHA_P_MMD_NONE);
} else {
@@ -467,11 +449,9 @@ index 1d0944f308ae..f5a9a4c8c74d 100644
* global alpha value is applied in the unpacking unit,
* the alpha multiplier isn't needed and must be
* disabled.
-diff --git a/drivers/media/platform/vsp1/vsp1_rwpf.c b/drivers/media/platform/vsp1/vsp1_rwpf.c
-index 04104ef28fb5..7d52c88a583e 100644
--- a/drivers/media/platform/vsp1/vsp1_rwpf.c
+++ b/drivers/media/platform/vsp1/vsp1_rwpf.c
-@@ -86,7 +86,8 @@ static int vsp1_rwpf_set_format(struct v4l2_subdev *subdev,
+@@ -86,7 +86,8 @@ static int vsp1_rwpf_set_format(struct v
format = vsp1_entity_get_pad_format(&rwpf->entity, config, fmt->pad);
if (fmt->pad == RWPF_PAD_SOURCE) {
@@ -481,7 +461,7 @@ index 04104ef28fb5..7d52c88a583e 100644
* format code can be changed on the source pad.
*/
format->code = fmt->format.code;
-@@ -205,7 +206,8 @@ static int vsp1_rwpf_set_selection(struct v4l2_subdev *subdev,
+@@ -205,7 +206,8 @@ static int vsp1_rwpf_set_selection(struc
format = vsp1_entity_get_pad_format(&rwpf->entity, config,
RWPF_PAD_SINK);
@@ -491,11 +471,9 @@ index 04104ef28fb5..7d52c88a583e 100644
* shifting the color plane.
*/
if (format->code == MEDIA_BUS_FMT_AYUV8_1X32) {
-diff --git a/drivers/media/platform/vsp1/vsp1_sru.c b/drivers/media/platform/vsp1/vsp1_sru.c
-index b4e568a3b4ed..30142793dfcd 100644
--- a/drivers/media/platform/vsp1/vsp1_sru.c
+++ b/drivers/media/platform/vsp1/vsp1_sru.c
-@@ -191,7 +191,8 @@ static void sru_try_format(struct vsp1_sru *sru,
+@@ -191,7 +191,8 @@ static void sru_try_format(struct vsp1_s
SRU_PAD_SINK);
fmt->code = format->code;
@@ -505,11 +483,9 @@ index b4e568a3b4ed..30142793dfcd 100644
* Compare the input and output rectangles areas (avoiding
* integer overflows on the output): if the requested output
* area is larger than 1.5^2 the input area upscale by two,
-diff --git a/drivers/media/platform/vsp1/vsp1_uds.c b/drivers/media/platform/vsp1/vsp1_uds.c
-index da8f89a31ea4..4226403ad235 100644
--- a/drivers/media/platform/vsp1/vsp1_uds.c
+++ b/drivers/media/platform/vsp1/vsp1_uds.c
-@@ -293,7 +293,8 @@ static void uds_configure(struct vsp1_entity *entity,
+@@ -293,7 +293,8 @@ static void uds_configure(struct vsp1_en
dev_dbg(uds->entity.vsp1->dev, "hscale %u vscale %u\n", hscale, vscale);
@@ -519,11 +495,9 @@ index da8f89a31ea4..4226403ad235 100644
* scaling down with a factor lower than or equal to 1/2 in either
* direction.
*/
-diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c
-index eb422c150847..620beb21dd14 100644
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
-@@ -103,7 +103,8 @@ static int __vsp1_video_try_format(struct vsp1_video *video,
+@@ -103,7 +103,8 @@ static int __vsp1_video_try_format(struc
unsigned int height = pix->height;
unsigned int i;
@@ -533,7 +507,7 @@ index eb422c150847..620beb21dd14 100644
* equivalent. This selects the format older userspace applications want
* while still exposing the new format.
*/
-@@ -114,7 +115,8 @@ static int __vsp1_video_try_format(struct vsp1_video *video,
+@@ -114,7 +115,8 @@ static int __vsp1_video_try_format(struc
}
}
@@ -543,7 +517,7 @@ index eb422c150847..620beb21dd14 100644
* requested format isn't supported.
*/
info = vsp1_get_format_info(video->vsp1, pix->pixelformat);
-@@ -140,7 +142,8 @@ static int __vsp1_video_try_format(struct vsp1_video *video,
+@@ -140,7 +142,8 @@ static int __vsp1_video_try_format(struc
pix->height = clamp(height, VSP1_VIDEO_MIN_HEIGHT,
VSP1_VIDEO_MAX_HEIGHT);
@@ -553,7 +527,7 @@ index eb422c150847..620beb21dd14 100644
* the datasheet, strides not aligned to a multiple of 128 bytes result
* in image corruption.
*/
-@@ -449,7 +452,8 @@ static void vsp1_video_pipeline_frame_end(struct vsp1_pipeline *pipe)
+@@ -449,7 +452,8 @@ static void vsp1_video_pipeline_frame_en
state = pipe->state;
pipe->state = VSP1_PIPELINE_STOPPED;
@@ -563,7 +537,7 @@ index eb422c150847..620beb21dd14 100644
* return. Otherwise restart the pipeline if ready.
*/
if (state == VSP1_PIPELINE_STOPPING)
-@@ -491,7 +495,8 @@ static int vsp1_video_pipeline_build_branch(struct vsp1_pipeline *pipe,
+@@ -491,7 +495,8 @@ static int vsp1_video_pipeline_build_bra
entity = to_vsp1_entity(
media_entity_to_v4l2_subdev(pad->entity));
@@ -573,7 +547,7 @@ index eb422c150847..620beb21dd14 100644
* number in the input RPF for use when configuring the RPF.
*/
if (entity->type == VSP1_ENTITY_BRU) {
-@@ -526,7 +531,8 @@ static int vsp1_video_pipeline_build_branch(struct vsp1_pipeline *pipe,
+@@ -526,7 +531,8 @@ static int vsp1_video_pipeline_build_bra
: &input->entity;
}
@@ -583,7 +557,7 @@ index eb422c150847..620beb21dd14 100644
* that the output fan-out can't be more than one, there is thus
* no need to verify here that only a single source link is
* activated.
-@@ -596,7 +602,8 @@ static int vsp1_video_pipeline_build(struct vsp1_pipeline *pipe,
+@@ -596,7 +602,8 @@ static int vsp1_video_pipeline_build(str
if (pipe->num_inputs == 0 || !pipe->output)
return -EPIPE;
@@ -593,7 +567,7 @@ index eb422c150847..620beb21dd14 100644
* contains no loop and that all branches end at the output WPF.
*/
for (i = 0; i < video->vsp1->info->rpf_count; ++i) {
-@@ -627,7 +634,8 @@ static struct vsp1_pipeline *vsp1_video_pipeline_get(struct vsp1_video *video)
+@@ -627,7 +634,8 @@ static struct vsp1_pipeline *vsp1_video_
struct vsp1_pipeline *pipe;
int ret;
@@ -603,7 +577,7 @@ index eb422c150847..620beb21dd14 100644
* been allocated just increment its reference count and return it.
* Otherwise allocate a new pipeline and initialize it, it will be freed
* when the last reference is released.
-@@ -767,7 +775,8 @@ static int vsp1_video_setup_pipeline(struct vsp1_pipeline *pipe)
+@@ -767,7 +775,8 @@ static int vsp1_video_setup_pipeline(str
if (pipe->uds) {
struct vsp1_uds *uds = to_uds(&pipe->uds->subdev);
@@ -613,7 +587,7 @@ index eb422c150847..620beb21dd14 100644
* component doesn't need to be scaled as the BRU output alpha
* value is fixed to 255. Otherwise we need to scale the alpha
* component only when available at the input RPF.
-@@ -981,7 +990,8 @@ vsp1_video_streamon(struct file *file, void *fh, enum v4l2_buf_type type)
+@@ -981,7 +990,8 @@ vsp1_video_streamon(struct file *file, v
if (video->queue.owner && video->queue.owner != file->private_data)
return -EBUSY;
@@ -623,7 +597,7 @@ index eb422c150847..620beb21dd14 100644
* touching an entity in the pipeline can be activated or deactivated
* once streaming is started.
*/
-@@ -1001,7 +1011,8 @@ vsp1_video_streamon(struct file *file, void *fh, enum v4l2_buf_type type)
+@@ -1001,7 +1011,8 @@ vsp1_video_streamon(struct file *file, v
mutex_unlock(&mdev->graph_mutex);
@@ -633,11 +607,9 @@ index eb422c150847..620beb21dd14 100644
* subdev.
*/
ret = vsp1_video_verify_format(video);
-diff --git a/drivers/media/platform/vsp1/vsp1_wpf.c b/drivers/media/platform/vsp1/vsp1_wpf.c
-index 052a83e2d489..25a2ed6e2e18 100644
--- a/drivers/media/platform/vsp1/vsp1_wpf.c
+++ b/drivers/media/platform/vsp1/vsp1_wpf.c
-@@ -88,12 +88,14 @@ static int wpf_init_controls(struct vsp1_rwpf *wpf)
+@@ -88,12 +88,14 @@ static int wpf_init_controls(struct vsp1
/* Only WPF0 supports flipping. */
num_flip_ctrls = 0;
} else if (vsp1->info->features & VSP1_HAS_WPF_HFLIP) {
@@ -654,7 +626,7 @@ index 052a83e2d489..25a2ed6e2e18 100644
* single control (vertical flip).
*/
num_flip_ctrls = 1;
-@@ -139,7 +141,8 @@ static int wpf_s_stream(struct v4l2_subdev *subdev, int enable)
+@@ -139,7 +141,8 @@ static int wpf_s_stream(struct v4l2_subd
if (enable)
return 0;
@@ -664,7 +636,7 @@ index 052a83e2d489..25a2ed6e2e18 100644
* no pipeline run to apply the display list.
*/
vsp1_write(vsp1, VI6_WPF_IRQ_ENB(wpf->entity.index), 0);
-@@ -336,7 +339,8 @@ static void wpf_configure(struct vsp1_entity *entity,
+@@ -336,7 +339,8 @@ static void wpf_configure(struct vsp1_en
vsp1_dl_list_write(dl, VI6_WPF_WRBCK_CTRL, 0);
@@ -674,6 +646,3 @@ index 052a83e2d489..25a2ed6e2e18 100644
* configure it as the master layer. Otherwise configure all
* inputs as sub-layers and select the virtual RPF as the master
* layer.
---
-2.13.3
-
diff --git a/patches.renesas/0145-media-v4l-vsp1-Disable-HSV-formats-on-Gen3-hardware.patch b/patches.renesas/0145-media-v4l-vsp1-Disable-HSV-formats-on-Gen3-hardware.patch
index 8eb2d9724008d0..277aa24970f945 100644
--- a/patches.renesas/0145-media-v4l-vsp1-Disable-HSV-formats-on-Gen3-hardware.patch
+++ b/patches.renesas/0145-media-v4l-vsp1-Disable-HSV-formats-on-Gen3-hardware.patch
@@ -14,14 +14,12 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 40ad34d8ebe7abd0d4df35a3364bf446e10f5c52)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_pipe.c | 12 +++++++++---
+ drivers/media/platform/vsp1/vsp1_pipe.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
-diff --git a/drivers/media/platform/vsp1/vsp1_pipe.c b/drivers/media/platform/vsp1/vsp1_pipe.c
-index 3f1acf68dc6e..35364f594e19 100644
--- a/drivers/media/platform/vsp1/vsp1_pipe.c
+++ b/drivers/media/platform/vsp1/vsp1_pipe.c
-@@ -157,9 +157,15 @@ const struct vsp1_format_info *vsp1_get_format_info(struct vsp1_device *vsp1,
+@@ -157,9 +157,15 @@ const struct vsp1_format_info *vsp1_get_
{
unsigned int i;
@@ -40,6 +38,3 @@ index 3f1acf68dc6e..35364f594e19 100644
for (i = 0; i < ARRAY_SIZE(vsp1_video_formats); ++i) {
const struct vsp1_format_info *info = &vsp1_video_formats[i];
---
-2.13.3
-
diff --git a/patches.renesas/0146-media-v4l-vsp1-Fix-struct-vsp1_drm-documentation.patch b/patches.renesas/0146-media-v4l-vsp1-Fix-struct-vsp1_drm-documentation.patch
index aca0ef0b27db56..a58313876de0ba 100644
--- a/patches.renesas/0146-media-v4l-vsp1-Fix-struct-vsp1_drm-documentation.patch
+++ b/patches.renesas/0146-media-v4l-vsp1-Fix-struct-vsp1_drm-documentation.patch
@@ -13,11 +13,9 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 1b8ce4060b02c9ebfcb75a9d91cf85fb1fb1bc1b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_drm.h | 2 +-
+ drivers/media/platform/vsp1/vsp1_drm.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/media/platform/vsp1/vsp1_drm.h b/drivers/media/platform/vsp1/vsp1_drm.h
-index 9e28ab9254ba..c8d2f88fc483 100644
--- a/drivers/media/platform/vsp1/vsp1_drm.h
+++ b/drivers/media/platform/vsp1/vsp1_drm.h
@@ -21,7 +21,7 @@
@@ -29,6 +27,3 @@ index 9e28ab9254ba..c8d2f88fc483 100644
* position for every input
*/
struct vsp1_drm {
---
-2.13.3
-
diff --git a/patches.renesas/0147-media-v4l-vsp1-Register-pipe-with-output-WPF.patch b/patches.renesas/0147-media-v4l-vsp1-Register-pipe-with-output-WPF.patch
index c4007034b6a674..85334403aa4a84 100644
--- a/patches.renesas/0147-media-v4l-vsp1-Register-pipe-with-output-WPF.patch
+++ b/patches.renesas/0147-media-v4l-vsp1-Register-pipe-with-output-WPF.patch
@@ -20,14 +20,12 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 1531a208ed861e4bd287444f9466ffcf98383de2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_drm.c | 1 +
+ drivers/media/platform/vsp1/vsp1_drm.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/drivers/media/platform/vsp1/vsp1_drm.c b/drivers/media/platform/vsp1/vsp1_drm.c
-index 8cd88547da2c..6e161347088e 100644
--- a/drivers/media/platform/vsp1/vsp1_drm.c
+++ b/drivers/media/platform/vsp1/vsp1_drm.c
-@@ -602,6 +602,7 @@ int vsp1_drm_init(struct vsp1_device *vsp1)
+@@ -602,6 +602,7 @@ int vsp1_drm_init(struct vsp1_device *vs
pipe->bru = &vsp1->bru->entity;
pipe->lif = &vsp1->lif->entity;
pipe->output = vsp1->wpf[0];
@@ -35,6 +33,3 @@ index 8cd88547da2c..6e161347088e 100644
return 0;
}
---
-2.13.3
-
diff --git a/patches.renesas/0148-media-v4l-vsp1-wpf-Implement-rotation-support.patch b/patches.renesas/0148-media-v4l-vsp1-wpf-Implement-rotation-support.patch
index 954942f7e588d2..c81d8e637897cb 100644
--- a/patches.renesas/0148-media-v4l-vsp1-wpf-Implement-rotation-support.patch
+++ b/patches.renesas/0148-media-v4l-vsp1-wpf-Implement-rotation-support.patch
@@ -15,18 +15,16 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 3e9a0e0bfafdf6c28c520d43fd64c5775d04662f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_rpf.c | 2 +-
- drivers/media/platform/vsp1/vsp1_rwpf.c | 5 +
- drivers/media/platform/vsp1/vsp1_rwpf.h | 7 +-
- drivers/media/platform/vsp1/vsp1_video.c | 12 +-
- drivers/media/platform/vsp1/vsp1_wpf.c | 205 +++++++++++++++++++++++--------
+ drivers/media/platform/vsp1/vsp1_rpf.c | 2
+ drivers/media/platform/vsp1/vsp1_rwpf.c | 5
+ drivers/media/platform/vsp1/vsp1_rwpf.h | 7 -
+ drivers/media/platform/vsp1/vsp1_video.c | 12 +
+ drivers/media/platform/vsp1/vsp1_wpf.c | 205 +++++++++++++++++++++++--------
5 files changed, 177 insertions(+), 54 deletions(-)
-diff --git a/drivers/media/platform/vsp1/vsp1_rpf.c b/drivers/media/platform/vsp1/vsp1_rpf.c
-index f5a9a4c8c74d..8feddd59cf8d 100644
--- a/drivers/media/platform/vsp1/vsp1_rpf.c
+++ b/drivers/media/platform/vsp1/vsp1_rpf.c
-@@ -106,7 +106,7 @@ static void rpf_configure(struct vsp1_entity *entity,
+@@ -106,7 +106,7 @@ static void rpf_configure(struct vsp1_en
* of the pipeline.
*/
output = vsp1_entity_get_pad_format(wpf, wpf->config,
@@ -35,11 +33,9 @@ index f5a9a4c8c74d..8feddd59cf8d 100644
crop.width = pipe->partition.width * input_width
/ output->width;
-diff --git a/drivers/media/platform/vsp1/vsp1_rwpf.c b/drivers/media/platform/vsp1/vsp1_rwpf.c
-index 7d52c88a583e..cfd8f1904fa6 100644
--- a/drivers/media/platform/vsp1/vsp1_rwpf.c
+++ b/drivers/media/platform/vsp1/vsp1_rwpf.c
-@@ -121,6 +121,11 @@ static int vsp1_rwpf_set_format(struct v4l2_subdev *subdev,
+@@ -121,6 +121,11 @@ static int vsp1_rwpf_set_format(struct v
RWPF_PAD_SOURCE);
*format = fmt->format;
@@ -51,8 +47,6 @@ index 7d52c88a583e..cfd8f1904fa6 100644
done:
mutex_unlock(&rwpf->entity.lock);
return ret;
-diff --git a/drivers/media/platform/vsp1/vsp1_rwpf.h b/drivers/media/platform/vsp1/vsp1_rwpf.h
-index 1c98aff3da5d..58215a7ab631 100644
--- a/drivers/media/platform/vsp1/vsp1_rwpf.h
+++ b/drivers/media/platform/vsp1/vsp1_rwpf.h
@@ -56,9 +56,14 @@ struct vsp1_rwpf {
@@ -71,11 +65,9 @@ index 1c98aff3da5d..58215a7ab631 100644
} flip;
struct vsp1_rwpf_memory mem;
-diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c
-index 620beb21dd14..79f48a025546 100644
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
-@@ -187,9 +187,13 @@ static void vsp1_video_pipeline_setup_partitions(struct vsp1_pipeline *pipe)
+@@ -187,9 +187,13 @@ static void vsp1_video_pipeline_setup_pa
struct vsp1_entity *entity;
unsigned int div_size;
@@ -90,7 +82,7 @@ index 620beb21dd14..79f48a025546 100644
div_size = format->width;
/* Gen2 hardware doesn't require image partitioning. */
-@@ -229,9 +233,13 @@ static struct v4l2_rect vsp1_video_partition(struct vsp1_pipeline *pipe,
+@@ -229,9 +233,13 @@ static struct v4l2_rect vsp1_video_parti
struct v4l2_rect partition;
unsigned int modulus;
@@ -105,11 +97,9 @@ index 620beb21dd14..79f48a025546 100644
/* A single partition simply processes the output size in full. */
if (pipe->partitions <= 1) {
-diff --git a/drivers/media/platform/vsp1/vsp1_wpf.c b/drivers/media/platform/vsp1/vsp1_wpf.c
-index 25a2ed6e2e18..32df109b119f 100644
--- a/drivers/media/platform/vsp1/vsp1_wpf.c
+++ b/drivers/media/platform/vsp1/vsp1_wpf.c
-@@ -43,32 +43,90 @@ static inline void vsp1_wpf_write(struct vsp1_rwpf *wpf,
+@@ -43,32 +43,90 @@ static inline void vsp1_wpf_write(struct
enum wpf_flip_ctrl {
WPF_CTRL_VFLIP = 0,
WPF_CTRL_HFLIP = 1,
@@ -216,7 +206,7 @@ index 25a2ed6e2e18..32df109b119f 100644
return 0;
}
-@@ -89,10 +147,10 @@ static int wpf_init_controls(struct vsp1_rwpf *wpf)
+@@ -89,10 +147,10 @@ static int wpf_init_controls(struct vsp1
num_flip_ctrls = 0;
} else if (vsp1->info->features & VSP1_HAS_WPF_HFLIP) {
/*
@@ -230,7 +220,7 @@ index 25a2ed6e2e18..32df109b119f 100644
} else if (vsp1->info->features & VSP1_HAS_WPF_VFLIP) {
/*
* When only vertical flip is supported the WPF implements a
-@@ -107,17 +165,19 @@ static int wpf_init_controls(struct vsp1_rwpf *wpf)
+@@ -107,17 +165,19 @@ static int wpf_init_controls(struct vsp1
vsp1_rwpf_init_ctrls(wpf, num_flip_ctrls);
if (num_flip_ctrls >= 1) {
@@ -255,7 +245,7 @@ index 25a2ed6e2e18..32df109b119f 100644
}
if (wpf->ctrls.error) {
-@@ -222,8 +282,8 @@ static void wpf_configure(struct vsp1_entity *entity,
+@@ -222,8 +282,8 @@ static void wpf_configure(struct vsp1_en
const struct vsp1_format_info *fmtinfo = wpf->fmtinfo;
struct vsp1_rwpf_memory mem = wpf->mem;
unsigned int flip = wpf->flip.active;
@@ -266,7 +256,7 @@ index 25a2ed6e2e18..32df109b119f 100644
unsigned int offset;
/*
-@@ -246,45 +306,78 @@ static void wpf_configure(struct vsp1_entity *entity,
+@@ -246,45 +306,78 @@ static void wpf_configure(struct vsp1_en
/*
* Update the memory offsets based on flipping configuration.
* The destination addresses point to the locations where the
@@ -369,7 +359,7 @@ index 25a2ed6e2e18..32df109b119f 100644
/*
* On Gen3 hardware the SPUVS bit has no effect on 3-planar
* formats. Swap the U and V planes manually in that case.
-@@ -306,6 +399,9 @@ static void wpf_configure(struct vsp1_entity *entity,
+@@ -306,6 +399,9 @@ static void wpf_configure(struct vsp1_en
outfmt = fmtinfo->hwfmt << VI6_WPF_OUTFMT_WRFMT_SHIFT;
@@ -379,7 +369,7 @@ index 25a2ed6e2e18..32df109b119f 100644
if (fmtinfo->alpha)
outfmt |= VI6_WPF_OUTFMT_PXA;
if (fmtinfo->swap_yc)
-@@ -367,9 +463,18 @@ static void wpf_configure(struct vsp1_entity *entity,
+@@ -367,9 +463,18 @@ static void wpf_configure(struct vsp1_en
VI6_WFP_IRQ_ENB_DFEE);
}
@@ -398,6 +388,3 @@ index 25a2ed6e2e18..32df109b119f 100644
};
/* -----------------------------------------------------------------------------
---
-2.13.3
-
diff --git a/patches.renesas/0149-ASoC-wm8978-Add-OF-device-ID-table.patch b/patches.renesas/0149-ASoC-wm8978-Add-OF-device-ID-table.patch
index bbef1e5d719c77..328b25281c4358 100644
--- a/patches.renesas/0149-ASoC-wm8978-Add-OF-device-ID-table.patch
+++ b/patches.renesas/0149-ASoC-wm8978-Add-OF-device-ID-table.patch
@@ -29,14 +29,12 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 5cf015d9cb02c360582b624497b0a1716881cf28)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- sound/soc/codecs/wm8978.c | 7 +++++++
+ sound/soc/codecs/wm8978.c | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/sound/soc/codecs/wm8978.c b/sound/soc/codecs/wm8978.c
-index 90b2d418ef60..cf761e2d7546 100644
--- a/sound/soc/codecs/wm8978.c
+++ b/sound/soc/codecs/wm8978.c
-@@ -1071,9 +1071,16 @@ static const struct i2c_device_id wm8978_i2c_id[] = {
+@@ -1071,9 +1071,16 @@ static const struct i2c_device_id wm8978
};
MODULE_DEVICE_TABLE(i2c, wm8978_i2c_id);
@@ -53,6 +51,3 @@ index 90b2d418ef60..cf761e2d7546 100644
},
.probe = wm8978_i2c_probe,
.remove = wm8978_i2c_remove,
---
-2.13.3
-
diff --git a/patches.renesas/0150-clk-renesas-r8a7795-Add-IMR-clocks.patch b/patches.renesas/0150-clk-renesas-r8a7795-Add-IMR-clocks.patch
index c7e30bc0201d26..08003254c826c7 100644
--- a/patches.renesas/0150-clk-renesas-r8a7795-Add-IMR-clocks.patch
+++ b/patches.renesas/0150-clk-renesas-r8a7795-Add-IMR-clocks.patch
@@ -14,14 +14,12 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 7d0a7c7bdf7f849ff864a539f1c0c20b8a053f2e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/r8a7795-cpg-mssr.c | 4 ++++
+ drivers/clk/renesas/r8a7795-cpg-mssr.c | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/drivers/clk/renesas/r8a7795-cpg-mssr.c b/drivers/clk/renesas/r8a7795-cpg-mssr.c
-index bfffdb00df97..2add8218e0f7 100644
--- a/drivers/clk/renesas/r8a7795-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7795-cpg-mssr.c
-@@ -208,6 +208,10 @@ static const struct mssr_mod_clk r8a7795_mod_clks[] __initconst = {
+@@ -208,6 +208,10 @@ static const struct mssr_mod_clk r8a7795
DEF_MOD("vin0", 811, R8A7795_CLK_S2D1),
DEF_MOD("etheravb", 812, R8A7795_CLK_S3D2),
DEF_MOD("sata0", 815, R8A7795_CLK_S3D2),
@@ -32,6 +30,3 @@ index bfffdb00df97..2add8218e0f7 100644
DEF_MOD("gpio7", 905, R8A7795_CLK_CP),
DEF_MOD("gpio6", 906, R8A7795_CLK_CP),
DEF_MOD("gpio5", 907, R8A7795_CLK_CP),
---
-2.13.3
-
diff --git a/patches.renesas/0151-clk-renesas-r8a7796-Add-IMR-clocks.patch b/patches.renesas/0151-clk-renesas-r8a7796-Add-IMR-clocks.patch
index 7db0e0d25f9cbb..6686f84d0272c8 100644
--- a/patches.renesas/0151-clk-renesas-r8a7796-Add-IMR-clocks.patch
+++ b/patches.renesas/0151-clk-renesas-r8a7796-Add-IMR-clocks.patch
@@ -12,14 +12,12 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 6c8a9312946374947287ac1bd3b94aba850a5d1f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/r8a7796-cpg-mssr.c | 2 ++
+ drivers/clk/renesas/r8a7796-cpg-mssr.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/drivers/clk/renesas/r8a7796-cpg-mssr.c b/drivers/clk/renesas/r8a7796-cpg-mssr.c
-index 11e084a56b0d..12a23c18bc1e 100644
--- a/drivers/clk/renesas/r8a7796-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7796-cpg-mssr.c
-@@ -179,6 +179,8 @@ static const struct mssr_mod_clk r8a7796_mod_clks[] __initconst = {
+@@ -179,6 +179,8 @@ static const struct mssr_mod_clk r8a7796
DEF_MOD("vin1", 810, R8A7796_CLK_S0D2),
DEF_MOD("vin0", 811, R8A7796_CLK_S0D2),
DEF_MOD("etheravb", 812, R8A7796_CLK_S0D6),
@@ -28,6 +26,3 @@ index 11e084a56b0d..12a23c18bc1e 100644
DEF_MOD("gpio7", 905, R8A7796_CLK_S3D4),
DEF_MOD("gpio6", 906, R8A7796_CLK_S3D4),
DEF_MOD("gpio5", 907, R8A7796_CLK_S3D4),
---
-2.13.3
-
diff --git a/patches.renesas/0152-clk-renesas-r8a7795-Correct-parent-clock-and-sort-or.patch b/patches.renesas/0152-clk-renesas-r8a7795-Correct-parent-clock-and-sort-or.patch
index 4012d850113adf..429b7a3d3a2576 100644
--- a/patches.renesas/0152-clk-renesas-r8a7795-Correct-parent-clock-and-sort-or.patch
+++ b/patches.renesas/0152-clk-renesas-r8a7795-Correct-parent-clock-and-sort-or.patch
@@ -13,14 +13,12 @@ Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
(cherry picked from commit a843ed3f6c3e856f9091b042c6b4ed34c02a3187)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/r8a7795-cpg-mssr.c | 4 ++--
+ drivers/clk/renesas/r8a7795-cpg-mssr.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/clk/renesas/r8a7795-cpg-mssr.c b/drivers/clk/renesas/r8a7795-cpg-mssr.c
-index 2add8218e0f7..cde470ce81e4 100644
--- a/drivers/clk/renesas/r8a7795-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7795-cpg-mssr.c
-@@ -142,8 +142,8 @@ static const struct mssr_mod_clk r8a7795_mod_clks[] __initconst = {
+@@ -142,8 +142,8 @@ static const struct mssr_mod_clk r8a7795
DEF_MOD("rwdt0", 402, R8A7795_CLK_R),
DEF_MOD("intc-ex", 407, R8A7795_CLK_CP),
DEF_MOD("intc-ap", 408, R8A7795_CLK_S3D1),
@@ -31,6 +29,3 @@ index 2add8218e0f7..cde470ce81e4 100644
DEF_MOD("drif7", 508, R8A7795_CLK_S3D2),
DEF_MOD("drif6", 509, R8A7795_CLK_S3D2),
DEF_MOD("drif5", 510, R8A7795_CLK_S3D2),
---
-2.13.3
-
diff --git a/patches.renesas/0153-clk-renesas-r8a7795-Correct-name-of-watchdog-clock.patch b/patches.renesas/0153-clk-renesas-r8a7795-Correct-name-of-watchdog-clock.patch
index 793d1e26901f75..2a9cffdd30f45f 100644
--- a/patches.renesas/0153-clk-renesas-r8a7795-Correct-name-of-watchdog-clock.patch
+++ b/patches.renesas/0153-clk-renesas-r8a7795-Correct-name-of-watchdog-clock.patch
@@ -9,14 +9,12 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 2122b56d30e4fb25b383f137e83e6b901e5b05ae)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/r8a7795-cpg-mssr.c | 2 +-
+ drivers/clk/renesas/r8a7795-cpg-mssr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/clk/renesas/r8a7795-cpg-mssr.c b/drivers/clk/renesas/r8a7795-cpg-mssr.c
-index cde470ce81e4..4e176e7f958b 100644
--- a/drivers/clk/renesas/r8a7795-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7795-cpg-mssr.c
-@@ -139,7 +139,7 @@ static const struct mssr_mod_clk r8a7795_mod_clks[] __initconst = {
+@@ -139,7 +139,7 @@ static const struct mssr_mod_clk r8a7795
DEF_MOD("usb3-if0", 328, R8A7795_CLK_S3D1),
DEF_MOD("usb-dmac0", 330, R8A7795_CLK_S3D1),
DEF_MOD("usb-dmac1", 331, R8A7795_CLK_S3D1),
@@ -25,6 +23,3 @@ index cde470ce81e4..4e176e7f958b 100644
DEF_MOD("intc-ex", 407, R8A7795_CLK_CP),
DEF_MOD("intc-ap", 408, R8A7795_CLK_S3D1),
DEF_MOD("audmac1", 501, R8A7795_CLK_S3D1),
---
-2.13.3
-
diff --git a/patches.renesas/0154-clk-renesas-r8a7796-Correct-name-of-watchdog-clock.patch b/patches.renesas/0154-clk-renesas-r8a7796-Correct-name-of-watchdog-clock.patch
index 7853df1e117b8e..d479d0290931fd 100644
--- a/patches.renesas/0154-clk-renesas-r8a7796-Correct-name-of-watchdog-clock.patch
+++ b/patches.renesas/0154-clk-renesas-r8a7796-Correct-name-of-watchdog-clock.patch
@@ -9,14 +9,12 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 89aa58a3951bcf242c7755075a7429d0ed6640de)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/r8a7796-cpg-mssr.c | 2 +-
+ drivers/clk/renesas/r8a7796-cpg-mssr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/clk/renesas/r8a7796-cpg-mssr.c b/drivers/clk/renesas/r8a7796-cpg-mssr.c
-index 12a23c18bc1e..55003194a256 100644
--- a/drivers/clk/renesas/r8a7796-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7796-cpg-mssr.c
-@@ -135,7 +135,7 @@ static const struct mssr_mod_clk r8a7796_mod_clks[] __initconst = {
+@@ -135,7 +135,7 @@ static const struct mssr_mod_clk r8a7796
DEF_MOD("sdif2", 312, R8A7796_CLK_SD2),
DEF_MOD("sdif1", 313, R8A7796_CLK_SD1),
DEF_MOD("sdif0", 314, R8A7796_CLK_SD0),
@@ -25,6 +23,3 @@ index 12a23c18bc1e..55003194a256 100644
DEF_MOD("intc-ap", 408, R8A7796_CLK_S3D1),
DEF_MOD("drif7", 508, R8A7796_CLK_S3D2),
DEF_MOD("drif6", 509, R8A7796_CLK_S3D2),
---
-2.13.3
-
diff --git a/patches.renesas/0155-clk-renesas-r8a7795-Reformat-core-clock-table.patch b/patches.renesas/0155-clk-renesas-r8a7795-Reformat-core-clock-table.patch
index e91fcf0c27b21f..e3c12e58929f31 100644
--- a/patches.renesas/0155-clk-renesas-r8a7795-Reformat-core-clock-table.patch
+++ b/patches.renesas/0155-clk-renesas-r8a7795-Reformat-core-clock-table.patch
@@ -10,11 +10,9 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 3c969cec16176e98f9d8c976c163d2bb519c7c87)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/r8a7795-cpg-mssr.c | 20 ++++++++++----------
+ drivers/clk/renesas/r8a7795-cpg-mssr.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
-diff --git a/drivers/clk/renesas/r8a7795-cpg-mssr.c b/drivers/clk/renesas/r8a7795-cpg-mssr.c
-index 4e176e7f958b..608178618da8 100644
--- a/drivers/clk/renesas/r8a7795-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7795-cpg-mssr.c
@@ -53,8 +53,8 @@ enum clk_ids {
@@ -28,7 +26,7 @@ index 4e176e7f958b..608178618da8 100644
/* Internal Core Clocks */
DEF_BASE(".main", CLK_MAIN, CLK_TYPE_GEN3_MAIN, CLK_EXTAL),
-@@ -89,23 +89,23 @@ static const struct cpg_core_clk r8a7795_core_clks[] __initconst = {
+@@ -89,23 +89,23 @@ static const struct cpg_core_clk r8a7795
DEF_FIXED("s3d2", R8A7795_CLK_S3D2, CLK_S3, 2, 1),
DEF_FIXED("s3d4", R8A7795_CLK_S3D4, CLK_S3, 4, 1),
@@ -60,6 +58,3 @@ index 4e176e7f958b..608178618da8 100644
};
static const struct mssr_mod_clk r8a7795_mod_clks[] __initconst = {
---
-2.13.3
-
diff --git a/patches.renesas/0156-clk-renesas-r8a7796-Reformat-core-clock-table.patch b/patches.renesas/0156-clk-renesas-r8a7796-Reformat-core-clock-table.patch
index 55540b60158e20..89606808ed06ee 100644
--- a/patches.renesas/0156-clk-renesas-r8a7796-Reformat-core-clock-table.patch
+++ b/patches.renesas/0156-clk-renesas-r8a7796-Reformat-core-clock-table.patch
@@ -10,11 +10,9 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit c013fc7d23ca5b29f0cdc37d58b2466ead4fd5f6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/r8a7796-cpg-mssr.c | 12 ++++++------
+ drivers/clk/renesas/r8a7796-cpg-mssr.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
-diff --git a/drivers/clk/renesas/r8a7796-cpg-mssr.c b/drivers/clk/renesas/r8a7796-cpg-mssr.c
-index 55003194a256..f7787101b8d0 100644
--- a/drivers/clk/renesas/r8a7796-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7796-cpg-mssr.c
@@ -54,8 +54,8 @@ enum clk_ids {
@@ -28,7 +26,7 @@ index 55003194a256..f7787101b8d0 100644
/* Internal Core Clocks */
DEF_BASE(".main", CLK_MAIN, CLK_TYPE_GEN3_MAIN, CLK_EXTAL),
-@@ -95,10 +95,10 @@ static const struct cpg_core_clk r8a7796_core_clks[] __initconst = {
+@@ -95,10 +95,10 @@ static const struct cpg_core_clk r8a7796
DEF_FIXED("s3d2", R8A7796_CLK_S3D2, CLK_S3, 2, 1),
DEF_FIXED("s3d4", R8A7796_CLK_S3D4, CLK_S3, 4, 1),
@@ -43,6 +41,3 @@ index 55003194a256..f7787101b8d0 100644
DEF_FIXED("cl", R8A7796_CLK_CL, CLK_PLL1_DIV2, 48, 1),
DEF_FIXED("cp", R8A7796_CLK_CP, CLK_EXTAL, 2, 1),
---
-2.13.3
-
diff --git a/patches.renesas/0157-clk-renesas-rcar-gen3-cpg-Pass-mode-pins-to-rcar_gen.patch b/patches.renesas/0157-clk-renesas-rcar-gen3-cpg-Pass-mode-pins-to-rcar_gen.patch
index 813a0cb7e34944..b0a6189e6a519f 100644
--- a/patches.renesas/0157-clk-renesas-rcar-gen3-cpg-Pass-mode-pins-to-rcar_gen.patch
+++ b/patches.renesas/0157-clk-renesas-rcar-gen3-cpg-Pass-mode-pins-to-rcar_gen.patch
@@ -12,17 +12,15 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 5f3a432a44b135db002d22446827cfa061fc0bfb)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/r8a7795-cpg-mssr.c | 2 +-
- drivers/clk/renesas/r8a7796-cpg-mssr.c | 2 +-
- drivers/clk/renesas/rcar-gen3-cpg.c | 4 +++-
- drivers/clk/renesas/rcar-gen3-cpg.h | 2 +-
+ drivers/clk/renesas/r8a7795-cpg-mssr.c | 2 +-
+ drivers/clk/renesas/r8a7796-cpg-mssr.c | 2 +-
+ drivers/clk/renesas/rcar-gen3-cpg.c | 4 +++-
+ drivers/clk/renesas/rcar-gen3-cpg.h | 2 +-
4 files changed, 6 insertions(+), 4 deletions(-)
-diff --git a/drivers/clk/renesas/r8a7795-cpg-mssr.c b/drivers/clk/renesas/r8a7795-cpg-mssr.c
-index 608178618da8..4699f416e275 100644
--- a/drivers/clk/renesas/r8a7795-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7795-cpg-mssr.c
-@@ -330,7 +330,7 @@ static int __init r8a7795_cpg_mssr_init(struct device *dev)
+@@ -330,7 +330,7 @@ static int __init r8a7795_cpg_mssr_init(
return -EINVAL;
}
@@ -31,11 +29,9 @@ index 608178618da8..4699f416e275 100644
}
const struct cpg_mssr_info r8a7795_cpg_mssr_info __initconst = {
-diff --git a/drivers/clk/renesas/r8a7796-cpg-mssr.c b/drivers/clk/renesas/r8a7796-cpg-mssr.c
-index f7787101b8d0..9d114b31b073 100644
--- a/drivers/clk/renesas/r8a7796-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7796-cpg-mssr.c
-@@ -273,7 +273,7 @@ static int __init r8a7796_cpg_mssr_init(struct device *dev)
+@@ -273,7 +273,7 @@ static int __init r8a7796_cpg_mssr_init(
return -EINVAL;
}
@@ -44,11 +40,9 @@ index f7787101b8d0..9d114b31b073 100644
}
const struct cpg_mssr_info r8a7796_cpg_mssr_info __initconst = {
-diff --git a/drivers/clk/renesas/rcar-gen3-cpg.c b/drivers/clk/renesas/rcar-gen3-cpg.c
-index 742f6dc7c156..d395bb8c22f5 100644
--- a/drivers/clk/renesas/rcar-gen3-cpg.c
+++ b/drivers/clk/renesas/rcar-gen3-cpg.c
-@@ -247,6 +247,7 @@ static struct clk * __init cpg_sd_clk_register(const struct cpg_core_clk *core,
+@@ -247,6 +247,7 @@ static struct clk * __init cpg_sd_clk_re
static const struct rcar_gen3_cpg_pll_config *cpg_pll_config __initdata;
static unsigned int cpg_clk_extalr __initdata;
@@ -56,7 +50,7 @@ index 742f6dc7c156..d395bb8c22f5 100644
struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
const struct cpg_core_clk *core, const struct cpg_mssr_info *info,
-@@ -334,9 +335,10 @@ struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
+@@ -334,9 +335,10 @@ struct clk * __init rcar_gen3_cpg_clk_re
}
int __init rcar_gen3_cpg_init(const struct rcar_gen3_cpg_pll_config *config,
@@ -68,11 +62,9 @@ index 742f6dc7c156..d395bb8c22f5 100644
+ cpg_mode = mode;
return 0;
}
-diff --git a/drivers/clk/renesas/rcar-gen3-cpg.h b/drivers/clk/renesas/rcar-gen3-cpg.h
-index f788f481dd42..073be54b5d03 100644
--- a/drivers/clk/renesas/rcar-gen3-cpg.h
+++ b/drivers/clk/renesas/rcar-gen3-cpg.h
-@@ -37,6 +37,6 @@ struct clk *rcar_gen3_cpg_clk_register(struct device *dev,
+@@ -37,6 +37,6 @@ struct clk *rcar_gen3_cpg_clk_register(s
const struct cpg_core_clk *core, const struct cpg_mssr_info *info,
struct clk **clks, void __iomem *base);
int rcar_gen3_cpg_init(const struct rcar_gen3_cpg_pll_config *config,
@@ -80,6 +72,3 @@ index f788f481dd42..073be54b5d03 100644
+ unsigned int clk_extalr, u32 mode);
#endif
---
-2.13.3
-
diff --git a/patches.renesas/0158-clk-renesas-rcar-gen3-Add-workaround-for-PLL0-2-4-er.patch b/patches.renesas/0158-clk-renesas-rcar-gen3-Add-workaround-for-PLL0-2-4-er.patch
index 33a0090cf2161f..97dd697609ff56 100644
--- a/patches.renesas/0158-clk-renesas-rcar-gen3-Add-workaround-for-PLL0-2-4-er.patch
+++ b/patches.renesas/0158-clk-renesas-rcar-gen3-Add-workaround-for-PLL0-2-4-er.patch
@@ -14,11 +14,9 @@ Cc: Dien Pham <dien.pham.ry@renesas.com>
(cherry picked from commit cecbe87d73006cb321dec79b349e3fefd1a80962)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/rcar-gen3-cpg.c | 24 ++++++++++++++++++++++++
+ drivers/clk/renesas/rcar-gen3-cpg.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
-diff --git a/drivers/clk/renesas/rcar-gen3-cpg.c b/drivers/clk/renesas/rcar-gen3-cpg.c
-index d395bb8c22f5..e5247e3dc897 100644
--- a/drivers/clk/renesas/rcar-gen3-cpg.c
+++ b/drivers/clk/renesas/rcar-gen3-cpg.c
@@ -20,6 +20,7 @@
@@ -29,7 +27,7 @@ index d395bb8c22f5..e5247e3dc897 100644
#include "renesas-cpg-mssr.h"
#include "rcar-gen3-cpg.h"
-@@ -248,6 +249,17 @@ static struct clk * __init cpg_sd_clk_register(const struct cpg_core_clk *core,
+@@ -248,6 +249,17 @@ static struct clk * __init cpg_sd_clk_re
static const struct rcar_gen3_cpg_pll_config *cpg_pll_config __initdata;
static unsigned int cpg_clk_extalr __initdata;
static u32 cpg_mode __initdata;
@@ -47,7 +45,7 @@ index d395bb8c22f5..e5247e3dc897 100644
struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
const struct cpg_core_clk *core, const struct cpg_mssr_info *info,
-@@ -276,6 +288,8 @@ struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
+@@ -276,6 +288,8 @@ struct clk * __init rcar_gen3_cpg_clk_re
*/
value = readl(base + CPG_PLL0CR);
mult = (((value >> 24) & 0x7f) + 1) * 2;
@@ -56,7 +54,7 @@ index d395bb8c22f5..e5247e3dc897 100644
break;
case CLK_TYPE_GEN3_PLL1:
-@@ -291,6 +305,8 @@ struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
+@@ -291,6 +305,8 @@ struct clk * __init rcar_gen3_cpg_clk_re
*/
value = readl(base + CPG_PLL2CR);
mult = (((value >> 24) & 0x7f) + 1) * 2;
@@ -65,7 +63,7 @@ index d395bb8c22f5..e5247e3dc897 100644
break;
case CLK_TYPE_GEN3_PLL3:
-@@ -306,6 +322,8 @@ struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
+@@ -306,6 +322,8 @@ struct clk * __init rcar_gen3_cpg_clk_re
*/
value = readl(base + CPG_PLL4CR);
mult = (((value >> 24) & 0x7f) + 1) * 2;
@@ -74,7 +72,7 @@ index d395bb8c22f5..e5247e3dc897 100644
break;
case CLK_TYPE_GEN3_SD:
-@@ -337,8 +355,14 @@ struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
+@@ -337,8 +355,14 @@ struct clk * __init rcar_gen3_cpg_clk_re
int __init rcar_gen3_cpg_init(const struct rcar_gen3_cpg_pll_config *config,
unsigned int clk_extalr, u32 mode)
{
@@ -89,6 +87,3 @@ index d395bb8c22f5..e5247e3dc897 100644
+ pr_debug("%s: mode = 0x%x quirks = 0x%x\n", __func__, mode, cpg_quirks);
return 0;
}
---
-2.13.3
-
diff --git a/patches.renesas/0159-clk-renesas-cpg-mssr-Add-support-for-fixing-up-clock.patch b/patches.renesas/0159-clk-renesas-cpg-mssr-Add-support-for-fixing-up-clock.patch
index 6d79b6824b2d23..5c9cb89c9d516f 100644
--- a/patches.renesas/0159-clk-renesas-cpg-mssr-Add-support-for-fixing-up-clock.patch
+++ b/patches.renesas/0159-clk-renesas-cpg-mssr-Add-support-for-fixing-up-clock.patch
@@ -21,15 +21,13 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 48d0341e41870bcfc42206d38e00a6b1c2fea929)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/renesas-cpg-mssr.c | 50 ++++++++++++++++++++++++++++++++++
- drivers/clk/renesas/renesas-cpg-mssr.h | 22 +++++++++++++++
+ drivers/clk/renesas/renesas-cpg-mssr.c | 50 +++++++++++++++++++++++++++++++++
+ drivers/clk/renesas/renesas-cpg-mssr.h | 22 ++++++++++++++
2 files changed, 72 insertions(+)
-diff --git a/drivers/clk/renesas/renesas-cpg-mssr.c b/drivers/clk/renesas/renesas-cpg-mssr.c
-index eadcbd43ff88..99eeec6f24ec 100644
--- a/drivers/clk/renesas/renesas-cpg-mssr.c
+++ b/drivers/clk/renesas/renesas-cpg-mssr.c
-@@ -265,6 +265,11 @@ static void __init cpg_mssr_register_core_clk(const struct cpg_core_clk *core,
+@@ -265,6 +265,11 @@ static void __init cpg_mssr_register_cor
WARN_DEBUG(id >= priv->num_core_clks);
WARN_DEBUG(PTR_ERR(priv->clks[id]) != -ENOENT);
@@ -41,7 +39,7 @@ index eadcbd43ff88..99eeec6f24ec 100644
switch (core->type) {
case CLK_TYPE_IN:
clk = of_clk_get_by_name(priv->dev->of_node, core->name);
-@@ -335,6 +340,11 @@ static void __init cpg_mssr_register_mod_clk(const struct mssr_mod_clk *mod,
+@@ -335,6 +340,11 @@ static void __init cpg_mssr_register_mod
WARN_DEBUG(mod->parent >= priv->num_core_clks + priv->num_mod_clks);
WARN_DEBUG(PTR_ERR(priv->clks[id]) != -ENOENT);
@@ -99,11 +97,9 @@ index eadcbd43ff88..99eeec6f24ec 100644
+
MODULE_DESCRIPTION("Renesas CPG/MSSR Driver");
MODULE_LICENSE("GPL v2");
-diff --git a/drivers/clk/renesas/renesas-cpg-mssr.h b/drivers/clk/renesas/renesas-cpg-mssr.h
-index 4bb7a80c6469..148f4f0aa2a4 100644
--- a/drivers/clk/renesas/renesas-cpg-mssr.h
+++ b/drivers/clk/renesas/renesas-cpg-mssr.h
-@@ -134,4 +134,26 @@ extern const struct cpg_mssr_info r8a7743_cpg_mssr_info;
+@@ -134,4 +134,26 @@ extern const struct cpg_mssr_info r8a774
extern const struct cpg_mssr_info r8a7745_cpg_mssr_info;
extern const struct cpg_mssr_info r8a7795_cpg_mssr_info;
extern const struct cpg_mssr_info r8a7796_cpg_mssr_info;
@@ -130,6 +126,3 @@ index 4bb7a80c6469..148f4f0aa2a4 100644
+ const struct mssr_mod_reparent *clks,
+ unsigned int n);
#endif
---
-2.13.3
-
diff --git a/patches.renesas/0160-clk-renesas-r8a7795-Add-support-for-R-Car-H3-ES2.0.patch b/patches.renesas/0160-clk-renesas-r8a7795-Add-support-for-R-Car-H3-ES2.0.patch
index c80011e88e678c..2e79708640cb0a 100644
--- a/patches.renesas/0160-clk-renesas-r8a7795-Add-support-for-R-Car-H3-ES2.0.patch
+++ b/patches.renesas/0160-clk-renesas-r8a7795-Add-support-for-R-Car-H3-ES2.0.patch
@@ -34,11 +34,9 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 5573d194128b47334e3edb2db87cb471449d445a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/r8a7795-cpg-mssr.c | 201 +++++++++++++++++++++++++--------
+ drivers/clk/renesas/r8a7795-cpg-mssr.c | 201 ++++++++++++++++++++++++---------
1 file changed, 151 insertions(+), 50 deletions(-)
-diff --git a/drivers/clk/renesas/r8a7795-cpg-mssr.c b/drivers/clk/renesas/r8a7795-cpg-mssr.c
-index 4699f416e275..eaa98b488f01 100644
--- a/drivers/clk/renesas/r8a7795-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7795-cpg-mssr.c
@@ -16,6 +16,7 @@
@@ -67,7 +65,7 @@ index 4699f416e275..eaa98b488f01 100644
/* External Clock Inputs */
DEF_INPUT("extal", CLK_EXTAL),
DEF_INPUT("extalr", CLK_EXTALR),
-@@ -78,7 +79,12 @@ static const struct cpg_core_clk r8a7795_core_clks[] __initconst = {
+@@ -78,7 +79,12 @@ static const struct cpg_core_clk r8a7795
DEF_FIXED("zt", R8A7795_CLK_ZT, CLK_PLL1_DIV2, 4, 1),
DEF_FIXED("zx", R8A7795_CLK_ZX, CLK_PLL1_DIV2, 2, 1),
DEF_FIXED("s0d1", R8A7795_CLK_S0D1, CLK_S0, 1, 1),
@@ -80,7 +78,7 @@ index 4699f416e275..eaa98b488f01 100644
DEF_FIXED("s1d1", R8A7795_CLK_S1D1, CLK_S1, 1, 1),
DEF_FIXED("s1d2", R8A7795_CLK_S1D2, CLK_S1, 2, 1),
DEF_FIXED("s1d4", R8A7795_CLK_S1D4, CLK_S1, 4, 1),
-@@ -108,10 +114,10 @@ static const struct cpg_core_clk r8a7795_core_clks[] __initconst = {
+@@ -108,10 +114,10 @@ static const struct cpg_core_clk r8a7795
DEF_BASE("r", R8A7795_CLK_R, CLK_TYPE_GEN3_R, CLK_RINT),
};
@@ -95,7 +93,7 @@ index 4699f416e275..eaa98b488f01 100644
DEF_MOD("scif5", 202, R8A7795_CLK_S3D4),
DEF_MOD("scif4", 203, R8A7795_CLK_S3D4),
DEF_MOD("scif3", 204, R8A7795_CLK_S3D4),
-@@ -121,9 +127,9 @@ static const struct mssr_mod_clk r8a7795_mod_clks[] __initconst = {
+@@ -121,9 +127,9 @@ static const struct mssr_mod_clk r8a7795
DEF_MOD("msiof2", 209, R8A7795_CLK_MSO),
DEF_MOD("msiof1", 210, R8A7795_CLK_MSO),
DEF_MOD("msiof0", 211, R8A7795_CLK_MSO),
@@ -108,7 +106,7 @@ index 4699f416e275..eaa98b488f01 100644
DEF_MOD("cmt3", 300, R8A7795_CLK_R),
DEF_MOD("cmt2", 301, R8A7795_CLK_R),
DEF_MOD("cmt1", 302, R8A7795_CLK_R),
-@@ -135,15 +141,15 @@ static const struct mssr_mod_clk r8a7795_mod_clks[] __initconst = {
+@@ -135,15 +141,15 @@ static const struct mssr_mod_clk r8a7795
DEF_MOD("sdif0", 314, R8A7795_CLK_SD0),
DEF_MOD("pcie1", 318, R8A7795_CLK_S3D1),
DEF_MOD("pcie0", 319, R8A7795_CLK_S3D1),
@@ -127,7 +125,7 @@ index 4699f416e275..eaa98b488f01 100644
DEF_MOD("drif7", 508, R8A7795_CLK_S3D2),
DEF_MOD("drif6", 509, R8A7795_CLK_S3D2),
DEF_MOD("drif5", 510, R8A7795_CLK_S3D2),
-@@ -159,35 +165,35 @@ static const struct mssr_mod_clk r8a7795_mod_clks[] __initconst = {
+@@ -159,35 +165,35 @@ static const struct mssr_mod_clk r8a7795
DEF_MOD("hscif0", 520, R8A7795_CLK_S3D1),
DEF_MOD("thermal", 522, R8A7795_CLK_CP),
DEF_MOD("pwm", 523, R8A7795_CLK_S3D4),
@@ -188,7 +186,7 @@ index 4699f416e275..eaa98b488f01 100644
DEF_MOD("csi20", 714, R8A7795_CLK_CSI0),
DEF_MOD("csi41", 715, R8A7795_CLK_CSI0),
DEF_MOD("csi40", 716, R8A7795_CLK_CSI0),
-@@ -198,20 +204,20 @@ static const struct mssr_mod_clk r8a7795_mod_clks[] __initconst = {
+@@ -198,20 +204,20 @@ static const struct mssr_mod_clk r8a7795
DEF_MOD("lvds", 727, R8A7795_CLK_S0D4),
DEF_MOD("hdmi1", 728, R8A7795_CLK_HDMI),
DEF_MOD("hdmi0", 729, R8A7795_CLK_HDMI),
@@ -222,7 +220,7 @@ index 4699f416e275..eaa98b488f01 100644
DEF_MOD("gpio7", 905, R8A7795_CLK_CP),
DEF_MOD("gpio6", 906, R8A7795_CLK_CP),
DEF_MOD("gpio5", 907, R8A7795_CLK_CP),
-@@ -314,6 +320,82 @@ static const struct rcar_gen3_cpg_pll_config cpg_pll_configs[16] __initconst = {
+@@ -314,6 +320,82 @@ static const struct rcar_gen3_cpg_pll_co
{ 2, 192, 192, },
};
@@ -305,7 +303,7 @@ index 4699f416e275..eaa98b488f01 100644
static int __init r8a7795_cpg_mssr_init(struct device *dev)
{
const struct rcar_gen3_cpg_pll_config *cpg_pll_config;
-@@ -330,6 +412,25 @@ static int __init r8a7795_cpg_mssr_init(struct device *dev)
+@@ -330,6 +412,25 @@ static int __init r8a7795_cpg_mssr_init(
return -EINVAL;
}
@@ -331,6 +329,3 @@ index 4699f416e275..eaa98b488f01 100644
return rcar_gen3_cpg_init(cpg_pll_config, CLK_EXTALR, cpg_mode);
}
---
-2.13.3
-
diff --git a/patches.renesas/0161-clk-renesas-rcar-gen3-cpg-Add-support-for-RCLK-on-R-.patch b/patches.renesas/0161-clk-renesas-rcar-gen3-cpg-Add-support-for-RCLK-on-R-.patch
index c5083f7266fe06..da70a3f06aa909 100644
--- a/patches.renesas/0161-clk-renesas-rcar-gen3-cpg-Add-support-for-RCLK-on-R-.patch
+++ b/patches.renesas/0161-clk-renesas-rcar-gen3-cpg-Add-support-for-RCLK-on-R-.patch
@@ -16,11 +16,9 @@ Cc: Takeshi Kihara <takeshi.kihara.df@renesas.com>
(cherry picked from commit bb1953067c05be30a605ee1d5b05a2677735bb37)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/clk/renesas/rcar-gen3-cpg.c | 38 ++++++++++++++++++++++++++-----------
- 1 file changed, 27 insertions(+), 11 deletions(-)
+ drivers/clk/renesas/rcar-gen3-cpg.c | 36 ++++++++++++++++++++++++++----------
+ 1 file changed, 26 insertions(+), 10 deletions(-)
-diff --git a/drivers/clk/renesas/rcar-gen3-cpg.c b/drivers/clk/renesas/rcar-gen3-cpg.c
-index e5247e3dc897..3dee900522b7 100644
--- a/drivers/clk/renesas/rcar-gen3-cpg.c
+++ b/drivers/clk/renesas/rcar-gen3-cpg.c
@@ -252,11 +252,20 @@ static u32 cpg_mode __initdata;
@@ -45,7 +43,7 @@ index e5247e3dc897..3dee900522b7 100644
},
{ /* sentinel */ }
};
-@@ -330,18 +339,25 @@ struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
+@@ -330,18 +339,25 @@ struct clk * __init rcar_gen3_cpg_clk_re
return cpg_sd_clk_register(core, base, __clk_get_name(parent));
case CLK_TYPE_GEN3_R:
@@ -54,10 +52,6 @@ index e5247e3dc897..3dee900522b7 100644
- * Only if EXTALR is populated, we switch to it.
- */
- value = readl(base + CPG_RCKCR) & 0x3f;
--
-- if (clk_get_rate(clks[cpg_clk_extalr])) {
-- parent = clks[cpg_clk_extalr];
-- value |= BIT(15);
+ if (cpg_quirks & RCKCR_CKSEL) {
+ /*
+ * RINT is default.
@@ -69,7 +63,10 @@ index e5247e3dc897..3dee900522b7 100644
+ parent = clks[cpg_clk_extalr];
+ value |= BIT(15);
+ }
-+
+
+- if (clk_get_rate(clks[cpg_clk_extalr])) {
+- parent = clks[cpg_clk_extalr];
+- value |= BIT(15);
+ writel(value, base + CPG_RCKCR);
+ break;
}
@@ -81,6 +78,3 @@ index e5247e3dc897..3dee900522b7 100644
break;
default:
---
-2.13.3
-
diff --git a/patches.renesas/0162-pinctrl-sh-pfc-r8a7795-Fix-hscif2_clk_b-and-hscif4_c.patch b/patches.renesas/0162-pinctrl-sh-pfc-r8a7795-Fix-hscif2_clk_b-and-hscif4_c.patch
deleted file mode 100644
index 5b5688670adf43..00000000000000
--- a/patches.renesas/0162-pinctrl-sh-pfc-r8a7795-Fix-hscif2_clk_b-and-hscif4_c.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f448442eccb681d866c97c37d5e1b1b7dfe3a35d Mon Sep 17 00:00:00 2001
-From: Geert Uytterhoeven <geert+renesas@glider.be>
-Date: Sat, 11 Mar 2017 12:26:09 +0100
-Subject: [PATCH 162/286] pinctrl: sh-pfc: r8a7795: Fix hscif2_clk_b and
- hscif4_ctrl
-
-Fix typos in hscif2_clk_b_mux[] and hscif4_ctrl_mux[].
-
-Fixes: a56069c46c102710 ("pinctrl: sh-pfc: r8a7795: Add HSCIF pins, groups, and functions")
-Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
-(cherry picked from commit 4324b6084f45b9faebda8d6563d8625d22b4b5df)
-Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
----
- drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
-index 504d0c3d7f74..6ba7ed15a461 100644
---- a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
-+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
-@@ -2167,7 +2167,7 @@ static const unsigned int hscif2_clk_b_pins[] = {
- RCAR_GP_PIN(6, 21),
- };
- static const unsigned int hscif2_clk_b_mux[] = {
-- HSCK1_B_MARK,
-+ HSCK2_B_MARK,
- };
- static const unsigned int hscif2_ctrl_b_pins[] = {
- /* RTS, CTS */
-@@ -2240,7 +2240,7 @@ static const unsigned int hscif4_ctrl_pins[] = {
- RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14),
- };
- static const unsigned int hscif4_ctrl_mux[] = {
-- HRTS4_N_MARK, HCTS3_N_MARK,
-+ HRTS4_N_MARK, HCTS4_N_MARK,
- };
-
- static const unsigned int hscif4_data_b_pins[] = {
---
-2.13.3
-
diff --git a/patches.renesas/0163-pinctrl-sh-pfc-r8a7795-Restore-sort-order.patch b/patches.renesas/0163-pinctrl-sh-pfc-r8a7795-Restore-sort-order.patch
index 7f6b226205d99d..ee0fc0045f3808 100644
--- a/patches.renesas/0163-pinctrl-sh-pfc-r8a7795-Restore-sort-order.patch
+++ b/patches.renesas/0163-pinctrl-sh-pfc-r8a7795-Restore-sort-order.patch
@@ -10,14 +10,12 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit b332da51a929de9081058b17d108008cd6a0d15f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 171 ++++++++++++++++++-----------------
+ drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 171 +++++++++++++++++------------------
1 file changed, 86 insertions(+), 85 deletions(-)
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
-index 6ba7ed15a461..3d1c32cca16a 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
-@@ -3101,6 +3101,55 @@ static const unsigned int pwm6_b_mux[] = {
+@@ -3101,6 +3101,55 @@ static const unsigned int pwm6_b_mux[] =
PWM6_B_MARK,
};
@@ -73,7 +71,7 @@ index 6ba7ed15a461..3d1c32cca16a 100644
/* - SATA --------------------------------------------------------------------*/
static const unsigned int sata0_devslp_a_pins[] = {
/* DEVSLP */
-@@ -3299,6 +3348,23 @@ static const unsigned int scif5_clk_pins[] = {
+@@ -3299,6 +3348,23 @@ static const unsigned int scif5_clk_pins
static const unsigned int scif5_clk_mux[] = {
SCK5_MARK,
};
@@ -97,7 +95,7 @@ index 6ba7ed15a461..3d1c32cca16a 100644
/* - SDHI0 ------------------------------------------------------------------ */
static const unsigned int sdhi0_data1_pins[] = {
/* D0 */
-@@ -3506,22 +3572,6 @@ static const unsigned int sdhi3_ds_mux[] = {
+@@ -3506,22 +3572,6 @@ static const unsigned int sdhi3_ds_mux[]
SD3_DS_MARK,
};
@@ -176,7 +174,7 @@ index 6ba7ed15a461..3d1c32cca16a 100644
static const struct sh_pfc_pin_group pinmux_groups[] = {
SH_PFC_PIN_GROUP(audio_clk_a_a),
SH_PFC_PIN_GROUP(audio_clk_a_b),
-@@ -3990,6 +3991,12 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
+@@ -3990,6 +3991,12 @@ static const struct sh_pfc_pin_group pin
SH_PFC_PIN_GROUP(pwm5_b),
SH_PFC_PIN_GROUP(pwm6_a),
SH_PFC_PIN_GROUP(pwm6_b),
@@ -189,7 +187,7 @@ index 6ba7ed15a461..3d1c32cca16a 100644
SH_PFC_PIN_GROUP(sata0_devslp_a),
SH_PFC_PIN_GROUP(sata0_devslp_b),
SH_PFC_PIN_GROUP(scif0_data),
-@@ -4073,12 +4080,6 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
+@@ -4073,12 +4080,6 @@ static const struct sh_pfc_pin_group pin
SH_PFC_PIN_GROUP(usb0),
SH_PFC_PIN_GROUP(usb1),
SH_PFC_PIN_GROUP(usb2),
@@ -202,7 +200,7 @@ index 6ba7ed15a461..3d1c32cca16a 100644
};
static const char * const audio_clk_groups[] = {
-@@ -4393,6 +4394,18 @@ static const char * const pwm6_groups[] = {
+@@ -4393,6 +4394,18 @@ static const char * const pwm6_groups[]
"pwm6_b",
};
@@ -221,7 +219,7 @@ index 6ba7ed15a461..3d1c32cca16a 100644
static const char * const sata0_groups[] = {
"sata0_devslp_a",
"sata0_devslp_b",
-@@ -4524,18 +4537,6 @@ static const char * const usb2_groups[] = {
+@@ -4524,18 +4537,6 @@ static const char * const usb2_groups[]
"usb2",
};
@@ -240,7 +238,7 @@ index 6ba7ed15a461..3d1c32cca16a 100644
static const struct sh_pfc_function pinmux_functions[] = {
SH_PFC_FUNCTION(audio_clk),
SH_PFC_FUNCTION(avb),
-@@ -4569,6 +4570,8 @@ static const struct sh_pfc_function pinmux_functions[] = {
+@@ -4569,6 +4570,8 @@ static const struct sh_pfc_function pinm
SH_PFC_FUNCTION(pwm4),
SH_PFC_FUNCTION(pwm5),
SH_PFC_FUNCTION(pwm6),
@@ -249,7 +247,7 @@ index 6ba7ed15a461..3d1c32cca16a 100644
SH_PFC_FUNCTION(sata0),
SH_PFC_FUNCTION(scif0),
SH_PFC_FUNCTION(scif1),
-@@ -4585,8 +4588,6 @@ static const struct sh_pfc_function pinmux_functions[] = {
+@@ -4585,8 +4588,6 @@ static const struct sh_pfc_function pinm
SH_PFC_FUNCTION(usb0),
SH_PFC_FUNCTION(usb1),
SH_PFC_FUNCTION(usb2),
@@ -258,6 +256,3 @@ index 6ba7ed15a461..3d1c32cca16a 100644
};
static const struct pinmux_cfg_reg pinmux_config_regs[] = {
---
-2.13.3
-
diff --git a/patches.renesas/0164-pinctrl-sh-pfc-Update-info-pointer-after-SoC-specifi.patch b/patches.renesas/0164-pinctrl-sh-pfc-Update-info-pointer-after-SoC-specifi.patch
deleted file mode 100644
index 20ade9f43e9e09..00000000000000
--- a/patches.renesas/0164-pinctrl-sh-pfc-Update-info-pointer-after-SoC-specifi.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 71cf9371dde08af8cdf7edea3cf25061e1787891 Mon Sep 17 00:00:00 2001
-From: Geert Uytterhoeven <geert+renesas@glider.be>
-Date: Thu, 9 Mar 2017 19:20:48 +0100
-Subject: [PATCH 164/286] pinctrl: sh-pfc: Update info pointer after
- SoC-specific init
-
-Update the sh_pfc_soc_info pointer after calling the SoC-specific
-initialization function, as it may have been updated to e.g. handle
-different SoC revisions. This makes sure the correct subdriver name is
-printed later.
-
-Fixes: 0c151062f32c9db8 ("sh-pfc: Add support for SoC-specific initialization")
-Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
-(cherry picked from commit 3091ae775fae17084013021d01513bc1ad274e6a)
-Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
----
- drivers/pinctrl/sh-pfc/core.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/drivers/pinctrl/sh-pfc/core.c b/drivers/pinctrl/sh-pfc/core.c
-index cf80ce1dd7ce..4a5a0feb931b 100644
---- a/drivers/pinctrl/sh-pfc/core.c
-+++ b/drivers/pinctrl/sh-pfc/core.c
-@@ -586,6 +586,9 @@ static int sh_pfc_probe(struct platform_device *pdev)
- ret = info->ops->init(pfc);
- if (ret < 0)
- return ret;
-+
-+ /* .init() may have overridden pfc->info */
-+ info = pfc->info;
- }
-
- /* Enable dummy states for those platforms without pinctrl support */
---
-2.13.3
-
diff --git a/patches.renesas/0165-pinctrl-sh-pfc-r8a7795-Add-support-for-R-Car-H3-ES2..patch b/patches.renesas/0165-pinctrl-sh-pfc-r8a7795-Add-support-for-R-Car-H3-ES2..patch
index 3a6e275480cbad..e9071410345f78 100644
--- a/patches.renesas/0165-pinctrl-sh-pfc-r8a7795-Add-support-for-R-Car-H3-ES2..patch
+++ b/patches.renesas/0165-pinctrl-sh-pfc-r8a7795-Add-support-for-R-Car-H3-ES2..patch
@@ -34,18 +34,16 @@ Cc: Takeshi Kihara <takeshi.kihara.df@renesas.com>
(cherry picked from commit b205914c8f822ef2464b741c64e892823d685ad6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/pinctrl/sh-pfc/Makefile | 1 +
- drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c | 5705 ++++++++++++++++++++++++++++++
- drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 4780 +++++--------------------
- drivers/pinctrl/sh-pfc/sh_pfc.h | 1 +
- 4 files changed, 6603 insertions(+), 3884 deletions(-)
+ drivers/pinctrl/sh-pfc/Makefile | 1
+ drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c | 5705 +++++++++++++++++++++++++++++++
+ drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 4396 +++--------------------
+ drivers/pinctrl/sh-pfc/sh_pfc.h | 1
+ 4 files changed, 6411 insertions(+), 3692 deletions(-)
create mode 100644 drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c
-diff --git a/drivers/pinctrl/sh-pfc/Makefile b/drivers/pinctrl/sh-pfc/Makefile
-index 2dda8c63f3cf..8e08684774af 100644
--- a/drivers/pinctrl/sh-pfc/Makefile
+++ b/drivers/pinctrl/sh-pfc/Makefile
-@@ -11,6 +11,7 @@ obj-$(CONFIG_PINCTRL_PFC_R8A7792) += pfc-r8a7792.o
+@@ -11,6 +11,7 @@ obj-$(CONFIG_PINCTRL_PFC_R8A7792) += pfc
obj-$(CONFIG_PINCTRL_PFC_R8A7793) += pfc-r8a7791.o
obj-$(CONFIG_PINCTRL_PFC_R8A7794) += pfc-r8a7794.o
obj-$(CONFIG_PINCTRL_PFC_R8A7795) += pfc-r8a7795.o
@@ -53,9 +51,6 @@ index 2dda8c63f3cf..8e08684774af 100644
obj-$(CONFIG_PINCTRL_PFC_R8A7796) += pfc-r8a7796.o
obj-$(CONFIG_PINCTRL_PFC_SH7203) += pfc-sh7203.o
obj-$(CONFIG_PINCTRL_PFC_SH7264) += pfc-sh7264.o
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c b/drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c
-new file mode 100644
-index 000000000000..081efda9a280
--- /dev/null
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c
@@ -0,0 +1,5705 @@
@@ -5764,8 +5759,6 @@ index 000000000000..081efda9a280
+ .pinmux_data = pinmux_data,
+ .pinmux_data_size = ARRAY_SIZE(pinmux_data),
+};
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
-index 3d1c32cca16a..6caaed53938c 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
@@ -1,7 +1,7 @@
@@ -6140,7 +6133,7 @@ index 3d1c32cca16a..6caaed53938c 100644
#define PINMUX_GPSR \
\
-@@ -426,37 +437,34 @@ FM(IP12_23_20) IP12_23_20 FM(IP13_23_20) IP13_23_20 FM(IP14_23_20) IP14_23_20 FM
+@@ -426,37 +437,34 @@ FM(IP12_23_20) IP12_23_20 FM(IP13_23_20)
FM(IP12_27_24) IP12_27_24 FM(IP13_27_24) IP13_27_24 FM(IP14_27_24) IP14_27_24 FM(IP15_27_24) IP15_27_24 \
FM(IP12_31_28) IP12_31_28 FM(IP13_31_28) IP13_31_28 FM(IP14_31_28) IP14_31_28 FM(IP15_31_28) IP15_31_28 \
\
@@ -6342,171 +6335,89 @@ index 3d1c32cca16a..6caaed53938c 100644
PINMUX_IPSR_GPSR(IP1_19_16, PWM0),
PINMUX_IPSR_GPSR(IP1_19_16, AVB_AVTP_PPS),
-@@ -902,3692 +916,670 @@ static const u16 pinmux_data[] = {
- PINMUX_IPSR_GPSR(IP6_3_0, VI4_DATA21),
- PINMUX_IPSR_GPSR(IP6_3_0, VI5_DATA5),
+@@ -1009,426 +1023,481 @@ static const u16 pinmux_data[] = {
+
+ PINMUX_IPSR_GPSR(IP8_15_12, SD1_CMD),
+ PINMUX_IPSR_MSEL(IP8_15_12, MSIOF1_SYNC_G, SEL_MSIOF1_6),
++ PINMUX_IPSR_MSEL(IP8_15_12, NFCE_N_B, SEL_NDF_1),
+ PINMUX_IPSR_MSEL(IP8_15_12, SIM0_D_A, SEL_SIMCARD_0),
+ PINMUX_IPSR_MSEL(IP8_15_12, STP_IVCXO27_1_B, SEL_SSP1_1_1),
+
+ PINMUX_IPSR_GPSR(IP8_19_16, SD1_DAT0),
+ PINMUX_IPSR_GPSR(IP8_19_16, SD2_DAT4),
+ PINMUX_IPSR_MSEL(IP8_19_16, MSIOF1_RXD_G, SEL_MSIOF1_6),
++ PINMUX_IPSR_MSEL(IP8_19_16, NFWP_N_B, SEL_NDF_1),
+ PINMUX_IPSR_MSEL(IP8_19_16, TS_SCK1_B, SEL_TSIF1_1),
+ PINMUX_IPSR_MSEL(IP8_19_16, STP_ISCLK_1_B, SEL_SSP1_1_1),
+
+ PINMUX_IPSR_GPSR(IP8_23_20, SD1_DAT1),
+ PINMUX_IPSR_GPSR(IP8_23_20, SD2_DAT5),
+ PINMUX_IPSR_MSEL(IP8_23_20, MSIOF1_TXD_G, SEL_MSIOF1_6),
++ PINMUX_IPSR_MSEL(IP8_23_20, NFDATA14_B, SEL_NDF_1),
+ PINMUX_IPSR_MSEL(IP8_23_20, TS_SPSYNC1_B, SEL_TSIF1_1),
+ PINMUX_IPSR_MSEL(IP8_23_20, STP_ISSYNC_1_B, SEL_SSP1_1_1),
+
+ PINMUX_IPSR_GPSR(IP8_27_24, SD1_DAT2),
+ PINMUX_IPSR_GPSR(IP8_27_24, SD2_DAT6),
+ PINMUX_IPSR_MSEL(IP8_27_24, MSIOF1_SS1_G, SEL_MSIOF1_6),
++ PINMUX_IPSR_MSEL(IP8_27_24, NFDATA15_B, SEL_NDF_1),
+ PINMUX_IPSR_MSEL(IP8_27_24, TS_SDAT1_B, SEL_TSIF1_1),
+ PINMUX_IPSR_MSEL(IP8_27_24, STP_ISD_1_B, SEL_SSP1_1_1),
+
+ PINMUX_IPSR_GPSR(IP8_31_28, SD1_DAT3),
+ PINMUX_IPSR_GPSR(IP8_31_28, SD2_DAT7),
+ PINMUX_IPSR_MSEL(IP8_31_28, MSIOF1_SS2_G, SEL_MSIOF1_6),
++ PINMUX_IPSR_MSEL(IP8_31_28, NFRB_N_B, SEL_NDF_1),
+ PINMUX_IPSR_MSEL(IP8_31_28, TS_SDEN1_B, SEL_TSIF1_1),
+ PINMUX_IPSR_MSEL(IP8_31_28, STP_ISEN_1_B, SEL_SSP1_1_1),
+
+ /* IPSR9 */
+ PINMUX_IPSR_GPSR(IP9_3_0, SD2_CLK),
++ PINMUX_IPSR_GPSR(IP9_3_0, NFDATA8),
-- PINMUX_IPSR_GPSR(IP6_7_4, D6),
-- PINMUX_IPSR_MSEL(IP6_7_4, MSIOF2_RXD_B, SEL_MSIOF2_1),
-- PINMUX_IPSR_GPSR(IP6_7_4, VI4_DATA22),
-- PINMUX_IPSR_GPSR(IP6_7_4, VI5_DATA6),
--
-- PINMUX_IPSR_GPSR(IP6_11_8, D7),
-- PINMUX_IPSR_MSEL(IP6_11_8, MSIOF2_TXD_B, SEL_MSIOF2_1),
-- PINMUX_IPSR_GPSR(IP6_11_8, VI4_DATA23),
-- PINMUX_IPSR_GPSR(IP6_11_8, VI5_DATA7),
--
-- PINMUX_IPSR_GPSR(IP6_15_12, D8),
-- PINMUX_IPSR_GPSR(IP6_15_12, LCDOUT0),
-- PINMUX_IPSR_MSEL(IP6_15_12, MSIOF2_SCK_D, SEL_MSIOF2_3),
-- PINMUX_IPSR_MSEL(IP6_15_12, SCK4_C, SEL_SCIF4_2),
-- PINMUX_IPSR_MSEL(IP6_15_12, VI4_DATA0_A, SEL_VIN4_0),
-- PINMUX_IPSR_GPSR(IP6_15_12, DU_DR0),
--
-- PINMUX_IPSR_GPSR(IP6_19_16, D9),
-- PINMUX_IPSR_GPSR(IP6_19_16, LCDOUT1),
-- PINMUX_IPSR_MSEL(IP6_19_16, MSIOF2_SYNC_D, SEL_MSIOF2_3),
-- PINMUX_IPSR_MSEL(IP6_19_16, VI4_DATA1_A, SEL_VIN4_0),
-- PINMUX_IPSR_GPSR(IP6_19_16, DU_DR1),
--
-- PINMUX_IPSR_GPSR(IP6_23_20, D10),
-- PINMUX_IPSR_GPSR(IP6_23_20, LCDOUT2),
-- PINMUX_IPSR_MSEL(IP6_23_20, MSIOF2_RXD_D, SEL_MSIOF2_3),
-- PINMUX_IPSR_MSEL(IP6_23_20, HRX3_B, SEL_HSCIF3_1),
-- PINMUX_IPSR_MSEL(IP6_23_20, VI4_DATA2_A, SEL_VIN4_0),
-- PINMUX_IPSR_MSEL(IP6_23_20, CTS4_N_C, SEL_SCIF4_2),
-- PINMUX_IPSR_GPSR(IP6_23_20, DU_DR2),
--
-- PINMUX_IPSR_GPSR(IP6_27_24, D11),
-- PINMUX_IPSR_GPSR(IP6_27_24, LCDOUT3),
-- PINMUX_IPSR_MSEL(IP6_27_24, MSIOF2_TXD_D, SEL_MSIOF2_3),
-- PINMUX_IPSR_MSEL(IP6_27_24, HTX3_B, SEL_HSCIF3_1),
-- PINMUX_IPSR_MSEL(IP6_27_24, VI4_DATA3_A, SEL_VIN4_0),
-- PINMUX_IPSR_MSEL(IP6_27_24, RTS4_N_TANS_C, SEL_SCIF4_2),
-- PINMUX_IPSR_GPSR(IP6_27_24, DU_DR3),
--
-- PINMUX_IPSR_GPSR(IP6_31_28, D12),
-- PINMUX_IPSR_GPSR(IP6_31_28, LCDOUT4),
-- PINMUX_IPSR_MSEL(IP6_31_28, MSIOF2_SS1_D, SEL_MSIOF2_3),
-- PINMUX_IPSR_MSEL(IP6_31_28, RX4_C, SEL_SCIF4_2),
-- PINMUX_IPSR_MSEL(IP6_31_28, VI4_DATA4_A, SEL_VIN4_0),
-- PINMUX_IPSR_GPSR(IP6_31_28, DU_DR4),
--
-- /* IPSR7 */
-- PINMUX_IPSR_GPSR(IP7_3_0, D13),
-- PINMUX_IPSR_GPSR(IP7_3_0, LCDOUT5),
-- PINMUX_IPSR_MSEL(IP7_3_0, MSIOF2_SS2_D, SEL_MSIOF2_3),
-- PINMUX_IPSR_MSEL(IP7_3_0, TX4_C, SEL_SCIF4_2),
-- PINMUX_IPSR_MSEL(IP7_3_0, VI4_DATA5_A, SEL_VIN4_0),
-- PINMUX_IPSR_GPSR(IP7_3_0, DU_DR5),
--
-- PINMUX_IPSR_GPSR(IP7_7_4, D14),
-- PINMUX_IPSR_GPSR(IP7_7_4, LCDOUT6),
-- PINMUX_IPSR_MSEL(IP7_7_4, MSIOF3_SS1_A, SEL_MSIOF3_0),
-- PINMUX_IPSR_MSEL(IP7_7_4, HRX3_C, SEL_HSCIF3_2),
-- PINMUX_IPSR_MSEL(IP7_7_4, VI4_DATA6_A, SEL_VIN4_0),
-- PINMUX_IPSR_GPSR(IP7_7_4, DU_DR6),
-- PINMUX_IPSR_MSEL(IP7_7_4, SCL6_C, SEL_I2C6_2),
--
-- PINMUX_IPSR_GPSR(IP7_11_8, D15),
-- PINMUX_IPSR_GPSR(IP7_11_8, LCDOUT7),
-- PINMUX_IPSR_MSEL(IP7_11_8, MSIOF3_SS2_A, SEL_MSIOF3_0),
-- PINMUX_IPSR_MSEL(IP7_11_8, HTX3_C, SEL_HSCIF3_2),
-- PINMUX_IPSR_MSEL(IP7_11_8, VI4_DATA7_A, SEL_VIN4_0),
-- PINMUX_IPSR_GPSR(IP7_11_8, DU_DR7),
-- PINMUX_IPSR_MSEL(IP7_11_8, SDA6_C, SEL_I2C6_2),
--
-- PINMUX_IPSR_GPSR(IP7_15_12, FSCLKST),
--
-- PINMUX_IPSR_GPSR(IP7_19_16, SD0_CLK),
-- PINMUX_IPSR_MSEL(IP7_19_16, MSIOF1_SCK_E, SEL_MSIOF1_4),
-- PINMUX_IPSR_MSEL(IP7_19_16, STP_OPWM_0_B, SEL_SSP1_0_1),
--
-- PINMUX_IPSR_GPSR(IP7_23_20, SD0_CMD),
-- PINMUX_IPSR_MSEL(IP7_23_20, MSIOF1_SYNC_E, SEL_MSIOF1_4),
-- PINMUX_IPSR_MSEL(IP7_23_20, STP_IVCXO27_0_B, SEL_SSP1_0_1),
--
-- PINMUX_IPSR_GPSR(IP7_27_24, SD0_DAT0),
-- PINMUX_IPSR_MSEL(IP7_27_24, MSIOF1_RXD_E, SEL_MSIOF1_4),
-- PINMUX_IPSR_MSEL(IP7_27_24, TS_SCK0_B, SEL_TSIF0_1),
-- PINMUX_IPSR_MSEL(IP7_27_24, STP_ISCLK_0_B, SEL_SSP1_0_1),
--
-- PINMUX_IPSR_GPSR(IP7_31_28, SD0_DAT1),
-- PINMUX_IPSR_MSEL(IP7_31_28, MSIOF1_TXD_E, SEL_MSIOF1_4),
-- PINMUX_IPSR_MSEL(IP7_31_28, TS_SPSYNC0_B, SEL_TSIF0_1),
-- PINMUX_IPSR_MSEL(IP7_31_28, STP_ISSYNC_0_B, SEL_SSP1_0_1),
--
-- /* IPSR8 */
-- PINMUX_IPSR_GPSR(IP8_3_0, SD0_DAT2),
-- PINMUX_IPSR_MSEL(IP8_3_0, MSIOF1_SS1_E, SEL_MSIOF1_4),
-- PINMUX_IPSR_MSEL(IP8_3_0, TS_SDAT0_B, SEL_TSIF0_1),
-- PINMUX_IPSR_MSEL(IP8_3_0, STP_ISD_0_B, SEL_SSP1_0_1),
--
-- PINMUX_IPSR_GPSR(IP8_7_4, SD0_DAT3),
-- PINMUX_IPSR_MSEL(IP8_7_4, MSIOF1_SS2_E, SEL_MSIOF1_4),
-- PINMUX_IPSR_MSEL(IP8_7_4, TS_SDEN0_B, SEL_TSIF0_1),
-- PINMUX_IPSR_MSEL(IP8_7_4, STP_ISEN_0_B, SEL_SSP1_0_1),
--
-- PINMUX_IPSR_GPSR(IP8_11_8, SD1_CLK),
-- PINMUX_IPSR_MSEL(IP8_11_8, MSIOF1_SCK_G, SEL_MSIOF1_6),
-- PINMUX_IPSR_MSEL(IP8_11_8, SIM0_CLK_A, SEL_SIMCARD_0),
--
-- PINMUX_IPSR_GPSR(IP8_15_12, SD1_CMD),
-- PINMUX_IPSR_MSEL(IP8_15_12, MSIOF1_SYNC_G, SEL_MSIOF1_6),
-- PINMUX_IPSR_MSEL(IP8_15_12, SIM0_D_A, SEL_SIMCARD_0),
-- PINMUX_IPSR_MSEL(IP8_15_12, STP_IVCXO27_1_B, SEL_SSP1_1_1),
--
-- PINMUX_IPSR_GPSR(IP8_19_16, SD1_DAT0),
-- PINMUX_IPSR_GPSR(IP8_19_16, SD2_DAT4),
-- PINMUX_IPSR_MSEL(IP8_19_16, MSIOF1_RXD_G, SEL_MSIOF1_6),
-- PINMUX_IPSR_MSEL(IP8_19_16, TS_SCK1_B, SEL_TSIF1_1),
-- PINMUX_IPSR_MSEL(IP8_19_16, STP_ISCLK_1_B, SEL_SSP1_1_1),
--
-- PINMUX_IPSR_GPSR(IP8_23_20, SD1_DAT1),
-- PINMUX_IPSR_GPSR(IP8_23_20, SD2_DAT5),
-- PINMUX_IPSR_MSEL(IP8_23_20, MSIOF1_TXD_G, SEL_MSIOF1_6),
-- PINMUX_IPSR_MSEL(IP8_23_20, TS_SPSYNC1_B, SEL_TSIF1_1),
-- PINMUX_IPSR_MSEL(IP8_23_20, STP_ISSYNC_1_B, SEL_SSP1_1_1),
--
-- PINMUX_IPSR_GPSR(IP8_27_24, SD1_DAT2),
-- PINMUX_IPSR_GPSR(IP8_27_24, SD2_DAT6),
-- PINMUX_IPSR_MSEL(IP8_27_24, MSIOF1_SS1_G, SEL_MSIOF1_6),
-- PINMUX_IPSR_MSEL(IP8_27_24, TS_SDAT1_B, SEL_TSIF1_1),
-- PINMUX_IPSR_MSEL(IP8_27_24, STP_ISD_1_B, SEL_SSP1_1_1),
--
-- PINMUX_IPSR_GPSR(IP8_31_28, SD1_DAT3),
-- PINMUX_IPSR_GPSR(IP8_31_28, SD2_DAT7),
-- PINMUX_IPSR_MSEL(IP8_31_28, MSIOF1_SS2_G, SEL_MSIOF1_6),
-- PINMUX_IPSR_MSEL(IP8_31_28, TS_SDEN1_B, SEL_TSIF1_1),
-- PINMUX_IPSR_MSEL(IP8_31_28, STP_ISEN_1_B, SEL_SSP1_1_1),
--
-- /* IPSR9 */
-- PINMUX_IPSR_GPSR(IP9_3_0, SD2_CLK),
--
- PINMUX_IPSR_GPSR(IP9_7_4, SD2_DAT0),
--
++ PINMUX_IPSR_GPSR(IP9_7_4, SD2_CMD),
++ PINMUX_IPSR_GPSR(IP9_7_4, NFDATA9),
+
- PINMUX_IPSR_GPSR(IP9_11_8, SD2_DAT1),
--
++ PINMUX_IPSR_GPSR(IP9_11_8, SD2_DAT0),
++ PINMUX_IPSR_GPSR(IP9_11_8, NFDATA10),
+
- PINMUX_IPSR_GPSR(IP9_15_12, SD2_DAT2),
--
++ PINMUX_IPSR_GPSR(IP9_15_12, SD2_DAT1),
++ PINMUX_IPSR_GPSR(IP9_15_12, NFDATA11),
+
- PINMUX_IPSR_GPSR(IP9_19_16, SD2_DAT3),
--
++ PINMUX_IPSR_GPSR(IP9_19_16, SD2_DAT2),
++ PINMUX_IPSR_GPSR(IP9_19_16, NFDATA12),
+
- PINMUX_IPSR_GPSR(IP9_23_20, SD2_DS),
- PINMUX_IPSR_MSEL(IP9_23_20, SATA_DEVSLP_B, SEL_SATA_1),
--
++ PINMUX_IPSR_GPSR(IP9_23_20, SD2_DAT3),
++ PINMUX_IPSR_GPSR(IP9_23_20, NFDATA13),
+
- PINMUX_IPSR_GPSR(IP9_27_24, SD3_DAT4),
- PINMUX_IPSR_MSEL(IP9_27_24, SD2_CD_A, SEL_SDHI2_0),
--
++ PINMUX_IPSR_GPSR(IP9_27_24, SD2_DS),
++ PINMUX_IPSR_GPSR(IP9_27_24, NFALE),
++ PINMUX_IPSR_GPSR(IP9_27_24, SATA_DEVSLP_B),
+
- PINMUX_IPSR_GPSR(IP9_31_28, SD3_DAT5),
- PINMUX_IPSR_MSEL(IP9_31_28, SD2_WP_A, SEL_SDHI2_0),
--
-- /* IPSR10 */
++ PINMUX_IPSR_GPSR(IP9_31_28, SD3_CLK),
++ PINMUX_IPSR_GPSR(IP9_31_28, NFWE_N),
+
+ /* IPSR10 */
- PINMUX_IPSR_GPSR(IP10_3_0, SD3_DAT6),
- PINMUX_IPSR_GPSR(IP10_3_0, SD3_CD),
--
++ PINMUX_IPSR_GPSR(IP10_3_0, SD3_CMD),
++ PINMUX_IPSR_GPSR(IP10_3_0, NFRE_N),
+
- PINMUX_IPSR_GPSR(IP10_7_4, SD3_DAT7),
- PINMUX_IPSR_GPSR(IP10_7_4, SD3_WP),
--
++ PINMUX_IPSR_GPSR(IP10_7_4, SD3_DAT0),
++ PINMUX_IPSR_GPSR(IP10_7_4, NFDATA0),
+
- PINMUX_IPSR_GPSR(IP10_11_8, SD0_CD),
- PINMUX_IPSR_MSEL(IP10_11_8, SCL2_B, SEL_I2C2_1),
- PINMUX_IPSR_MSEL(IP10_11_8, SIM0_RST_A, SEL_SIMCARD_0),
@@ -6535,7 +6446,9 @@ index 3d1c32cca16a..6caaed53938c 100644
- PINMUX_IPSR_MSEL(IP10_31_28, TS_SCK0_C, SEL_TSIF0_2),
- PINMUX_IPSR_MSEL(IP10_31_28, STP_ISCLK_0_C, SEL_SSP1_0_2),
- PINMUX_IPSR_MSEL(IP10_31_28, RIF0_D0_B, SEL_DRIF0_1),
--
++ PINMUX_IPSR_GPSR(IP10_11_8, SD3_DAT1),
++ PINMUX_IPSR_GPSR(IP10_11_8, NFDATA1),
+
- /* IPSR11 */
- PINMUX_IPSR_GPSR(IP11_3_0, TX0),
- PINMUX_IPSR_MSEL(IP11_3_0, HTX1_B, SEL_HSCIF1_1),
@@ -6596,7 +6509,9 @@ index 3d1c32cca16a..6caaed53938c 100644
- PINMUX_IPSR_MSEL(IP11_31_28, STP_ISCLK_1_C, SEL_SSP1_1_2),
- PINMUX_IPSR_MSEL(IP11_31_28, RIF1_CLK_B, SEL_DRIF1_1),
- PINMUX_IPSR_GPSR(IP11_31_28, ADICLK),
--
++ PINMUX_IPSR_GPSR(IP10_15_12, SD3_DAT2),
++ PINMUX_IPSR_GPSR(IP10_15_12, NFDATA2),
+
- /* IPSR12 */
- PINMUX_IPSR_MSEL(IP12_3_0, TX2_A, SEL_SCIF2_0),
- PINMUX_IPSR_MSEL(IP12_3_0, SD2_CD_B, SEL_SDHI2_1),
@@ -6650,10 +6565,15 @@ index 3d1c32cca16a..6caaed53938c 100644
- PINMUX_IPSR_MSEL(IP12_27_24, STP_IVCXO27_0_D, SEL_SSP1_0_3),
- PINMUX_IPSR_MSEL(IP12_27_24, BPFCLK_A, SEL_FM_0),
- PINMUX_IPSR_MSEL(IP12_27_24, AUDIO_CLKOUT2_A, SEL_ADG_0),
--
++ PINMUX_IPSR_GPSR(IP10_19_16, SD3_DAT3),
++ PINMUX_IPSR_GPSR(IP10_19_16, NFDATA3),
+
- PINMUX_IPSR_GPSR(IP12_31_28, MSIOF0_SYNC),
- PINMUX_IPSR_MSEL(IP12_31_28, AUDIO_CLKOUT_A, SEL_ADG_0),
--
++ PINMUX_IPSR_GPSR(IP10_23_20, SD3_DAT4),
++ PINMUX_IPSR_MSEL(IP10_23_20, SD2_CD_A, SEL_SDHI2_0),
++ PINMUX_IPSR_GPSR(IP10_23_20, NFDATA4),
+
- /* IPSR13 */
- PINMUX_IPSR_GPSR(IP13_3_0, MSIOF0_SS1),
- PINMUX_IPSR_GPSR(IP13_3_0, RX5),
@@ -6684,22 +6604,220 @@ index 3d1c32cca16a..6caaed53938c 100644
- PINMUX_IPSR_GPSR(IP13_19_16, MLB_DAT),
- PINMUX_IPSR_MSEL(IP13_19_16, TX1_B, SEL_SCIF1_1),
- PINMUX_IPSR_MSEL(IP13_19_16, MSIOF1_RXD_F, SEL_MSIOF1_5),
--
++ PINMUX_IPSR_GPSR(IP10_27_24, SD3_DAT5),
++ PINMUX_IPSR_MSEL(IP10_27_24, SD2_WP_A, SEL_SDHI2_0),
++ PINMUX_IPSR_GPSR(IP10_27_24, NFDATA5),
++
++ PINMUX_IPSR_GPSR(IP10_31_28, SD3_DAT6),
++ PINMUX_IPSR_GPSR(IP10_31_28, SD3_CD),
++ PINMUX_IPSR_GPSR(IP10_31_28, NFDATA6),
+
- PINMUX_IPSR_GPSR(IP13_23_20, SSI_SCK01239),
- PINMUX_IPSR_MSEL(IP13_23_20, MSIOF1_TXD_F, SEL_MSIOF1_5),
--
++ /* IPSR11 */
++ PINMUX_IPSR_GPSR(IP11_3_0, SD3_DAT7),
++ PINMUX_IPSR_GPSR(IP11_3_0, SD3_WP),
++ PINMUX_IPSR_GPSR(IP11_3_0, NFDATA7),
++
++ PINMUX_IPSR_GPSR(IP11_7_4, SD3_DS),
++ PINMUX_IPSR_GPSR(IP11_7_4, NFCLE),
++
++ PINMUX_IPSR_GPSR(IP11_11_8, SD0_CD),
++ PINMUX_IPSR_MSEL(IP11_11_8, SCL2_B, SEL_I2C2_1),
++ PINMUX_IPSR_MSEL(IP11_11_8, SIM0_RST_A, SEL_SIMCARD_0),
++
++ PINMUX_IPSR_GPSR(IP11_15_12, SD0_WP),
++ PINMUX_IPSR_MSEL(IP11_15_12, SDA2_B, SEL_I2C2_1),
++
++ PINMUX_IPSR_GPSR(IP11_19_16, SD1_CD),
++ PINMUX_IPSR_MSEL(IP11_19_16, SIM0_CLK_B, SEL_SIMCARD_1),
++
++ PINMUX_IPSR_GPSR(IP11_23_20, SD1_WP),
++ PINMUX_IPSR_MSEL(IP11_23_20, SIM0_D_B, SEL_SIMCARD_1),
++
++ PINMUX_IPSR_GPSR(IP11_27_24, SCK0),
++ PINMUX_IPSR_MSEL(IP11_27_24, HSCK1_B, SEL_HSCIF1_1),
++ PINMUX_IPSR_MSEL(IP11_27_24, MSIOF1_SS2_B, SEL_MSIOF1_1),
++ PINMUX_IPSR_MSEL(IP11_27_24, AUDIO_CLKC_B, SEL_ADG_C_1),
++ PINMUX_IPSR_MSEL(IP11_27_24, SDA2_A, SEL_I2C2_0),
++ PINMUX_IPSR_MSEL(IP11_27_24, SIM0_RST_B, SEL_SIMCARD_1),
++ PINMUX_IPSR_MSEL(IP11_27_24, STP_OPWM_0_C, SEL_SSP1_0_2),
++ PINMUX_IPSR_MSEL(IP11_27_24, RIF0_CLK_B, SEL_DRIF0_1),
++ PINMUX_IPSR_GPSR(IP11_27_24, ADICHS2),
++ PINMUX_IPSR_MSEL(IP11_27_24, SCK5_B, SEL_SCIF5_1),
++
++ PINMUX_IPSR_GPSR(IP11_31_28, RX0),
++ PINMUX_IPSR_MSEL(IP11_31_28, HRX1_B, SEL_HSCIF1_1),
++ PINMUX_IPSR_MSEL(IP11_31_28, TS_SCK0_C, SEL_TSIF0_2),
++ PINMUX_IPSR_MSEL(IP11_31_28, STP_ISCLK_0_C, SEL_SSP1_0_2),
++ PINMUX_IPSR_MSEL(IP11_31_28, RIF0_D0_B, SEL_DRIF0_1),
+
- PINMUX_IPSR_GPSR(IP13_27_24, SSI_WS01239),
- PINMUX_IPSR_MSEL(IP13_27_24, MSIOF1_SS1_F, SEL_MSIOF1_5),
--
++ /* IPSR12 */
++ PINMUX_IPSR_GPSR(IP12_3_0, TX0),
++ PINMUX_IPSR_MSEL(IP12_3_0, HTX1_B, SEL_HSCIF1_1),
++ PINMUX_IPSR_MSEL(IP12_3_0, TS_SPSYNC0_C, SEL_TSIF0_2),
++ PINMUX_IPSR_MSEL(IP12_3_0, STP_ISSYNC_0_C, SEL_SSP1_0_2),
++ PINMUX_IPSR_MSEL(IP12_3_0, RIF0_D1_B, SEL_DRIF0_1),
++
++ PINMUX_IPSR_GPSR(IP12_7_4, CTS0_N),
++ PINMUX_IPSR_MSEL(IP12_7_4, HCTS1_N_B, SEL_HSCIF1_1),
++ PINMUX_IPSR_MSEL(IP12_7_4, MSIOF1_SYNC_B, SEL_MSIOF1_1),
++ PINMUX_IPSR_MSEL(IP12_7_4, TS_SPSYNC1_C, SEL_TSIF1_2),
++ PINMUX_IPSR_MSEL(IP12_7_4, STP_ISSYNC_1_C, SEL_SSP1_1_2),
++ PINMUX_IPSR_MSEL(IP12_7_4, RIF1_SYNC_B, SEL_DRIF1_1),
++ PINMUX_IPSR_GPSR(IP12_7_4, AUDIO_CLKOUT_C),
++ PINMUX_IPSR_GPSR(IP12_7_4, ADICS_SAMP),
++
++ PINMUX_IPSR_GPSR(IP12_11_8, RTS0_N_TANS),
++ PINMUX_IPSR_MSEL(IP12_11_8, HRTS1_N_B, SEL_HSCIF1_1),
++ PINMUX_IPSR_MSEL(IP12_11_8, MSIOF1_SS1_B, SEL_MSIOF1_1),
++ PINMUX_IPSR_MSEL(IP12_11_8, AUDIO_CLKA_B, SEL_ADG_A_1),
++ PINMUX_IPSR_MSEL(IP12_11_8, SCL2_A, SEL_I2C2_0),
++ PINMUX_IPSR_MSEL(IP12_11_8, STP_IVCXO27_1_C, SEL_SSP1_1_2),
++ PINMUX_IPSR_MSEL(IP12_11_8, RIF0_SYNC_B, SEL_DRIF0_1),
++ PINMUX_IPSR_GPSR(IP12_11_8, ADICHS1),
++
++ PINMUX_IPSR_MSEL(IP12_15_12, RX1_A, SEL_SCIF1_0),
++ PINMUX_IPSR_MSEL(IP12_15_12, HRX1_A, SEL_HSCIF1_0),
++ PINMUX_IPSR_MSEL(IP12_15_12, TS_SDAT0_C, SEL_TSIF0_2),
++ PINMUX_IPSR_MSEL(IP12_15_12, STP_ISD_0_C, SEL_SSP1_0_2),
++ PINMUX_IPSR_MSEL(IP12_15_12, RIF1_CLK_C, SEL_DRIF1_2),
++
++ PINMUX_IPSR_MSEL(IP12_19_16, TX1_A, SEL_SCIF1_0),
++ PINMUX_IPSR_MSEL(IP12_19_16, HTX1_A, SEL_HSCIF1_0),
++ PINMUX_IPSR_MSEL(IP12_19_16, TS_SDEN0_C, SEL_TSIF0_2),
++ PINMUX_IPSR_MSEL(IP12_19_16, STP_ISEN_0_C, SEL_SSP1_0_2),
++ PINMUX_IPSR_MSEL(IP12_19_16, RIF1_D0_C, SEL_DRIF1_2),
++
++ PINMUX_IPSR_GPSR(IP12_23_20, CTS1_N),
++ PINMUX_IPSR_MSEL(IP12_23_20, HCTS1_N_A, SEL_HSCIF1_0),
++ PINMUX_IPSR_MSEL(IP12_23_20, MSIOF1_RXD_B, SEL_MSIOF1_1),
++ PINMUX_IPSR_MSEL(IP12_23_20, TS_SDEN1_C, SEL_TSIF1_2),
++ PINMUX_IPSR_MSEL(IP12_23_20, STP_ISEN_1_C, SEL_SSP1_1_2),
++ PINMUX_IPSR_MSEL(IP12_23_20, RIF1_D0_B, SEL_DRIF1_1),
++ PINMUX_IPSR_GPSR(IP12_23_20, ADIDATA),
++
++ PINMUX_IPSR_GPSR(IP12_27_24, RTS1_N_TANS),
++ PINMUX_IPSR_MSEL(IP12_27_24, HRTS1_N_A, SEL_HSCIF1_0),
++ PINMUX_IPSR_MSEL(IP12_27_24, MSIOF1_TXD_B, SEL_MSIOF1_1),
++ PINMUX_IPSR_MSEL(IP12_27_24, TS_SDAT1_C, SEL_TSIF1_2),
++ PINMUX_IPSR_MSEL(IP12_27_24, STP_ISD_1_C, SEL_SSP1_1_2),
++ PINMUX_IPSR_MSEL(IP12_27_24, RIF1_D1_B, SEL_DRIF1_1),
++ PINMUX_IPSR_GPSR(IP12_27_24, ADICHS0),
++
++ PINMUX_IPSR_GPSR(IP12_31_28, SCK2),
++ PINMUX_IPSR_MSEL(IP12_31_28, SCIF_CLK_B, SEL_SCIF1_1),
++ PINMUX_IPSR_MSEL(IP12_31_28, MSIOF1_SCK_B, SEL_MSIOF1_1),
++ PINMUX_IPSR_MSEL(IP12_31_28, TS_SCK1_C, SEL_TSIF1_2),
++ PINMUX_IPSR_MSEL(IP12_31_28, STP_ISCLK_1_C, SEL_SSP1_1_2),
++ PINMUX_IPSR_MSEL(IP12_31_28, RIF1_CLK_B, SEL_DRIF1_1),
++ PINMUX_IPSR_GPSR(IP12_31_28, ADICLK),
+
- PINMUX_IPSR_GPSR(IP13_31_28, SSI_SDATA0),
- PINMUX_IPSR_MSEL(IP13_31_28, MSIOF1_SS2_F, SEL_MSIOF1_5),
--
-- /* IPSR14 */
++ /* IPSR13 */
++ PINMUX_IPSR_MSEL(IP13_3_0, TX2_A, SEL_SCIF2_0),
++ PINMUX_IPSR_MSEL(IP13_3_0, SD2_CD_B, SEL_SDHI2_1),
++ PINMUX_IPSR_MSEL(IP13_3_0, SCL1_A, SEL_I2C1_0),
++ PINMUX_IPSR_MSEL(IP13_3_0, FMCLK_A, SEL_FM_0),
++ PINMUX_IPSR_MSEL(IP13_3_0, RIF1_D1_C, SEL_DRIF1_2),
++ PINMUX_IPSR_GPSR(IP13_3_0, FSO_CFE_0_N),
++
++ PINMUX_IPSR_MSEL(IP13_7_4, RX2_A, SEL_SCIF2_0),
++ PINMUX_IPSR_MSEL(IP13_7_4, SD2_WP_B, SEL_SDHI2_1),
++ PINMUX_IPSR_MSEL(IP13_7_4, SDA1_A, SEL_I2C1_0),
++ PINMUX_IPSR_MSEL(IP13_7_4, FMIN_A, SEL_FM_0),
++ PINMUX_IPSR_MSEL(IP13_7_4, RIF1_SYNC_C, SEL_DRIF1_2),
++ PINMUX_IPSR_GPSR(IP13_7_4, FSO_CFE_1_N),
++
++ PINMUX_IPSR_GPSR(IP13_11_8, HSCK0),
++ PINMUX_IPSR_MSEL(IP13_11_8, MSIOF1_SCK_D, SEL_MSIOF1_3),
++ PINMUX_IPSR_MSEL(IP13_11_8, AUDIO_CLKB_A, SEL_ADG_B_0),
++ PINMUX_IPSR_MSEL(IP13_11_8, SSI_SDATA1_B, SEL_SSI_1),
++ PINMUX_IPSR_MSEL(IP13_11_8, TS_SCK0_D, SEL_TSIF0_3),
++ PINMUX_IPSR_MSEL(IP13_11_8, STP_ISCLK_0_D, SEL_SSP1_0_3),
++ PINMUX_IPSR_MSEL(IP13_11_8, RIF0_CLK_C, SEL_DRIF0_2),
++ PINMUX_IPSR_MSEL(IP13_11_8, RX5_B, SEL_SCIF5_1),
++
++ PINMUX_IPSR_GPSR(IP13_15_12, HRX0),
++ PINMUX_IPSR_MSEL(IP13_15_12, MSIOF1_RXD_D, SEL_MSIOF1_3),
++ PINMUX_IPSR_MSEL(IP13_15_12, SSI_SDATA2_B, SEL_SSI_1),
++ PINMUX_IPSR_MSEL(IP13_15_12, TS_SDEN0_D, SEL_TSIF0_3),
++ PINMUX_IPSR_MSEL(IP13_15_12, STP_ISEN_0_D, SEL_SSP1_0_3),
++ PINMUX_IPSR_MSEL(IP13_15_12, RIF0_D0_C, SEL_DRIF0_2),
++
++ PINMUX_IPSR_GPSR(IP13_19_16, HTX0),
++ PINMUX_IPSR_MSEL(IP13_19_16, MSIOF1_TXD_D, SEL_MSIOF1_3),
++ PINMUX_IPSR_MSEL(IP13_19_16, SSI_SDATA9_B, SEL_SSI_1),
++ PINMUX_IPSR_MSEL(IP13_19_16, TS_SDAT0_D, SEL_TSIF0_3),
++ PINMUX_IPSR_MSEL(IP13_19_16, STP_ISD_0_D, SEL_SSP1_0_3),
++ PINMUX_IPSR_MSEL(IP13_19_16, RIF0_D1_C, SEL_DRIF0_2),
++
++ PINMUX_IPSR_GPSR(IP13_23_20, HCTS0_N),
++ PINMUX_IPSR_MSEL(IP13_23_20, RX2_B, SEL_SCIF2_1),
++ PINMUX_IPSR_MSEL(IP13_23_20, MSIOF1_SYNC_D, SEL_MSIOF1_3),
++ PINMUX_IPSR_MSEL(IP13_23_20, SSI_SCK9_A, SEL_SSI_0),
++ PINMUX_IPSR_MSEL(IP13_23_20, TS_SPSYNC0_D, SEL_TSIF0_3),
++ PINMUX_IPSR_MSEL(IP13_23_20, STP_ISSYNC_0_D, SEL_SSP1_0_3),
++ PINMUX_IPSR_MSEL(IP13_23_20, RIF0_SYNC_C, SEL_DRIF0_2),
++ PINMUX_IPSR_GPSR(IP13_23_20, AUDIO_CLKOUT1_A),
++
++ PINMUX_IPSR_GPSR(IP13_27_24, HRTS0_N),
++ PINMUX_IPSR_MSEL(IP13_27_24, TX2_B, SEL_SCIF2_1),
++ PINMUX_IPSR_MSEL(IP13_27_24, MSIOF1_SS1_D, SEL_MSIOF1_3),
++ PINMUX_IPSR_MSEL(IP13_27_24, SSI_WS9_A, SEL_SSI_0),
++ PINMUX_IPSR_MSEL(IP13_27_24, STP_IVCXO27_0_D, SEL_SSP1_0_3),
++ PINMUX_IPSR_MSEL(IP13_27_24, BPFCLK_A, SEL_FM_0),
++ PINMUX_IPSR_GPSR(IP13_27_24, AUDIO_CLKOUT2_A),
++
++ PINMUX_IPSR_GPSR(IP13_31_28, MSIOF0_SYNC),
++ PINMUX_IPSR_GPSR(IP13_31_28, AUDIO_CLKOUT_A),
++ PINMUX_IPSR_MSEL(IP13_31_28, TX5_B, SEL_SCIF5_1),
++ PINMUX_IPSR_MSEL(IP13_31_28, BPFCLK_D, SEL_FM_3),
+
+ /* IPSR14 */
- PINMUX_IPSR_MSEL(IP14_3_0, SSI_SDATA1_A, SEL_SSI_0),
--
++ PINMUX_IPSR_GPSR(IP14_3_0, MSIOF0_SS1),
++ PINMUX_IPSR_MSEL(IP14_3_0, RX5_A, SEL_SCIF5_0),
++ PINMUX_IPSR_MSEL(IP14_3_0, NFWP_N_A, SEL_NDF_0),
++ PINMUX_IPSR_MSEL(IP14_3_0, AUDIO_CLKA_C, SEL_ADG_A_2),
++ PINMUX_IPSR_MSEL(IP14_3_0, SSI_SCK2_A, SEL_SSI_0),
++ PINMUX_IPSR_MSEL(IP14_3_0, STP_IVCXO27_0_C, SEL_SSP1_0_2),
++ PINMUX_IPSR_GPSR(IP14_3_0, AUDIO_CLKOUT3_A),
++ PINMUX_IPSR_MSEL(IP14_3_0, TCLK1_B, SEL_TIMER_TMU_1),
++
++ PINMUX_IPSR_GPSR(IP14_7_4, MSIOF0_SS2),
++ PINMUX_IPSR_MSEL(IP14_7_4, TX5_A, SEL_SCIF5_0),
++ PINMUX_IPSR_MSEL(IP14_7_4, MSIOF1_SS2_D, SEL_MSIOF1_3),
++ PINMUX_IPSR_MSEL(IP14_7_4, AUDIO_CLKC_A, SEL_ADG_C_0),
++ PINMUX_IPSR_MSEL(IP14_7_4, SSI_WS2_A, SEL_SSI_0),
++ PINMUX_IPSR_MSEL(IP14_7_4, STP_OPWM_0_D, SEL_SSP1_0_3),
++ PINMUX_IPSR_GPSR(IP14_7_4, AUDIO_CLKOUT_D),
++ PINMUX_IPSR_MSEL(IP14_7_4, SPEEDIN_B, SEL_SPEED_PULSE_1),
++
++ PINMUX_IPSR_GPSR(IP14_11_8, MLB_CLK),
++ PINMUX_IPSR_MSEL(IP14_11_8, MSIOF1_SCK_F, SEL_MSIOF1_5),
++ PINMUX_IPSR_MSEL(IP14_11_8, SCL1_B, SEL_I2C1_1),
++
++ PINMUX_IPSR_GPSR(IP14_15_12, MLB_SIG),
++ PINMUX_IPSR_MSEL(IP14_15_12, RX1_B, SEL_SCIF1_1),
++ PINMUX_IPSR_MSEL(IP14_15_12, MSIOF1_SYNC_F, SEL_MSIOF1_5),
++ PINMUX_IPSR_MSEL(IP14_15_12, SDA1_B, SEL_I2C1_1),
++
++ PINMUX_IPSR_GPSR(IP14_19_16, MLB_DAT),
++ PINMUX_IPSR_MSEL(IP14_19_16, TX1_B, SEL_SCIF1_1),
++ PINMUX_IPSR_MSEL(IP14_19_16, MSIOF1_RXD_F, SEL_MSIOF1_5),
++
++ PINMUX_IPSR_GPSR(IP14_23_20, SSI_SCK01239),
++ PINMUX_IPSR_MSEL(IP14_23_20, MSIOF1_TXD_F, SEL_MSIOF1_5),
+
- PINMUX_IPSR_MSEL(IP14_7_4, SSI_SDATA2_A, SEL_SSI_0),
- PINMUX_IPSR_MSEL(IP14_7_4, SSI_SCK1_B, SEL_SSI_1),
--
++ PINMUX_IPSR_GPSR(IP14_27_24, SSI_WS01239),
++ PINMUX_IPSR_MSEL(IP14_27_24, MSIOF1_SS1_F, SEL_MSIOF1_5),
+
- PINMUX_IPSR_GPSR(IP14_11_8, SSI_SCK34),
- PINMUX_IPSR_MSEL(IP14_11_8, MSIOF1_SS1_A, SEL_MSIOF1_0),
- PINMUX_IPSR_MSEL(IP14_11_8, STP_OPWM_0_A, SEL_SSP1_0_0),
@@ -6740,8 +6858,10 @@ index 3d1c32cca16a..6caaed53938c 100644
- PINMUX_IPSR_MSEL(IP14_31_28, STP_ISSYNC_0_A, SEL_SSP1_0_0),
- PINMUX_IPSR_MSEL(IP14_31_28, RIF0_D0_A, SEL_DRIF0_0),
- PINMUX_IPSR_MSEL(IP14_31_28, RIF2_D1_A, SEL_DRIF2_0),
--
-- /* IPSR15 */
++ PINMUX_IPSR_GPSR(IP14_31_28, SSI_SDATA0),
++ PINMUX_IPSR_MSEL(IP14_31_28, MSIOF1_SS2_F, SEL_MSIOF1_5),
+
+ /* IPSR15 */
- PINMUX_IPSR_GPSR(IP15_3_0, SSI_SCK6),
- PINMUX_IPSR_GPSR(IP15_3_0, USB2_PWEN),
- PINMUX_IPSR_MSEL(IP15_3_0, SIM0_RST_D, SEL_SIMCARD_3),
@@ -6795,11 +6915,55 @@ index 3d1c32cca16a..6caaed53938c 100644
- PINMUX_IPSR_GPSR(IP15_31_28, SCK1),
- PINMUX_IPSR_MSEL(IP15_31_28, STP_IVCXO27_1_A, SEL_SSP1_1_0),
- PINMUX_IPSR_GPSR(IP15_31_28, SCK5),
--
++ PINMUX_IPSR_MSEL(IP15_3_0, SSI_SDATA1_A, SEL_SSI_0),
+
- /* IPSR16 */
- PINMUX_IPSR_MSEL(IP16_3_0, AUDIO_CLKA_A, SEL_ADG_0),
- PINMUX_IPSR_GPSR(IP16_3_0, CC5_OSCOUT),
--
++ PINMUX_IPSR_MSEL(IP15_7_4, SSI_SDATA2_A, SEL_SSI_0),
++ PINMUX_IPSR_MSEL(IP15_7_4, SSI_SCK1_B, SEL_SSI_1),
++
++ PINMUX_IPSR_GPSR(IP15_11_8, SSI_SCK34),
++ PINMUX_IPSR_MSEL(IP15_11_8, MSIOF1_SS1_A, SEL_MSIOF1_0),
++ PINMUX_IPSR_MSEL(IP15_11_8, STP_OPWM_0_A, SEL_SSP1_0_0),
++
++ PINMUX_IPSR_GPSR(IP15_15_12, SSI_WS34),
++ PINMUX_IPSR_MSEL(IP15_15_12, HCTS2_N_A, SEL_HSCIF2_0),
++ PINMUX_IPSR_MSEL(IP15_15_12, MSIOF1_SS2_A, SEL_MSIOF1_0),
++ PINMUX_IPSR_MSEL(IP15_15_12, STP_IVCXO27_0_A, SEL_SSP1_0_0),
++
++ PINMUX_IPSR_GPSR(IP15_19_16, SSI_SDATA3),
++ PINMUX_IPSR_MSEL(IP15_19_16, HRTS2_N_A, SEL_HSCIF2_0),
++ PINMUX_IPSR_MSEL(IP15_19_16, MSIOF1_TXD_A, SEL_MSIOF1_0),
++ PINMUX_IPSR_MSEL(IP15_19_16, TS_SCK0_A, SEL_TSIF0_0),
++ PINMUX_IPSR_MSEL(IP15_19_16, STP_ISCLK_0_A, SEL_SSP1_0_0),
++ PINMUX_IPSR_MSEL(IP15_19_16, RIF0_D1_A, SEL_DRIF0_0),
++ PINMUX_IPSR_MSEL(IP15_19_16, RIF2_D0_A, SEL_DRIF2_0),
++
++ PINMUX_IPSR_GPSR(IP15_23_20, SSI_SCK4),
++ PINMUX_IPSR_MSEL(IP15_23_20, HRX2_A, SEL_HSCIF2_0),
++ PINMUX_IPSR_MSEL(IP15_23_20, MSIOF1_SCK_A, SEL_MSIOF1_0),
++ PINMUX_IPSR_MSEL(IP15_23_20, TS_SDAT0_A, SEL_TSIF0_0),
++ PINMUX_IPSR_MSEL(IP15_23_20, STP_ISD_0_A, SEL_SSP1_0_0),
++ PINMUX_IPSR_MSEL(IP15_23_20, RIF0_CLK_A, SEL_DRIF0_0),
++ PINMUX_IPSR_MSEL(IP15_23_20, RIF2_CLK_A, SEL_DRIF2_0),
++
++ PINMUX_IPSR_GPSR(IP15_27_24, SSI_WS4),
++ PINMUX_IPSR_MSEL(IP15_27_24, HTX2_A, SEL_HSCIF2_0),
++ PINMUX_IPSR_MSEL(IP15_27_24, MSIOF1_SYNC_A, SEL_MSIOF1_0),
++ PINMUX_IPSR_MSEL(IP15_27_24, TS_SDEN0_A, SEL_TSIF0_0),
++ PINMUX_IPSR_MSEL(IP15_27_24, STP_ISEN_0_A, SEL_SSP1_0_0),
++ PINMUX_IPSR_MSEL(IP15_27_24, RIF0_SYNC_A, SEL_DRIF0_0),
++ PINMUX_IPSR_MSEL(IP15_27_24, RIF2_SYNC_A, SEL_DRIF2_0),
++
++ PINMUX_IPSR_GPSR(IP15_31_28, SSI_SDATA4),
++ PINMUX_IPSR_MSEL(IP15_31_28, HSCK2_A, SEL_HSCIF2_0),
++ PINMUX_IPSR_MSEL(IP15_31_28, MSIOF1_RXD_A, SEL_MSIOF1_0),
++ PINMUX_IPSR_MSEL(IP15_31_28, TS_SPSYNC0_A, SEL_TSIF0_0),
++ PINMUX_IPSR_MSEL(IP15_31_28, STP_ISSYNC_0_A, SEL_SSP1_0_0),
++ PINMUX_IPSR_MSEL(IP15_31_28, RIF0_D0_A, SEL_DRIF0_0),
++ PINMUX_IPSR_MSEL(IP15_31_28, RIF2_D1_A, SEL_DRIF2_0),
+
- PINMUX_IPSR_MSEL(IP16_7_4, AUDIO_CLKB_B, SEL_ADG_1),
- PINMUX_IPSR_MSEL(IP16_7_4, SCIF_CLK_A, SEL_SCIF1_0),
- PINMUX_IPSR_MSEL(IP16_7_4, STP_IVCXO27_1_D, SEL_SSP1_1_3),
@@ -6856,8 +7020,62 @@ index 3d1c32cca16a..6caaed53938c 100644
- PINMUX_IPSR_MSEL(IP16_31_28, RIF3_D1_B, SEL_DRIF3_1),
- PINMUX_IPSR_MSEL(IP16_31_28, FSO_TOE_B, SEL_FSO_1),
- PINMUX_IPSR_GPSR(IP16_31_28, TPU0TO1),
--
-- /* IPSR17 */
++ /* IPSR16 */
++ PINMUX_IPSR_GPSR(IP16_3_0, SSI_SCK6),
++ PINMUX_IPSR_GPSR(IP16_3_0, USB2_PWEN),
++ PINMUX_IPSR_MSEL(IP16_3_0, SIM0_RST_D, SEL_SIMCARD_3),
++
++ PINMUX_IPSR_GPSR(IP16_7_4, SSI_WS6),
++ PINMUX_IPSR_GPSR(IP16_7_4, USB2_OVC),
++ PINMUX_IPSR_MSEL(IP16_7_4, SIM0_D_D, SEL_SIMCARD_3),
++
++ PINMUX_IPSR_GPSR(IP16_11_8, SSI_SDATA6),
++ PINMUX_IPSR_MSEL(IP16_11_8, SIM0_CLK_D, SEL_SIMCARD_3),
++ PINMUX_IPSR_GPSR(IP16_11_8, SATA_DEVSLP_A),
++
++ PINMUX_IPSR_GPSR(IP16_15_12, SSI_SCK78),
++ PINMUX_IPSR_MSEL(IP16_15_12, HRX2_B, SEL_HSCIF2_1),
++ PINMUX_IPSR_MSEL(IP16_15_12, MSIOF1_SCK_C, SEL_MSIOF1_2),
++ PINMUX_IPSR_MSEL(IP16_15_12, TS_SCK1_A, SEL_TSIF1_0),
++ PINMUX_IPSR_MSEL(IP16_15_12, STP_ISCLK_1_A, SEL_SSP1_1_0),
++ PINMUX_IPSR_MSEL(IP16_15_12, RIF1_CLK_A, SEL_DRIF1_0),
++ PINMUX_IPSR_MSEL(IP16_15_12, RIF3_CLK_A, SEL_DRIF3_0),
++
++ PINMUX_IPSR_GPSR(IP16_19_16, SSI_WS78),
++ PINMUX_IPSR_MSEL(IP16_19_16, HTX2_B, SEL_HSCIF2_1),
++ PINMUX_IPSR_MSEL(IP16_19_16, MSIOF1_SYNC_C, SEL_MSIOF1_2),
++ PINMUX_IPSR_MSEL(IP16_19_16, TS_SDAT1_A, SEL_TSIF1_0),
++ PINMUX_IPSR_MSEL(IP16_19_16, STP_ISD_1_A, SEL_SSP1_1_0),
++ PINMUX_IPSR_MSEL(IP16_19_16, RIF1_SYNC_A, SEL_DRIF1_0),
++ PINMUX_IPSR_MSEL(IP16_19_16, RIF3_SYNC_A, SEL_DRIF3_0),
++
++ PINMUX_IPSR_GPSR(IP16_23_20, SSI_SDATA7),
++ PINMUX_IPSR_MSEL(IP16_23_20, HCTS2_N_B, SEL_HSCIF2_1),
++ PINMUX_IPSR_MSEL(IP16_23_20, MSIOF1_RXD_C, SEL_MSIOF1_2),
++ PINMUX_IPSR_MSEL(IP16_23_20, TS_SDEN1_A, SEL_TSIF1_0),
++ PINMUX_IPSR_MSEL(IP16_23_20, STP_ISEN_1_A, SEL_SSP1_1_0),
++ PINMUX_IPSR_MSEL(IP16_23_20, RIF1_D0_A, SEL_DRIF1_0),
++ PINMUX_IPSR_MSEL(IP16_23_20, RIF3_D0_A, SEL_DRIF3_0),
++ PINMUX_IPSR_MSEL(IP16_23_20, TCLK2_A, SEL_TIMER_TMU_0),
++
++ PINMUX_IPSR_GPSR(IP16_27_24, SSI_SDATA8),
++ PINMUX_IPSR_MSEL(IP16_27_24, HRTS2_N_B, SEL_HSCIF2_1),
++ PINMUX_IPSR_MSEL(IP16_27_24, MSIOF1_TXD_C, SEL_MSIOF1_2),
++ PINMUX_IPSR_MSEL(IP16_27_24, TS_SPSYNC1_A, SEL_TSIF1_0),
++ PINMUX_IPSR_MSEL(IP16_27_24, STP_ISSYNC_1_A, SEL_SSP1_1_0),
++ PINMUX_IPSR_MSEL(IP16_27_24, RIF1_D1_A, SEL_DRIF1_0),
++ PINMUX_IPSR_MSEL(IP16_27_24, RIF3_D1_A, SEL_DRIF3_0),
++
++ PINMUX_IPSR_MSEL(IP16_31_28, SSI_SDATA9_A, SEL_SSI_0),
++ PINMUX_IPSR_MSEL(IP16_31_28, HSCK2_B, SEL_HSCIF2_1),
++ PINMUX_IPSR_MSEL(IP16_31_28, MSIOF1_SS1_C, SEL_MSIOF1_2),
++ PINMUX_IPSR_MSEL(IP16_31_28, HSCK1_A, SEL_HSCIF1_0),
++ PINMUX_IPSR_MSEL(IP16_31_28, SSI_WS1_B, SEL_SSI_1),
++ PINMUX_IPSR_GPSR(IP16_31_28, SCK1),
++ PINMUX_IPSR_MSEL(IP16_31_28, STP_IVCXO27_1_A, SEL_SSP1_1_0),
++ PINMUX_IPSR_GPSR(IP16_31_28, SCK5_A),
+
+ /* IPSR17 */
- PINMUX_IPSR_GPSR(IP17_3_0, USB31_PWEN),
- PINMUX_IPSR_MSEL(IP17_3_0, AUDIO_CLKOUT2_B, SEL_ADG_1),
- PINMUX_IPSR_MSEL(IP17_3_0, SSI_SCK9_B, SEL_SSI_1),
@@ -6873,84 +7091,99 @@ index 3d1c32cca16a..6caaed53938c 100644
- PINMUX_IPSR_MSEL(IP17_7_4, STP_ISSYNC_0_E, SEL_SSP1_0_4),
- PINMUX_IPSR_MSEL(IP17_7_4, RIF2_D1_B, SEL_DRIF2_1),
- PINMUX_IPSR_GPSR(IP17_7_4, TPU0TO3),
--
--/*
-- * Static pins can not be muxed between different functions but
-- * still needs a mark entry in the pinmux list. Add each static
-- * pin to the list without an associated function. The sh-pfc
-- * core will do the right thing and skip trying to mux then pin
-- * while still applying configuration to it
-- */
--#define FM(x) PINMUX_DATA(x##_MARK, 0),
-- PINMUX_STATIC
--#undef FM
--};
--
--/*
-- * R8A7795 has 8 banks with 32 PGIOS in each => 256 GPIOs.
-- * Physical layout rows: A - AW, cols: 1 - 39.
-- */
--#define ROW_GROUP_A(r) ('Z' - 'A' + 1 + (r))
--#define PIN_NUMBER(r, c) (((r) - 'A') * 39 + (c) + 300)
--#define PIN_A_NUMBER(r, c) PIN_NUMBER(ROW_GROUP_A(r), c)
--
--static const struct sh_pfc_pin pinmux_pins[] = {
-- PINMUX_GPIO_GP_ALL(),
--
-- /*
-- * Pins not associated with a GPIO port.
-- *
-- * The pin positions are different between different r8a7795
-- * packages, all that is needed for the pfc driver is a unique
-- * number for each pin. To this end use the pin layout from
-- * R-Car H3SiP to calculate a unique number for each pin.
-- */
-- SH_PFC_PIN_NAMED_CFG('A', 8, AVB_TX_CTL, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('A', 9, AVB_MDIO, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('A', 12, AVB_TXCREFCLK, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('A', 13, AVB_RD0, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('A', 14, AVB_RD2, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('A', 16, AVB_RX_CTL, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('A', 17, AVB_TD2, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('A', 18, AVB_TD0, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('A', 19, AVB_TXC, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('B', 13, AVB_RD1, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('B', 14, AVB_RD3, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('B', 17, AVB_TD3, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('B', 18, AVB_TD1, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('B', 19, AVB_RXC, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('C', 1, PRESETOUT#, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('F', 1, CLKOUT, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('H', 37, MLB_REF, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('V', 3, QSPI1_SPCLK, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('V', 5, QSPI1_SSL, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('V', 6, RPC_WP#, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('V', 7, RPC_RESET#, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('W', 3, QSPI0_SPCLK, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('Y', 3, QSPI0_SSL, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('Y', 6, QSPI0_IO2, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG('Y', 7, RPC_INT#, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('B'), 4, QSPI0_MISO_IO1, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('B'), 6, QSPI0_IO3, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('C'), 3, QSPI1_IO3, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('C'), 5, QSPI0_MOSI_IO0, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('C'), 7, QSPI1_MOSI_IO0, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('D'), 38, FSCLKST#, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('D'), 39, EXTALR, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('E'), 4, QSPI1_IO2, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('E'), 5, QSPI1_MISO_IO1, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('P'), 7, DU_DOTCLKIN0, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('P'), 8, DU_DOTCLKIN1, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 7, DU_DOTCLKIN2, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 8, DU_DOTCLKIN3, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 26, TRST#, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 29, TDI, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 30, TMS, CFG_FLAGS),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 27, TCK, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 28, TDO, SH_PFC_PIN_CFG_DRIVE_STRENGTH),
-- SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 30, ASEBRK, CFG_FLAGS),
--};
--
++ PINMUX_IPSR_MSEL(IP17_3_0, AUDIO_CLKA_A, SEL_ADG_A_0),
++ PINMUX_IPSR_GPSR(IP17_3_0, CC5_OSCOUT),
++
++ PINMUX_IPSR_MSEL(IP17_7_4, AUDIO_CLKB_B, SEL_ADG_B_1),
++ PINMUX_IPSR_MSEL(IP17_7_4, SCIF_CLK_A, SEL_SCIF1_0),
++ PINMUX_IPSR_MSEL(IP17_7_4, STP_IVCXO27_1_D, SEL_SSP1_1_3),
++ PINMUX_IPSR_MSEL(IP17_7_4, REMOCON_A, SEL_REMOCON_0),
++ PINMUX_IPSR_MSEL(IP17_7_4, TCLK1_A, SEL_TIMER_TMU_0),
++
++ PINMUX_IPSR_GPSR(IP17_11_8, USB0_PWEN),
++ PINMUX_IPSR_MSEL(IP17_11_8, SIM0_RST_C, SEL_SIMCARD_2),
++ PINMUX_IPSR_MSEL(IP17_11_8, TS_SCK1_D, SEL_TSIF1_3),
++ PINMUX_IPSR_MSEL(IP17_11_8, STP_ISCLK_1_D, SEL_SSP1_1_3),
++ PINMUX_IPSR_MSEL(IP17_11_8, BPFCLK_B, SEL_FM_1),
++ PINMUX_IPSR_MSEL(IP17_11_8, RIF3_CLK_B, SEL_DRIF3_1),
++ PINMUX_IPSR_MSEL(IP17_11_8, HSCK2_C, SEL_HSCIF2_2),
++
++ PINMUX_IPSR_GPSR(IP17_15_12, USB0_OVC),
++ PINMUX_IPSR_MSEL(IP17_15_12, SIM0_D_C, SEL_SIMCARD_2),
++ PINMUX_IPSR_MSEL(IP17_15_12, TS_SDAT1_D, SEL_TSIF1_3),
++ PINMUX_IPSR_MSEL(IP17_15_12, STP_ISD_1_D, SEL_SSP1_1_3),
++ PINMUX_IPSR_MSEL(IP17_15_12, RIF3_SYNC_B, SEL_DRIF3_1),
++ PINMUX_IPSR_MSEL(IP17_15_12, HRX2_C, SEL_HSCIF2_2),
++
++ PINMUX_IPSR_GPSR(IP17_19_16, USB1_PWEN),
++ PINMUX_IPSR_MSEL(IP17_19_16, SIM0_CLK_C, SEL_SIMCARD_2),
++ PINMUX_IPSR_MSEL(IP17_19_16, SSI_SCK1_A, SEL_SSI_0),
++ PINMUX_IPSR_MSEL(IP17_19_16, TS_SCK0_E, SEL_TSIF0_4),
++ PINMUX_IPSR_MSEL(IP17_19_16, STP_ISCLK_0_E, SEL_SSP1_0_4),
++ PINMUX_IPSR_MSEL(IP17_19_16, FMCLK_B, SEL_FM_1),
++ PINMUX_IPSR_MSEL(IP17_19_16, RIF2_CLK_B, SEL_DRIF2_1),
++ PINMUX_IPSR_MSEL(IP17_19_16, SPEEDIN_A, SEL_SPEED_PULSE_0),
++ PINMUX_IPSR_MSEL(IP17_19_16, HTX2_C, SEL_HSCIF2_2),
++
++ PINMUX_IPSR_GPSR(IP17_23_20, USB1_OVC),
++ PINMUX_IPSR_MSEL(IP17_23_20, MSIOF1_SS2_C, SEL_MSIOF1_2),
++ PINMUX_IPSR_MSEL(IP17_23_20, SSI_WS1_A, SEL_SSI_0),
++ PINMUX_IPSR_MSEL(IP17_23_20, TS_SDAT0_E, SEL_TSIF0_4),
++ PINMUX_IPSR_MSEL(IP17_23_20, STP_ISD_0_E, SEL_SSP1_0_4),
++ PINMUX_IPSR_MSEL(IP17_23_20, FMIN_B, SEL_FM_1),
++ PINMUX_IPSR_MSEL(IP17_23_20, RIF2_SYNC_B, SEL_DRIF2_1),
++ PINMUX_IPSR_MSEL(IP17_23_20, REMOCON_B, SEL_REMOCON_1),
++ PINMUX_IPSR_MSEL(IP17_23_20, HCTS2_N_C, SEL_HSCIF2_2),
++
++ PINMUX_IPSR_GPSR(IP17_27_24, USB30_PWEN),
++ PINMUX_IPSR_GPSR(IP17_27_24, AUDIO_CLKOUT_B),
++ PINMUX_IPSR_MSEL(IP17_27_24, SSI_SCK2_B, SEL_SSI_1),
++ PINMUX_IPSR_MSEL(IP17_27_24, TS_SDEN1_D, SEL_TSIF1_3),
++ PINMUX_IPSR_MSEL(IP17_27_24, STP_ISEN_1_D, SEL_SSP1_1_2),
++ PINMUX_IPSR_MSEL(IP17_27_24, STP_OPWM_0_E, SEL_SSP1_0_4),
++ PINMUX_IPSR_MSEL(IP17_27_24, RIF3_D0_B, SEL_DRIF3_1),
++ PINMUX_IPSR_MSEL(IP17_27_24, TCLK2_B, SEL_TIMER_TMU_1),
++ PINMUX_IPSR_GPSR(IP17_27_24, TPU0TO0),
++ PINMUX_IPSR_MSEL(IP17_27_24, BPFCLK_C, SEL_FM_2),
++ PINMUX_IPSR_MSEL(IP17_27_24, HRTS2_N_C, SEL_HSCIF2_2),
++
++ PINMUX_IPSR_GPSR(IP17_31_28, USB30_OVC),
++ PINMUX_IPSR_GPSR(IP17_31_28, AUDIO_CLKOUT1_B),
++ PINMUX_IPSR_MSEL(IP17_31_28, SSI_WS2_B, SEL_SSI_1),
++ PINMUX_IPSR_MSEL(IP17_31_28, TS_SPSYNC1_D, SEL_TSIF1_3),
++ PINMUX_IPSR_MSEL(IP17_31_28, STP_ISSYNC_1_D, SEL_SSP1_1_3),
++ PINMUX_IPSR_MSEL(IP17_31_28, STP_IVCXO27_0_E, SEL_SSP1_0_4),
++ PINMUX_IPSR_MSEL(IP17_31_28, RIF3_D1_B, SEL_DRIF3_1),
++ PINMUX_IPSR_GPSR(IP17_31_28, FSO_TOE_N),
++ PINMUX_IPSR_GPSR(IP17_31_28, TPU0TO1),
++
++ /* IPSR18 */
++ PINMUX_IPSR_GPSR(IP18_3_0, USB3_PWEN),
++ PINMUX_IPSR_GPSR(IP18_3_0, AUDIO_CLKOUT2_B),
++ PINMUX_IPSR_MSEL(IP18_3_0, SSI_SCK9_B, SEL_SSI_1),
++ PINMUX_IPSR_MSEL(IP18_3_0, TS_SDEN0_E, SEL_TSIF0_4),
++ PINMUX_IPSR_MSEL(IP18_3_0, STP_ISEN_0_E, SEL_SSP1_0_4),
++ PINMUX_IPSR_MSEL(IP18_3_0, RIF2_D0_B, SEL_DRIF2_1),
++ PINMUX_IPSR_GPSR(IP18_3_0, TPU0TO2),
++ PINMUX_IPSR_MSEL(IP18_3_0, FMCLK_C, SEL_FM_2),
++ PINMUX_IPSR_MSEL(IP18_3_0, FMCLK_D, SEL_FM_3),
++
++ PINMUX_IPSR_GPSR(IP18_7_4, USB3_OVC),
++ PINMUX_IPSR_GPSR(IP18_7_4, AUDIO_CLKOUT3_B),
++ PINMUX_IPSR_MSEL(IP18_7_4, SSI_WS9_B, SEL_SSI_1),
++ PINMUX_IPSR_MSEL(IP18_7_4, TS_SPSYNC0_E, SEL_TSIF0_4),
++ PINMUX_IPSR_MSEL(IP18_7_4, STP_ISSYNC_0_E, SEL_SSP1_0_4),
++ PINMUX_IPSR_MSEL(IP18_7_4, RIF2_D1_B, SEL_DRIF2_1),
++ PINMUX_IPSR_GPSR(IP18_7_4, TPU0TO3),
++ PINMUX_IPSR_MSEL(IP18_7_4, FMIN_C, SEL_FM_2),
++ PINMUX_IPSR_MSEL(IP18_7_4, FMIN_D, SEL_FM_3),
+
+ /*
+ * Static pins can not be muxed between different functions but
+@@ -1507,3087 +1576,10 @@ static const struct sh_pfc_pin pinmux_pi
+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 30, ASEBRK, CFG_FLAGS),
+ };
+
-/* - AUDIO CLOCK ------------------------------------------------------------ */
-static const unsigned int audio_clk_a_a_pins[] = {
- /* CLK A */
@@ -9218,7 +9451,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- USB2_PWEN_MARK, USB2_OVC_MARK,
-};
-
--static const struct sh_pfc_pin_group pinmux_groups[] = {
+ static const struct sh_pfc_pin_group pinmux_groups[] = {
- SH_PFC_PIN_GROUP(audio_clk_a_a),
- SH_PFC_PIN_GROUP(audio_clk_a_b),
- SH_PFC_PIN_GROUP(audio_clk_a_c),
@@ -9545,11 +9778,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "audio_clkout3_a",
- "audio_clkout3_b",
-};
-+ PINMUX_IPSR_GPSR(IP6_7_4, D6),
-+ PINMUX_IPSR_MSEL(IP6_7_4, MSIOF2_RXD_B, SEL_MSIOF2_1),
-+ PINMUX_IPSR_GPSR(IP6_7_4, VI4_DATA22),
-+ PINMUX_IPSR_GPSR(IP6_7_4, VI5_DATA6),
-
+-
-static const char * const avb_groups[] = {
- "avb_link",
- "avb_magic",
@@ -9562,64 +9791,29 @@ index 3d1c32cca16a..6caaed53938c 100644
- "avb_avtp_match_b",
- "avb_avtp_capture_b",
-};
-+ PINMUX_IPSR_GPSR(IP6_11_8, D7),
-+ PINMUX_IPSR_MSEL(IP6_11_8, MSIOF2_TXD_B, SEL_MSIOF2_1),
-+ PINMUX_IPSR_GPSR(IP6_11_8, VI4_DATA23),
-+ PINMUX_IPSR_GPSR(IP6_11_8, VI5_DATA7),
-
+-
-static const char * const can0_groups[] = {
- "can0_data_a",
- "can0_data_b",
-};
-+ PINMUX_IPSR_GPSR(IP6_15_12, D8),
-+ PINMUX_IPSR_GPSR(IP6_15_12, LCDOUT0),
-+ PINMUX_IPSR_MSEL(IP6_15_12, MSIOF2_SCK_D, SEL_MSIOF2_3),
-+ PINMUX_IPSR_MSEL(IP6_15_12, SCK4_C, SEL_SCIF4_2),
-+ PINMUX_IPSR_MSEL(IP6_15_12, VI4_DATA0_A, SEL_VIN4_0),
-+ PINMUX_IPSR_GPSR(IP6_15_12, DU_DR0),
-
+-
-static const char * const can1_groups[] = {
- "can1_data",
-};
-+ PINMUX_IPSR_GPSR(IP6_19_16, D9),
-+ PINMUX_IPSR_GPSR(IP6_19_16, LCDOUT1),
-+ PINMUX_IPSR_MSEL(IP6_19_16, MSIOF2_SYNC_D, SEL_MSIOF2_3),
-+ PINMUX_IPSR_MSEL(IP6_19_16, VI4_DATA1_A, SEL_VIN4_0),
-+ PINMUX_IPSR_GPSR(IP6_19_16, DU_DR1),
-
+-
-static const char * const can_clk_groups[] = {
- "can_clk",
-};
-+ PINMUX_IPSR_GPSR(IP6_23_20, D10),
-+ PINMUX_IPSR_GPSR(IP6_23_20, LCDOUT2),
-+ PINMUX_IPSR_MSEL(IP6_23_20, MSIOF2_RXD_D, SEL_MSIOF2_3),
-+ PINMUX_IPSR_MSEL(IP6_23_20, HRX3_B, SEL_HSCIF3_1),
-+ PINMUX_IPSR_MSEL(IP6_23_20, VI4_DATA2_A, SEL_VIN4_0),
-+ PINMUX_IPSR_MSEL(IP6_23_20, CTS4_N_C, SEL_SCIF4_2),
-+ PINMUX_IPSR_GPSR(IP6_23_20, DU_DR2),
-
+-
-static const char * const canfd0_groups[] = {
- "canfd0_data_a",
- "canfd0_data_b",
-};
-+ PINMUX_IPSR_GPSR(IP6_27_24, D11),
-+ PINMUX_IPSR_GPSR(IP6_27_24, LCDOUT3),
-+ PINMUX_IPSR_MSEL(IP6_27_24, MSIOF2_TXD_D, SEL_MSIOF2_3),
-+ PINMUX_IPSR_MSEL(IP6_27_24, HTX3_B, SEL_HSCIF3_1),
-+ PINMUX_IPSR_MSEL(IP6_27_24, VI4_DATA3_A, SEL_VIN4_0),
-+ PINMUX_IPSR_MSEL(IP6_27_24, RTS4_N_TANS_C, SEL_SCIF4_2),
-+ PINMUX_IPSR_GPSR(IP6_27_24, DU_DR3),
-
+-
-static const char * const canfd1_groups[] = {
- "canfd1_data",
-};
-+ PINMUX_IPSR_GPSR(IP6_31_28, D12),
-+ PINMUX_IPSR_GPSR(IP6_31_28, LCDOUT4),
-+ PINMUX_IPSR_MSEL(IP6_31_28, MSIOF2_SS1_D, SEL_MSIOF2_3),
-+ PINMUX_IPSR_MSEL(IP6_31_28, RX4_C, SEL_SCIF4_2),
-+ PINMUX_IPSR_MSEL(IP6_31_28, VI4_DATA4_A, SEL_VIN4_0),
-+ PINMUX_IPSR_GPSR(IP6_31_28, DU_DR4),
-
+-
-static const char * const drif0_groups[] = {
- "drif0_ctrl_a",
- "drif0_data0_a",
@@ -9631,14 +9825,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "drif0_data0_c",
- "drif0_data1_c",
-};
-+ /* IPSR7 */
-+ PINMUX_IPSR_GPSR(IP7_3_0, D13),
-+ PINMUX_IPSR_GPSR(IP7_3_0, LCDOUT5),
-+ PINMUX_IPSR_MSEL(IP7_3_0, MSIOF2_SS2_D, SEL_MSIOF2_3),
-+ PINMUX_IPSR_MSEL(IP7_3_0, TX4_C, SEL_SCIF4_2),
-+ PINMUX_IPSR_MSEL(IP7_3_0, VI4_DATA5_A, SEL_VIN4_0),
-+ PINMUX_IPSR_GPSR(IP7_3_0, DU_DR5),
-
+-
-static const char * const drif1_groups[] = {
- "drif1_ctrl_a",
- "drif1_data0_a",
@@ -9650,14 +9837,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "drif1_data0_c",
- "drif1_data1_c",
-};
-+ PINMUX_IPSR_GPSR(IP7_7_4, D14),
-+ PINMUX_IPSR_GPSR(IP7_7_4, LCDOUT6),
-+ PINMUX_IPSR_MSEL(IP7_7_4, MSIOF3_SS1_A, SEL_MSIOF3_0),
-+ PINMUX_IPSR_MSEL(IP7_7_4, HRX3_C, SEL_HSCIF3_2),
-+ PINMUX_IPSR_MSEL(IP7_7_4, VI4_DATA6_A, SEL_VIN4_0),
-+ PINMUX_IPSR_GPSR(IP7_7_4, DU_DR6),
-+ PINMUX_IPSR_MSEL(IP7_7_4, SCL6_C, SEL_I2C6_2),
-
+-
-static const char * const drif2_groups[] = {
- "drif2_ctrl_a",
- "drif2_data0_a",
@@ -9666,14 +9846,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "drif2_data0_b",
- "drif2_data1_b",
-};
-+ PINMUX_IPSR_GPSR(IP7_11_8, D15),
-+ PINMUX_IPSR_GPSR(IP7_11_8, LCDOUT7),
-+ PINMUX_IPSR_MSEL(IP7_11_8, MSIOF3_SS2_A, SEL_MSIOF3_0),
-+ PINMUX_IPSR_MSEL(IP7_11_8, HTX3_C, SEL_HSCIF3_2),
-+ PINMUX_IPSR_MSEL(IP7_11_8, VI4_DATA7_A, SEL_VIN4_0),
-+ PINMUX_IPSR_GPSR(IP7_11_8, DU_DR7),
-+ PINMUX_IPSR_MSEL(IP7_11_8, SDA6_C, SEL_I2C6_2),
-
+-
-static const char * const drif3_groups[] = {
- "drif3_ctrl_a",
- "drif3_data0_a",
@@ -9682,8 +9855,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "drif3_data0_b",
- "drif3_data1_b",
-};
-+ PINMUX_IPSR_GPSR(IP7_15_12, FSCLKST),
-
+-
-static const char * const du_groups[] = {
- "du_rgb666",
- "du_rgb888",
@@ -9694,19 +9866,13 @@ index 3d1c32cca16a..6caaed53938c 100644
- "du_cde",
- "du_disp",
-};
-+ PINMUX_IPSR_GPSR(IP7_19_16, SD0_CLK),
-+ PINMUX_IPSR_MSEL(IP7_19_16, MSIOF1_SCK_E, SEL_MSIOF1_4),
-+ PINMUX_IPSR_MSEL(IP7_19_16, STP_OPWM_0_B, SEL_SSP1_0_1),
-
+-
-static const char * const hscif0_groups[] = {
- "hscif0_data",
- "hscif0_clk",
- "hscif0_ctrl",
-};
-+ PINMUX_IPSR_GPSR(IP7_23_20, SD0_CMD),
-+ PINMUX_IPSR_MSEL(IP7_23_20, MSIOF1_SYNC_E, SEL_MSIOF1_4),
-+ PINMUX_IPSR_MSEL(IP7_23_20, STP_IVCXO27_0_B, SEL_SSP1_0_1),
-
+-
-static const char * const hscif1_groups[] = {
- "hscif1_data_a",
- "hscif1_clk_a",
@@ -9715,11 +9881,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "hscif1_clk_b",
- "hscif1_ctrl_b",
-};
-+ PINMUX_IPSR_GPSR(IP7_27_24, SD0_DAT0),
-+ PINMUX_IPSR_MSEL(IP7_27_24, MSIOF1_RXD_E, SEL_MSIOF1_4),
-+ PINMUX_IPSR_MSEL(IP7_27_24, TS_SCK0_B, SEL_TSIF0_1),
-+ PINMUX_IPSR_MSEL(IP7_27_24, STP_ISCLK_0_B, SEL_SSP1_0_1),
-
+-
-static const char * const hscif2_groups[] = {
- "hscif2_data_a",
- "hscif2_clk_a",
@@ -9728,11 +9890,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "hscif2_clk_b",
- "hscif2_ctrl_b",
-};
-+ PINMUX_IPSR_GPSR(IP7_31_28, SD0_DAT1),
-+ PINMUX_IPSR_MSEL(IP7_31_28, MSIOF1_TXD_E, SEL_MSIOF1_4),
-+ PINMUX_IPSR_MSEL(IP7_31_28, TS_SPSYNC0_B, SEL_TSIF0_1),
-+ PINMUX_IPSR_MSEL(IP7_31_28, STP_ISSYNC_0_B, SEL_SSP1_0_1),
-
+-
-static const char * const hscif3_groups[] = {
- "hscif3_data_a",
- "hscif3_clk",
@@ -9741,53 +9899,30 @@ index 3d1c32cca16a..6caaed53938c 100644
- "hscif3_data_c",
- "hscif3_data_d",
-};
-+ /* IPSR8 */
-+ PINMUX_IPSR_GPSR(IP8_3_0, SD0_DAT2),
-+ PINMUX_IPSR_MSEL(IP8_3_0, MSIOF1_SS1_E, SEL_MSIOF1_4),
-+ PINMUX_IPSR_MSEL(IP8_3_0, TS_SDAT0_B, SEL_TSIF0_1),
-+ PINMUX_IPSR_MSEL(IP8_3_0, STP_ISD_0_B, SEL_SSP1_0_1),
-
+-
-static const char * const hscif4_groups[] = {
- "hscif4_data_a",
- "hscif4_clk",
- "hscif4_ctrl",
- "hscif4_data_b",
-};
-+ PINMUX_IPSR_GPSR(IP8_7_4, SD0_DAT3),
-+ PINMUX_IPSR_MSEL(IP8_7_4, MSIOF1_SS2_E, SEL_MSIOF1_4),
-+ PINMUX_IPSR_MSEL(IP8_7_4, TS_SDEN0_B, SEL_TSIF0_1),
-+ PINMUX_IPSR_MSEL(IP8_7_4, STP_ISEN_0_B, SEL_SSP1_0_1),
-
+-
-static const char * const i2c1_groups[] = {
- "i2c1_a",
- "i2c1_b",
-};
-+ PINMUX_IPSR_GPSR(IP8_11_8, SD1_CLK),
-+ PINMUX_IPSR_MSEL(IP8_11_8, MSIOF1_SCK_G, SEL_MSIOF1_6),
-+ PINMUX_IPSR_MSEL(IP8_11_8, SIM0_CLK_A, SEL_SIMCARD_0),
-
+-
-static const char * const i2c2_groups[] = {
- "i2c2_a",
- "i2c2_b",
-};
-+ PINMUX_IPSR_GPSR(IP8_15_12, SD1_CMD),
-+ PINMUX_IPSR_MSEL(IP8_15_12, MSIOF1_SYNC_G, SEL_MSIOF1_6),
-+ PINMUX_IPSR_MSEL(IP8_15_12, NFCE_N_B, SEL_NDF_1),
-+ PINMUX_IPSR_MSEL(IP8_15_12, SIM0_D_A, SEL_SIMCARD_0),
-+ PINMUX_IPSR_MSEL(IP8_15_12, STP_IVCXO27_1_B, SEL_SSP1_1_1),
-
+-
-static const char * const i2c6_groups[] = {
- "i2c6_a",
- "i2c6_b",
- "i2c6_c",
-};
-+ PINMUX_IPSR_GPSR(IP8_19_16, SD1_DAT0),
-+ PINMUX_IPSR_GPSR(IP8_19_16, SD2_DAT4),
-+ PINMUX_IPSR_MSEL(IP8_19_16, MSIOF1_RXD_G, SEL_MSIOF1_6),
-+ PINMUX_IPSR_MSEL(IP8_19_16, NFWP_N_B, SEL_NDF_1),
-+ PINMUX_IPSR_MSEL(IP8_19_16, TS_SCK1_B, SEL_TSIF1_1),
-+ PINMUX_IPSR_MSEL(IP8_19_16, STP_ISCLK_1_B, SEL_SSP1_1_1),
-
+-
-static const char * const intc_ex_groups[] = {
- "intc_ex_irq0",
- "intc_ex_irq1",
@@ -9796,13 +9931,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "intc_ex_irq4",
- "intc_ex_irq5",
-};
-+ PINMUX_IPSR_GPSR(IP8_23_20, SD1_DAT1),
-+ PINMUX_IPSR_GPSR(IP8_23_20, SD2_DAT5),
-+ PINMUX_IPSR_MSEL(IP8_23_20, MSIOF1_TXD_G, SEL_MSIOF1_6),
-+ PINMUX_IPSR_MSEL(IP8_23_20, NFDATA14_B, SEL_NDF_1),
-+ PINMUX_IPSR_MSEL(IP8_23_20, TS_SPSYNC1_B, SEL_TSIF1_1),
-+ PINMUX_IPSR_MSEL(IP8_23_20, STP_ISSYNC_1_B, SEL_SSP1_1_1),
-
+-
-static const char * const msiof0_groups[] = {
- "msiof0_clk",
- "msiof0_sync",
@@ -9811,13 +9940,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "msiof0_txd",
- "msiof0_rxd",
-};
-+ PINMUX_IPSR_GPSR(IP8_27_24, SD1_DAT2),
-+ PINMUX_IPSR_GPSR(IP8_27_24, SD2_DAT6),
-+ PINMUX_IPSR_MSEL(IP8_27_24, MSIOF1_SS1_G, SEL_MSIOF1_6),
-+ PINMUX_IPSR_MSEL(IP8_27_24, NFDATA15_B, SEL_NDF_1),
-+ PINMUX_IPSR_MSEL(IP8_27_24, TS_SDAT1_B, SEL_TSIF1_1),
-+ PINMUX_IPSR_MSEL(IP8_27_24, STP_ISD_1_B, SEL_SSP1_1_1),
-
+-
-static const char * const msiof1_groups[] = {
- "msiof1_clk_a",
- "msiof1_sync_a",
@@ -9862,13 +9985,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "msiof1_txd_g",
- "msiof1_rxd_g",
-};
-+ PINMUX_IPSR_GPSR(IP8_31_28, SD1_DAT3),
-+ PINMUX_IPSR_GPSR(IP8_31_28, SD2_DAT7),
-+ PINMUX_IPSR_MSEL(IP8_31_28, MSIOF1_SS2_G, SEL_MSIOF1_6),
-+ PINMUX_IPSR_MSEL(IP8_31_28, NFRB_N_B, SEL_NDF_1),
-+ PINMUX_IPSR_MSEL(IP8_31_28, TS_SDEN1_B, SEL_TSIF1_1),
-+ PINMUX_IPSR_MSEL(IP8_31_28, STP_ISEN_1_B, SEL_SSP1_1_1),
-
+-
-static const char * const msiof2_groups[] = {
- "msiof2_clk_a",
- "msiof2_sync_a",
@@ -9895,10 +10012,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "msiof2_txd_d",
- "msiof2_rxd_d",
-};
-+ /* IPSR9 */
-+ PINMUX_IPSR_GPSR(IP9_3_0, SD2_CLK),
-+ PINMUX_IPSR_GPSR(IP9_3_0, NFDATA8),
-
+-
-static const char * const msiof3_groups[] = {
- "msiof3_clk_a",
- "msiof3_sync_a",
@@ -9922,119 +10036,84 @@ index 3d1c32cca16a..6caaed53938c 100644
- "msiof3_txd_d",
- "msiof3_rxd_d",
-};
-+ PINMUX_IPSR_GPSR(IP9_7_4, SD2_CMD),
-+ PINMUX_IPSR_GPSR(IP9_7_4, NFDATA9),
-
+-
-static const char * const pwm0_groups[] = {
- "pwm0",
-};
-+ PINMUX_IPSR_GPSR(IP9_11_8, SD2_DAT0),
-+ PINMUX_IPSR_GPSR(IP9_11_8, NFDATA10),
-
+-
-static const char * const pwm1_groups[] = {
- "pwm1_a",
- "pwm1_b",
-};
-+ PINMUX_IPSR_GPSR(IP9_15_12, SD2_DAT1),
-+ PINMUX_IPSR_GPSR(IP9_15_12, NFDATA11),
-
+-
-static const char * const pwm2_groups[] = {
- "pwm2_a",
- "pwm2_b",
-};
-+ PINMUX_IPSR_GPSR(IP9_19_16, SD2_DAT2),
-+ PINMUX_IPSR_GPSR(IP9_19_16, NFDATA12),
-
+-
-static const char * const pwm3_groups[] = {
- "pwm3_a",
- "pwm3_b",
-};
-+ PINMUX_IPSR_GPSR(IP9_23_20, SD2_DAT3),
-+ PINMUX_IPSR_GPSR(IP9_23_20, NFDATA13),
-
+-
-static const char * const pwm4_groups[] = {
- "pwm4_a",
- "pwm4_b",
-};
-+ PINMUX_IPSR_GPSR(IP9_27_24, SD2_DS),
-+ PINMUX_IPSR_GPSR(IP9_27_24, NFALE),
-+ PINMUX_IPSR_GPSR(IP9_27_24, SATA_DEVSLP_B),
-
+-
-static const char * const pwm5_groups[] = {
- "pwm5_a",
- "pwm5_b",
-};
-+ PINMUX_IPSR_GPSR(IP9_31_28, SD3_CLK),
-+ PINMUX_IPSR_GPSR(IP9_31_28, NFWE_N),
-
+-
-static const char * const pwm6_groups[] = {
- "pwm6_a",
- "pwm6_b",
-};
-+ /* IPSR10 */
-+ PINMUX_IPSR_GPSR(IP10_3_0, SD3_CMD),
-+ PINMUX_IPSR_GPSR(IP10_3_0, NFRE_N),
-
+-
-static const char * const qspi0_groups[] = {
- "qspi0_ctrl",
- "qspi0_data2",
- "qspi0_data4",
-};
-+ PINMUX_IPSR_GPSR(IP10_7_4, SD3_DAT0),
-+ PINMUX_IPSR_GPSR(IP10_7_4, NFDATA0),
-
+-
-static const char * const qspi1_groups[] = {
- "qspi1_ctrl",
- "qspi1_data2",
- "qspi1_data4",
-};
-+ PINMUX_IPSR_GPSR(IP10_11_8, SD3_DAT1),
-+ PINMUX_IPSR_GPSR(IP10_11_8, NFDATA1),
-
+-
-static const char * const sata0_groups[] = {
- "sata0_devslp_a",
- "sata0_devslp_b",
-};
-+ PINMUX_IPSR_GPSR(IP10_15_12, SD3_DAT2),
-+ PINMUX_IPSR_GPSR(IP10_15_12, NFDATA2),
-
+-
-static const char * const scif0_groups[] = {
- "scif0_data",
- "scif0_clk",
- "scif0_ctrl",
-};
-+ PINMUX_IPSR_GPSR(IP10_19_16, SD3_DAT3),
-+ PINMUX_IPSR_GPSR(IP10_19_16, NFDATA3),
-
+-
-static const char * const scif1_groups[] = {
- "scif1_data_a",
- "scif1_clk",
- "scif1_ctrl",
- "scif1_data_b",
-};
-+ PINMUX_IPSR_GPSR(IP10_23_20, SD3_DAT4),
-+ PINMUX_IPSR_MSEL(IP10_23_20, SD2_CD_A, SEL_SDHI2_0),
-+ PINMUX_IPSR_GPSR(IP10_23_20, NFDATA4),
-
+-
-static const char * const scif2_groups[] = {
- "scif2_data_a",
- "scif2_clk",
- "scif2_data_b",
-};
-+ PINMUX_IPSR_GPSR(IP10_27_24, SD3_DAT5),
-+ PINMUX_IPSR_MSEL(IP10_27_24, SD2_WP_A, SEL_SDHI2_0),
-+ PINMUX_IPSR_GPSR(IP10_27_24, NFDATA5),
-
+-
-static const char * const scif3_groups[] = {
- "scif3_data_a",
- "scif3_clk",
- "scif3_ctrl",
- "scif3_data_b",
-};
-+ PINMUX_IPSR_GPSR(IP10_31_28, SD3_DAT6),
-+ PINMUX_IPSR_GPSR(IP10_31_28, SD3_CD),
-+ PINMUX_IPSR_GPSR(IP10_31_28, NFDATA6),
-
+-
-static const char * const scif4_groups[] = {
- "scif4_data_a",
- "scif4_clk_a",
@@ -10046,173 +10125,17 @@ index 3d1c32cca16a..6caaed53938c 100644
- "scif4_clk_c",
- "scif4_ctrl_c",
-};
-+ /* IPSR11 */
-+ PINMUX_IPSR_GPSR(IP11_3_0, SD3_DAT7),
-+ PINMUX_IPSR_GPSR(IP11_3_0, SD3_WP),
-+ PINMUX_IPSR_GPSR(IP11_3_0, NFDATA7),
-+
-+ PINMUX_IPSR_GPSR(IP11_7_4, SD3_DS),
-+ PINMUX_IPSR_GPSR(IP11_7_4, NFCLE),
-+
-+ PINMUX_IPSR_GPSR(IP11_11_8, SD0_CD),
-+ PINMUX_IPSR_MSEL(IP11_11_8, SCL2_B, SEL_I2C2_1),
-+ PINMUX_IPSR_MSEL(IP11_11_8, SIM0_RST_A, SEL_SIMCARD_0),
-+
-+ PINMUX_IPSR_GPSR(IP11_15_12, SD0_WP),
-+ PINMUX_IPSR_MSEL(IP11_15_12, SDA2_B, SEL_I2C2_1),
-+
-+ PINMUX_IPSR_GPSR(IP11_19_16, SD1_CD),
-+ PINMUX_IPSR_MSEL(IP11_19_16, SIM0_CLK_B, SEL_SIMCARD_1),
-+
-+ PINMUX_IPSR_GPSR(IP11_23_20, SD1_WP),
-+ PINMUX_IPSR_MSEL(IP11_23_20, SIM0_D_B, SEL_SIMCARD_1),
-+
-+ PINMUX_IPSR_GPSR(IP11_27_24, SCK0),
-+ PINMUX_IPSR_MSEL(IP11_27_24, HSCK1_B, SEL_HSCIF1_1),
-+ PINMUX_IPSR_MSEL(IP11_27_24, MSIOF1_SS2_B, SEL_MSIOF1_1),
-+ PINMUX_IPSR_MSEL(IP11_27_24, AUDIO_CLKC_B, SEL_ADG_C_1),
-+ PINMUX_IPSR_MSEL(IP11_27_24, SDA2_A, SEL_I2C2_0),
-+ PINMUX_IPSR_MSEL(IP11_27_24, SIM0_RST_B, SEL_SIMCARD_1),
-+ PINMUX_IPSR_MSEL(IP11_27_24, STP_OPWM_0_C, SEL_SSP1_0_2),
-+ PINMUX_IPSR_MSEL(IP11_27_24, RIF0_CLK_B, SEL_DRIF0_1),
-+ PINMUX_IPSR_GPSR(IP11_27_24, ADICHS2),
-+ PINMUX_IPSR_MSEL(IP11_27_24, SCK5_B, SEL_SCIF5_1),
-+
-+ PINMUX_IPSR_GPSR(IP11_31_28, RX0),
-+ PINMUX_IPSR_MSEL(IP11_31_28, HRX1_B, SEL_HSCIF1_1),
-+ PINMUX_IPSR_MSEL(IP11_31_28, TS_SCK0_C, SEL_TSIF0_2),
-+ PINMUX_IPSR_MSEL(IP11_31_28, STP_ISCLK_0_C, SEL_SSP1_0_2),
-+ PINMUX_IPSR_MSEL(IP11_31_28, RIF0_D0_B, SEL_DRIF0_1),
-
+-
-static const char * const scif5_groups[] = {
- "scif5_data",
- "scif5_clk",
-};
-+ /* IPSR12 */
-+ PINMUX_IPSR_GPSR(IP12_3_0, TX0),
-+ PINMUX_IPSR_MSEL(IP12_3_0, HTX1_B, SEL_HSCIF1_1),
-+ PINMUX_IPSR_MSEL(IP12_3_0, TS_SPSYNC0_C, SEL_TSIF0_2),
-+ PINMUX_IPSR_MSEL(IP12_3_0, STP_ISSYNC_0_C, SEL_SSP1_0_2),
-+ PINMUX_IPSR_MSEL(IP12_3_0, RIF0_D1_B, SEL_DRIF0_1),
-+
-+ PINMUX_IPSR_GPSR(IP12_7_4, CTS0_N),
-+ PINMUX_IPSR_MSEL(IP12_7_4, HCTS1_N_B, SEL_HSCIF1_1),
-+ PINMUX_IPSR_MSEL(IP12_7_4, MSIOF1_SYNC_B, SEL_MSIOF1_1),
-+ PINMUX_IPSR_MSEL(IP12_7_4, TS_SPSYNC1_C, SEL_TSIF1_2),
-+ PINMUX_IPSR_MSEL(IP12_7_4, STP_ISSYNC_1_C, SEL_SSP1_1_2),
-+ PINMUX_IPSR_MSEL(IP12_7_4, RIF1_SYNC_B, SEL_DRIF1_1),
-+ PINMUX_IPSR_GPSR(IP12_7_4, AUDIO_CLKOUT_C),
-+ PINMUX_IPSR_GPSR(IP12_7_4, ADICS_SAMP),
-+
-+ PINMUX_IPSR_GPSR(IP12_11_8, RTS0_N_TANS),
-+ PINMUX_IPSR_MSEL(IP12_11_8, HRTS1_N_B, SEL_HSCIF1_1),
-+ PINMUX_IPSR_MSEL(IP12_11_8, MSIOF1_SS1_B, SEL_MSIOF1_1),
-+ PINMUX_IPSR_MSEL(IP12_11_8, AUDIO_CLKA_B, SEL_ADG_A_1),
-+ PINMUX_IPSR_MSEL(IP12_11_8, SCL2_A, SEL_I2C2_0),
-+ PINMUX_IPSR_MSEL(IP12_11_8, STP_IVCXO27_1_C, SEL_SSP1_1_2),
-+ PINMUX_IPSR_MSEL(IP12_11_8, RIF0_SYNC_B, SEL_DRIF0_1),
-+ PINMUX_IPSR_GPSR(IP12_11_8, ADICHS1),
-+
-+ PINMUX_IPSR_MSEL(IP12_15_12, RX1_A, SEL_SCIF1_0),
-+ PINMUX_IPSR_MSEL(IP12_15_12, HRX1_A, SEL_HSCIF1_0),
-+ PINMUX_IPSR_MSEL(IP12_15_12, TS_SDAT0_C, SEL_TSIF0_2),
-+ PINMUX_IPSR_MSEL(IP12_15_12, STP_ISD_0_C, SEL_SSP1_0_2),
-+ PINMUX_IPSR_MSEL(IP12_15_12, RIF1_CLK_C, SEL_DRIF1_2),
-+
-+ PINMUX_IPSR_MSEL(IP12_19_16, TX1_A, SEL_SCIF1_0),
-+ PINMUX_IPSR_MSEL(IP12_19_16, HTX1_A, SEL_HSCIF1_0),
-+ PINMUX_IPSR_MSEL(IP12_19_16, TS_SDEN0_C, SEL_TSIF0_2),
-+ PINMUX_IPSR_MSEL(IP12_19_16, STP_ISEN_0_C, SEL_SSP1_0_2),
-+ PINMUX_IPSR_MSEL(IP12_19_16, RIF1_D0_C, SEL_DRIF1_2),
-+
-+ PINMUX_IPSR_GPSR(IP12_23_20, CTS1_N),
-+ PINMUX_IPSR_MSEL(IP12_23_20, HCTS1_N_A, SEL_HSCIF1_0),
-+ PINMUX_IPSR_MSEL(IP12_23_20, MSIOF1_RXD_B, SEL_MSIOF1_1),
-+ PINMUX_IPSR_MSEL(IP12_23_20, TS_SDEN1_C, SEL_TSIF1_2),
-+ PINMUX_IPSR_MSEL(IP12_23_20, STP_ISEN_1_C, SEL_SSP1_1_2),
-+ PINMUX_IPSR_MSEL(IP12_23_20, RIF1_D0_B, SEL_DRIF1_1),
-+ PINMUX_IPSR_GPSR(IP12_23_20, ADIDATA),
-+
-+ PINMUX_IPSR_GPSR(IP12_27_24, RTS1_N_TANS),
-+ PINMUX_IPSR_MSEL(IP12_27_24, HRTS1_N_A, SEL_HSCIF1_0),
-+ PINMUX_IPSR_MSEL(IP12_27_24, MSIOF1_TXD_B, SEL_MSIOF1_1),
-+ PINMUX_IPSR_MSEL(IP12_27_24, TS_SDAT1_C, SEL_TSIF1_2),
-+ PINMUX_IPSR_MSEL(IP12_27_24, STP_ISD_1_C, SEL_SSP1_1_2),
-+ PINMUX_IPSR_MSEL(IP12_27_24, RIF1_D1_B, SEL_DRIF1_1),
-+ PINMUX_IPSR_GPSR(IP12_27_24, ADICHS0),
-+
-+ PINMUX_IPSR_GPSR(IP12_31_28, SCK2),
-+ PINMUX_IPSR_MSEL(IP12_31_28, SCIF_CLK_B, SEL_SCIF1_1),
-+ PINMUX_IPSR_MSEL(IP12_31_28, MSIOF1_SCK_B, SEL_MSIOF1_1),
-+ PINMUX_IPSR_MSEL(IP12_31_28, TS_SCK1_C, SEL_TSIF1_2),
-+ PINMUX_IPSR_MSEL(IP12_31_28, STP_ISCLK_1_C, SEL_SSP1_1_2),
-+ PINMUX_IPSR_MSEL(IP12_31_28, RIF1_CLK_B, SEL_DRIF1_1),
-+ PINMUX_IPSR_GPSR(IP12_31_28, ADICLK),
-
+-
-static const char * const scif_clk_groups[] = {
- "scif_clk_a",
- "scif_clk_b",
-};
-+ /* IPSR13 */
-+ PINMUX_IPSR_MSEL(IP13_3_0, TX2_A, SEL_SCIF2_0),
-+ PINMUX_IPSR_MSEL(IP13_3_0, SD2_CD_B, SEL_SDHI2_1),
-+ PINMUX_IPSR_MSEL(IP13_3_0, SCL1_A, SEL_I2C1_0),
-+ PINMUX_IPSR_MSEL(IP13_3_0, FMCLK_A, SEL_FM_0),
-+ PINMUX_IPSR_MSEL(IP13_3_0, RIF1_D1_C, SEL_DRIF1_2),
-+ PINMUX_IPSR_GPSR(IP13_3_0, FSO_CFE_0_N),
-+
-+ PINMUX_IPSR_MSEL(IP13_7_4, RX2_A, SEL_SCIF2_0),
-+ PINMUX_IPSR_MSEL(IP13_7_4, SD2_WP_B, SEL_SDHI2_1),
-+ PINMUX_IPSR_MSEL(IP13_7_4, SDA1_A, SEL_I2C1_0),
-+ PINMUX_IPSR_MSEL(IP13_7_4, FMIN_A, SEL_FM_0),
-+ PINMUX_IPSR_MSEL(IP13_7_4, RIF1_SYNC_C, SEL_DRIF1_2),
-+ PINMUX_IPSR_GPSR(IP13_7_4, FSO_CFE_1_N),
-+
-+ PINMUX_IPSR_GPSR(IP13_11_8, HSCK0),
-+ PINMUX_IPSR_MSEL(IP13_11_8, MSIOF1_SCK_D, SEL_MSIOF1_3),
-+ PINMUX_IPSR_MSEL(IP13_11_8, AUDIO_CLKB_A, SEL_ADG_B_0),
-+ PINMUX_IPSR_MSEL(IP13_11_8, SSI_SDATA1_B, SEL_SSI_1),
-+ PINMUX_IPSR_MSEL(IP13_11_8, TS_SCK0_D, SEL_TSIF0_3),
-+ PINMUX_IPSR_MSEL(IP13_11_8, STP_ISCLK_0_D, SEL_SSP1_0_3),
-+ PINMUX_IPSR_MSEL(IP13_11_8, RIF0_CLK_C, SEL_DRIF0_2),
-+ PINMUX_IPSR_MSEL(IP13_11_8, RX5_B, SEL_SCIF5_1),
-+
-+ PINMUX_IPSR_GPSR(IP13_15_12, HRX0),
-+ PINMUX_IPSR_MSEL(IP13_15_12, MSIOF1_RXD_D, SEL_MSIOF1_3),
-+ PINMUX_IPSR_MSEL(IP13_15_12, SSI_SDATA2_B, SEL_SSI_1),
-+ PINMUX_IPSR_MSEL(IP13_15_12, TS_SDEN0_D, SEL_TSIF0_3),
-+ PINMUX_IPSR_MSEL(IP13_15_12, STP_ISEN_0_D, SEL_SSP1_0_3),
-+ PINMUX_IPSR_MSEL(IP13_15_12, RIF0_D0_C, SEL_DRIF0_2),
-+
-+ PINMUX_IPSR_GPSR(IP13_19_16, HTX0),
-+ PINMUX_IPSR_MSEL(IP13_19_16, MSIOF1_TXD_D, SEL_MSIOF1_3),
-+ PINMUX_IPSR_MSEL(IP13_19_16, SSI_SDATA9_B, SEL_SSI_1),
-+ PINMUX_IPSR_MSEL(IP13_19_16, TS_SDAT0_D, SEL_TSIF0_3),
-+ PINMUX_IPSR_MSEL(IP13_19_16, STP_ISD_0_D, SEL_SSP1_0_3),
-+ PINMUX_IPSR_MSEL(IP13_19_16, RIF0_D1_C, SEL_DRIF0_2),
-+
-+ PINMUX_IPSR_GPSR(IP13_23_20, HCTS0_N),
-+ PINMUX_IPSR_MSEL(IP13_23_20, RX2_B, SEL_SCIF2_1),
-+ PINMUX_IPSR_MSEL(IP13_23_20, MSIOF1_SYNC_D, SEL_MSIOF1_3),
-+ PINMUX_IPSR_MSEL(IP13_23_20, SSI_SCK9_A, SEL_SSI_0),
-+ PINMUX_IPSR_MSEL(IP13_23_20, TS_SPSYNC0_D, SEL_TSIF0_3),
-+ PINMUX_IPSR_MSEL(IP13_23_20, STP_ISSYNC_0_D, SEL_SSP1_0_3),
-+ PINMUX_IPSR_MSEL(IP13_23_20, RIF0_SYNC_C, SEL_DRIF0_2),
-+ PINMUX_IPSR_GPSR(IP13_23_20, AUDIO_CLKOUT1_A),
-+
-+ PINMUX_IPSR_GPSR(IP13_27_24, HRTS0_N),
-+ PINMUX_IPSR_MSEL(IP13_27_24, TX2_B, SEL_SCIF2_1),
-+ PINMUX_IPSR_MSEL(IP13_27_24, MSIOF1_SS1_D, SEL_MSIOF1_3),
-+ PINMUX_IPSR_MSEL(IP13_27_24, SSI_WS9_A, SEL_SSI_0),
-+ PINMUX_IPSR_MSEL(IP13_27_24, STP_IVCXO27_0_D, SEL_SSP1_0_3),
-+ PINMUX_IPSR_MSEL(IP13_27_24, BPFCLK_A, SEL_FM_0),
-+ PINMUX_IPSR_GPSR(IP13_27_24, AUDIO_CLKOUT2_A),
-+
-+ PINMUX_IPSR_GPSR(IP13_31_28, MSIOF0_SYNC),
-+ PINMUX_IPSR_GPSR(IP13_31_28, AUDIO_CLKOUT_A),
-+ PINMUX_IPSR_MSEL(IP13_31_28, TX5_B, SEL_SCIF5_1),
-+ PINMUX_IPSR_MSEL(IP13_31_28, BPFCLK_D, SEL_FM_3),
-
+-
-static const char * const sdhi0_groups[] = {
- "sdhi0_data1",
- "sdhi0_data4",
@@ -10220,47 +10143,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "sdhi0_cd",
- "sdhi0_wp",
-};
-+ /* IPSR14 */
-+ PINMUX_IPSR_GPSR(IP14_3_0, MSIOF0_SS1),
-+ PINMUX_IPSR_MSEL(IP14_3_0, RX5_A, SEL_SCIF5_0),
-+ PINMUX_IPSR_MSEL(IP14_3_0, NFWP_N_A, SEL_NDF_0),
-+ PINMUX_IPSR_MSEL(IP14_3_0, AUDIO_CLKA_C, SEL_ADG_A_2),
-+ PINMUX_IPSR_MSEL(IP14_3_0, SSI_SCK2_A, SEL_SSI_0),
-+ PINMUX_IPSR_MSEL(IP14_3_0, STP_IVCXO27_0_C, SEL_SSP1_0_2),
-+ PINMUX_IPSR_GPSR(IP14_3_0, AUDIO_CLKOUT3_A),
-+ PINMUX_IPSR_MSEL(IP14_3_0, TCLK1_B, SEL_TIMER_TMU_1),
-+
-+ PINMUX_IPSR_GPSR(IP14_7_4, MSIOF0_SS2),
-+ PINMUX_IPSR_MSEL(IP14_7_4, TX5_A, SEL_SCIF5_0),
-+ PINMUX_IPSR_MSEL(IP14_7_4, MSIOF1_SS2_D, SEL_MSIOF1_3),
-+ PINMUX_IPSR_MSEL(IP14_7_4, AUDIO_CLKC_A, SEL_ADG_C_0),
-+ PINMUX_IPSR_MSEL(IP14_7_4, SSI_WS2_A, SEL_SSI_0),
-+ PINMUX_IPSR_MSEL(IP14_7_4, STP_OPWM_0_D, SEL_SSP1_0_3),
-+ PINMUX_IPSR_GPSR(IP14_7_4, AUDIO_CLKOUT_D),
-+ PINMUX_IPSR_MSEL(IP14_7_4, SPEEDIN_B, SEL_SPEED_PULSE_1),
-+
-+ PINMUX_IPSR_GPSR(IP14_11_8, MLB_CLK),
-+ PINMUX_IPSR_MSEL(IP14_11_8, MSIOF1_SCK_F, SEL_MSIOF1_5),
-+ PINMUX_IPSR_MSEL(IP14_11_8, SCL1_B, SEL_I2C1_1),
-+
-+ PINMUX_IPSR_GPSR(IP14_15_12, MLB_SIG),
-+ PINMUX_IPSR_MSEL(IP14_15_12, RX1_B, SEL_SCIF1_1),
-+ PINMUX_IPSR_MSEL(IP14_15_12, MSIOF1_SYNC_F, SEL_MSIOF1_5),
-+ PINMUX_IPSR_MSEL(IP14_15_12, SDA1_B, SEL_I2C1_1),
-+
-+ PINMUX_IPSR_GPSR(IP14_19_16, MLB_DAT),
-+ PINMUX_IPSR_MSEL(IP14_19_16, TX1_B, SEL_SCIF1_1),
-+ PINMUX_IPSR_MSEL(IP14_19_16, MSIOF1_RXD_F, SEL_MSIOF1_5),
-+
-+ PINMUX_IPSR_GPSR(IP14_23_20, SSI_SCK01239),
-+ PINMUX_IPSR_MSEL(IP14_23_20, MSIOF1_TXD_F, SEL_MSIOF1_5),
-+
-+ PINMUX_IPSR_GPSR(IP14_27_24, SSI_WS01239),
-+ PINMUX_IPSR_MSEL(IP14_27_24, MSIOF1_SS1_F, SEL_MSIOF1_5),
-+
-+ PINMUX_IPSR_GPSR(IP14_31_28, SSI_SDATA0),
-+ PINMUX_IPSR_MSEL(IP14_31_28, MSIOF1_SS2_F, SEL_MSIOF1_5),
-
+-
-static const char * const sdhi1_groups[] = {
- "sdhi1_data1",
- "sdhi1_data4",
@@ -10268,53 +10151,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "sdhi1_cd",
- "sdhi1_wp",
-};
-+ /* IPSR15 */
-+ PINMUX_IPSR_MSEL(IP15_3_0, SSI_SDATA1_A, SEL_SSI_0),
-+
-+ PINMUX_IPSR_MSEL(IP15_7_4, SSI_SDATA2_A, SEL_SSI_0),
-+ PINMUX_IPSR_MSEL(IP15_7_4, SSI_SCK1_B, SEL_SSI_1),
-+
-+ PINMUX_IPSR_GPSR(IP15_11_8, SSI_SCK34),
-+ PINMUX_IPSR_MSEL(IP15_11_8, MSIOF1_SS1_A, SEL_MSIOF1_0),
-+ PINMUX_IPSR_MSEL(IP15_11_8, STP_OPWM_0_A, SEL_SSP1_0_0),
-+
-+ PINMUX_IPSR_GPSR(IP15_15_12, SSI_WS34),
-+ PINMUX_IPSR_MSEL(IP15_15_12, HCTS2_N_A, SEL_HSCIF2_0),
-+ PINMUX_IPSR_MSEL(IP15_15_12, MSIOF1_SS2_A, SEL_MSIOF1_0),
-+ PINMUX_IPSR_MSEL(IP15_15_12, STP_IVCXO27_0_A, SEL_SSP1_0_0),
-+
-+ PINMUX_IPSR_GPSR(IP15_19_16, SSI_SDATA3),
-+ PINMUX_IPSR_MSEL(IP15_19_16, HRTS2_N_A, SEL_HSCIF2_0),
-+ PINMUX_IPSR_MSEL(IP15_19_16, MSIOF1_TXD_A, SEL_MSIOF1_0),
-+ PINMUX_IPSR_MSEL(IP15_19_16, TS_SCK0_A, SEL_TSIF0_0),
-+ PINMUX_IPSR_MSEL(IP15_19_16, STP_ISCLK_0_A, SEL_SSP1_0_0),
-+ PINMUX_IPSR_MSEL(IP15_19_16, RIF0_D1_A, SEL_DRIF0_0),
-+ PINMUX_IPSR_MSEL(IP15_19_16, RIF2_D0_A, SEL_DRIF2_0),
-+
-+ PINMUX_IPSR_GPSR(IP15_23_20, SSI_SCK4),
-+ PINMUX_IPSR_MSEL(IP15_23_20, HRX2_A, SEL_HSCIF2_0),
-+ PINMUX_IPSR_MSEL(IP15_23_20, MSIOF1_SCK_A, SEL_MSIOF1_0),
-+ PINMUX_IPSR_MSEL(IP15_23_20, TS_SDAT0_A, SEL_TSIF0_0),
-+ PINMUX_IPSR_MSEL(IP15_23_20, STP_ISD_0_A, SEL_SSP1_0_0),
-+ PINMUX_IPSR_MSEL(IP15_23_20, RIF0_CLK_A, SEL_DRIF0_0),
-+ PINMUX_IPSR_MSEL(IP15_23_20, RIF2_CLK_A, SEL_DRIF2_0),
-+
-+ PINMUX_IPSR_GPSR(IP15_27_24, SSI_WS4),
-+ PINMUX_IPSR_MSEL(IP15_27_24, HTX2_A, SEL_HSCIF2_0),
-+ PINMUX_IPSR_MSEL(IP15_27_24, MSIOF1_SYNC_A, SEL_MSIOF1_0),
-+ PINMUX_IPSR_MSEL(IP15_27_24, TS_SDEN0_A, SEL_TSIF0_0),
-+ PINMUX_IPSR_MSEL(IP15_27_24, STP_ISEN_0_A, SEL_SSP1_0_0),
-+ PINMUX_IPSR_MSEL(IP15_27_24, RIF0_SYNC_A, SEL_DRIF0_0),
-+ PINMUX_IPSR_MSEL(IP15_27_24, RIF2_SYNC_A, SEL_DRIF2_0),
-+
-+ PINMUX_IPSR_GPSR(IP15_31_28, SSI_SDATA4),
-+ PINMUX_IPSR_MSEL(IP15_31_28, HSCK2_A, SEL_HSCIF2_0),
-+ PINMUX_IPSR_MSEL(IP15_31_28, MSIOF1_RXD_A, SEL_MSIOF1_0),
-+ PINMUX_IPSR_MSEL(IP15_31_28, TS_SPSYNC0_A, SEL_TSIF0_0),
-+ PINMUX_IPSR_MSEL(IP15_31_28, STP_ISSYNC_0_A, SEL_SSP1_0_0),
-+ PINMUX_IPSR_MSEL(IP15_31_28, RIF0_D0_A, SEL_DRIF0_0),
-+ PINMUX_IPSR_MSEL(IP15_31_28, RIF2_D1_A, SEL_DRIF2_0),
-
+-
-static const char * const sdhi2_groups[] = {
- "sdhi2_data1",
- "sdhi2_data4",
@@ -10326,61 +10163,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "sdhi2_wp_b",
- "sdhi2_ds",
-};
-+ /* IPSR16 */
-+ PINMUX_IPSR_GPSR(IP16_3_0, SSI_SCK6),
-+ PINMUX_IPSR_GPSR(IP16_3_0, USB2_PWEN),
-+ PINMUX_IPSR_MSEL(IP16_3_0, SIM0_RST_D, SEL_SIMCARD_3),
-+
-+ PINMUX_IPSR_GPSR(IP16_7_4, SSI_WS6),
-+ PINMUX_IPSR_GPSR(IP16_7_4, USB2_OVC),
-+ PINMUX_IPSR_MSEL(IP16_7_4, SIM0_D_D, SEL_SIMCARD_3),
-+
-+ PINMUX_IPSR_GPSR(IP16_11_8, SSI_SDATA6),
-+ PINMUX_IPSR_MSEL(IP16_11_8, SIM0_CLK_D, SEL_SIMCARD_3),
-+ PINMUX_IPSR_GPSR(IP16_11_8, SATA_DEVSLP_A),
-+
-+ PINMUX_IPSR_GPSR(IP16_15_12, SSI_SCK78),
-+ PINMUX_IPSR_MSEL(IP16_15_12, HRX2_B, SEL_HSCIF2_1),
-+ PINMUX_IPSR_MSEL(IP16_15_12, MSIOF1_SCK_C, SEL_MSIOF1_2),
-+ PINMUX_IPSR_MSEL(IP16_15_12, TS_SCK1_A, SEL_TSIF1_0),
-+ PINMUX_IPSR_MSEL(IP16_15_12, STP_ISCLK_1_A, SEL_SSP1_1_0),
-+ PINMUX_IPSR_MSEL(IP16_15_12, RIF1_CLK_A, SEL_DRIF1_0),
-+ PINMUX_IPSR_MSEL(IP16_15_12, RIF3_CLK_A, SEL_DRIF3_0),
-+
-+ PINMUX_IPSR_GPSR(IP16_19_16, SSI_WS78),
-+ PINMUX_IPSR_MSEL(IP16_19_16, HTX2_B, SEL_HSCIF2_1),
-+ PINMUX_IPSR_MSEL(IP16_19_16, MSIOF1_SYNC_C, SEL_MSIOF1_2),
-+ PINMUX_IPSR_MSEL(IP16_19_16, TS_SDAT1_A, SEL_TSIF1_0),
-+ PINMUX_IPSR_MSEL(IP16_19_16, STP_ISD_1_A, SEL_SSP1_1_0),
-+ PINMUX_IPSR_MSEL(IP16_19_16, RIF1_SYNC_A, SEL_DRIF1_0),
-+ PINMUX_IPSR_MSEL(IP16_19_16, RIF3_SYNC_A, SEL_DRIF3_0),
-+
-+ PINMUX_IPSR_GPSR(IP16_23_20, SSI_SDATA7),
-+ PINMUX_IPSR_MSEL(IP16_23_20, HCTS2_N_B, SEL_HSCIF2_1),
-+ PINMUX_IPSR_MSEL(IP16_23_20, MSIOF1_RXD_C, SEL_MSIOF1_2),
-+ PINMUX_IPSR_MSEL(IP16_23_20, TS_SDEN1_A, SEL_TSIF1_0),
-+ PINMUX_IPSR_MSEL(IP16_23_20, STP_ISEN_1_A, SEL_SSP1_1_0),
-+ PINMUX_IPSR_MSEL(IP16_23_20, RIF1_D0_A, SEL_DRIF1_0),
-+ PINMUX_IPSR_MSEL(IP16_23_20, RIF3_D0_A, SEL_DRIF3_0),
-+ PINMUX_IPSR_MSEL(IP16_23_20, TCLK2_A, SEL_TIMER_TMU_0),
-+
-+ PINMUX_IPSR_GPSR(IP16_27_24, SSI_SDATA8),
-+ PINMUX_IPSR_MSEL(IP16_27_24, HRTS2_N_B, SEL_HSCIF2_1),
-+ PINMUX_IPSR_MSEL(IP16_27_24, MSIOF1_TXD_C, SEL_MSIOF1_2),
-+ PINMUX_IPSR_MSEL(IP16_27_24, TS_SPSYNC1_A, SEL_TSIF1_0),
-+ PINMUX_IPSR_MSEL(IP16_27_24, STP_ISSYNC_1_A, SEL_SSP1_1_0),
-+ PINMUX_IPSR_MSEL(IP16_27_24, RIF1_D1_A, SEL_DRIF1_0),
-+ PINMUX_IPSR_MSEL(IP16_27_24, RIF3_D1_A, SEL_DRIF3_0),
-+
-+ PINMUX_IPSR_MSEL(IP16_31_28, SSI_SDATA9_A, SEL_SSI_0),
-+ PINMUX_IPSR_MSEL(IP16_31_28, HSCK2_B, SEL_HSCIF2_1),
-+ PINMUX_IPSR_MSEL(IP16_31_28, MSIOF1_SS1_C, SEL_MSIOF1_2),
-+ PINMUX_IPSR_MSEL(IP16_31_28, HSCK1_A, SEL_HSCIF1_0),
-+ PINMUX_IPSR_MSEL(IP16_31_28, SSI_WS1_B, SEL_SSI_1),
-+ PINMUX_IPSR_GPSR(IP16_31_28, SCK1),
-+ PINMUX_IPSR_MSEL(IP16_31_28, STP_IVCXO27_1_A, SEL_SSP1_1_0),
-+ PINMUX_IPSR_GPSR(IP16_31_28, SCK5_A),
-
+-
-static const char * const sdhi3_groups[] = {
- "sdhi3_data1",
- "sdhi3_data4",
@@ -10390,94 +10173,7 @@ index 3d1c32cca16a..6caaed53938c 100644
- "sdhi3_wp",
- "sdhi3_ds",
-};
-+ /* IPSR17 */
-+ PINMUX_IPSR_MSEL(IP17_3_0, AUDIO_CLKA_A, SEL_ADG_A_0),
-+ PINMUX_IPSR_GPSR(IP17_3_0, CC5_OSCOUT),
-+
-+ PINMUX_IPSR_MSEL(IP17_7_4, AUDIO_CLKB_B, SEL_ADG_B_1),
-+ PINMUX_IPSR_MSEL(IP17_7_4, SCIF_CLK_A, SEL_SCIF1_0),
-+ PINMUX_IPSR_MSEL(IP17_7_4, STP_IVCXO27_1_D, SEL_SSP1_1_3),
-+ PINMUX_IPSR_MSEL(IP17_7_4, REMOCON_A, SEL_REMOCON_0),
-+ PINMUX_IPSR_MSEL(IP17_7_4, TCLK1_A, SEL_TIMER_TMU_0),
-+
-+ PINMUX_IPSR_GPSR(IP17_11_8, USB0_PWEN),
-+ PINMUX_IPSR_MSEL(IP17_11_8, SIM0_RST_C, SEL_SIMCARD_2),
-+ PINMUX_IPSR_MSEL(IP17_11_8, TS_SCK1_D, SEL_TSIF1_3),
-+ PINMUX_IPSR_MSEL(IP17_11_8, STP_ISCLK_1_D, SEL_SSP1_1_3),
-+ PINMUX_IPSR_MSEL(IP17_11_8, BPFCLK_B, SEL_FM_1),
-+ PINMUX_IPSR_MSEL(IP17_11_8, RIF3_CLK_B, SEL_DRIF3_1),
-+ PINMUX_IPSR_MSEL(IP17_11_8, HSCK2_C, SEL_HSCIF2_2),
-+
-+ PINMUX_IPSR_GPSR(IP17_15_12, USB0_OVC),
-+ PINMUX_IPSR_MSEL(IP17_15_12, SIM0_D_C, SEL_SIMCARD_2),
-+ PINMUX_IPSR_MSEL(IP17_15_12, TS_SDAT1_D, SEL_TSIF1_3),
-+ PINMUX_IPSR_MSEL(IP17_15_12, STP_ISD_1_D, SEL_SSP1_1_3),
-+ PINMUX_IPSR_MSEL(IP17_15_12, RIF3_SYNC_B, SEL_DRIF3_1),
-+ PINMUX_IPSR_MSEL(IP17_15_12, HRX2_C, SEL_HSCIF2_2),
-+
-+ PINMUX_IPSR_GPSR(IP17_19_16, USB1_PWEN),
-+ PINMUX_IPSR_MSEL(IP17_19_16, SIM0_CLK_C, SEL_SIMCARD_2),
-+ PINMUX_IPSR_MSEL(IP17_19_16, SSI_SCK1_A, SEL_SSI_0),
-+ PINMUX_IPSR_MSEL(IP17_19_16, TS_SCK0_E, SEL_TSIF0_4),
-+ PINMUX_IPSR_MSEL(IP17_19_16, STP_ISCLK_0_E, SEL_SSP1_0_4),
-+ PINMUX_IPSR_MSEL(IP17_19_16, FMCLK_B, SEL_FM_1),
-+ PINMUX_IPSR_MSEL(IP17_19_16, RIF2_CLK_B, SEL_DRIF2_1),
-+ PINMUX_IPSR_MSEL(IP17_19_16, SPEEDIN_A, SEL_SPEED_PULSE_0),
-+ PINMUX_IPSR_MSEL(IP17_19_16, HTX2_C, SEL_HSCIF2_2),
-+
-+ PINMUX_IPSR_GPSR(IP17_23_20, USB1_OVC),
-+ PINMUX_IPSR_MSEL(IP17_23_20, MSIOF1_SS2_C, SEL_MSIOF1_2),
-+ PINMUX_IPSR_MSEL(IP17_23_20, SSI_WS1_A, SEL_SSI_0),
-+ PINMUX_IPSR_MSEL(IP17_23_20, TS_SDAT0_E, SEL_TSIF0_4),
-+ PINMUX_IPSR_MSEL(IP17_23_20, STP_ISD_0_E, SEL_SSP1_0_4),
-+ PINMUX_IPSR_MSEL(IP17_23_20, FMIN_B, SEL_FM_1),
-+ PINMUX_IPSR_MSEL(IP17_23_20, RIF2_SYNC_B, SEL_DRIF2_1),
-+ PINMUX_IPSR_MSEL(IP17_23_20, REMOCON_B, SEL_REMOCON_1),
-+ PINMUX_IPSR_MSEL(IP17_23_20, HCTS2_N_C, SEL_HSCIF2_2),
-+
-+ PINMUX_IPSR_GPSR(IP17_27_24, USB30_PWEN),
-+ PINMUX_IPSR_GPSR(IP17_27_24, AUDIO_CLKOUT_B),
-+ PINMUX_IPSR_MSEL(IP17_27_24, SSI_SCK2_B, SEL_SSI_1),
-+ PINMUX_IPSR_MSEL(IP17_27_24, TS_SDEN1_D, SEL_TSIF1_3),
-+ PINMUX_IPSR_MSEL(IP17_27_24, STP_ISEN_1_D, SEL_SSP1_1_2),
-+ PINMUX_IPSR_MSEL(IP17_27_24, STP_OPWM_0_E, SEL_SSP1_0_4),
-+ PINMUX_IPSR_MSEL(IP17_27_24, RIF3_D0_B, SEL_DRIF3_1),
-+ PINMUX_IPSR_MSEL(IP17_27_24, TCLK2_B, SEL_TIMER_TMU_1),
-+ PINMUX_IPSR_GPSR(IP17_27_24, TPU0TO0),
-+ PINMUX_IPSR_MSEL(IP17_27_24, BPFCLK_C, SEL_FM_2),
-+ PINMUX_IPSR_MSEL(IP17_27_24, HRTS2_N_C, SEL_HSCIF2_2),
-+
-+ PINMUX_IPSR_GPSR(IP17_31_28, USB30_OVC),
-+ PINMUX_IPSR_GPSR(IP17_31_28, AUDIO_CLKOUT1_B),
-+ PINMUX_IPSR_MSEL(IP17_31_28, SSI_WS2_B, SEL_SSI_1),
-+ PINMUX_IPSR_MSEL(IP17_31_28, TS_SPSYNC1_D, SEL_TSIF1_3),
-+ PINMUX_IPSR_MSEL(IP17_31_28, STP_ISSYNC_1_D, SEL_SSP1_1_3),
-+ PINMUX_IPSR_MSEL(IP17_31_28, STP_IVCXO27_0_E, SEL_SSP1_0_4),
-+ PINMUX_IPSR_MSEL(IP17_31_28, RIF3_D1_B, SEL_DRIF3_1),
-+ PINMUX_IPSR_GPSR(IP17_31_28, FSO_TOE_N),
-+ PINMUX_IPSR_GPSR(IP17_31_28, TPU0TO1),
-+
-+ /* IPSR18 */
-+ PINMUX_IPSR_GPSR(IP18_3_0, USB3_PWEN),
-+ PINMUX_IPSR_GPSR(IP18_3_0, AUDIO_CLKOUT2_B),
-+ PINMUX_IPSR_MSEL(IP18_3_0, SSI_SCK9_B, SEL_SSI_1),
-+ PINMUX_IPSR_MSEL(IP18_3_0, TS_SDEN0_E, SEL_TSIF0_4),
-+ PINMUX_IPSR_MSEL(IP18_3_0, STP_ISEN_0_E, SEL_SSP1_0_4),
-+ PINMUX_IPSR_MSEL(IP18_3_0, RIF2_D0_B, SEL_DRIF2_1),
-+ PINMUX_IPSR_GPSR(IP18_3_0, TPU0TO2),
-+ PINMUX_IPSR_MSEL(IP18_3_0, FMCLK_C, SEL_FM_2),
-+ PINMUX_IPSR_MSEL(IP18_3_0, FMCLK_D, SEL_FM_3),
-+
-+ PINMUX_IPSR_GPSR(IP18_7_4, USB3_OVC),
-+ PINMUX_IPSR_GPSR(IP18_7_4, AUDIO_CLKOUT3_B),
-+ PINMUX_IPSR_MSEL(IP18_7_4, SSI_WS9_B, SEL_SSI_1),
-+ PINMUX_IPSR_MSEL(IP18_7_4, TS_SPSYNC0_E, SEL_TSIF0_4),
-+ PINMUX_IPSR_MSEL(IP18_7_4, STP_ISSYNC_0_E, SEL_SSP1_0_4),
-+ PINMUX_IPSR_MSEL(IP18_7_4, RIF2_D1_B, SEL_DRIF2_1),
-+ PINMUX_IPSR_GPSR(IP18_7_4, TPU0TO3),
-+ PINMUX_IPSR_MSEL(IP18_7_4, FMIN_C, SEL_FM_2),
-+ PINMUX_IPSR_MSEL(IP18_7_4, FMIN_D, SEL_FM_3),
-
+-
-static const char * const ssi_groups[] = {
- "ssi0_data",
- "ssi01239_ctrl",
@@ -10504,91 +10200,18 @@ index 3d1c32cca16a..6caaed53938c 100644
- "ssi9_data_b",
- "ssi9_ctrl_a",
- "ssi9_ctrl_b",
-+/*
-+ * Static pins can not be muxed between different functions but
-+ * still needs a mark entry in the pinmux list. Add each static
-+ * pin to the list without an associated function. The sh-pfc
-+ * core will do the right thing and skip trying to mux then pin
-+ * while still applying configuration to it
-+ */
-+#define FM(x) PINMUX_DATA(x##_MARK, 0),
-+ PINMUX_STATIC
-+#undef FM
- };
-
+-};
+-
-static const char * const usb0_groups[] = {
- "usb0",
-};
-+/*
-+ * R8A7795 has 8 banks with 32 PGIOS in each => 256 GPIOs.
-+ * Physical layout rows: A - AW, cols: 1 - 39.
-+ */
-+#define ROW_GROUP_A(r) ('Z' - 'A' + 1 + (r))
-+#define PIN_NUMBER(r, c) (((r) - 'A') * 39 + (c) + 300)
-+#define PIN_A_NUMBER(r, c) PIN_NUMBER(ROW_GROUP_A(r), c)
-+
-+static const struct sh_pfc_pin pinmux_pins[] = {
-+ PINMUX_GPIO_GP_ALL(),
-
+-
-static const char * const usb1_groups[] = {
- "usb1",
-+ /*
-+ * Pins not associated with a GPIO port.
-+ *
-+ * The pin positions are different between different r8a7795
-+ * packages, all that is needed for the pfc driver is a unique
-+ * number for each pin. To this end use the pin layout from
-+ * R-Car H3SiP to calculate a unique number for each pin.
-+ */
-+ SH_PFC_PIN_NAMED_CFG('A', 8, AVB_TX_CTL, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('A', 9, AVB_MDIO, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('A', 12, AVB_TXCREFCLK, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('A', 13, AVB_RD0, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('A', 14, AVB_RD2, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('A', 16, AVB_RX_CTL, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('A', 17, AVB_TD2, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('A', 18, AVB_TD0, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('A', 19, AVB_TXC, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('B', 13, AVB_RD1, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('B', 14, AVB_RD3, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('B', 17, AVB_TD3, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('B', 18, AVB_TD1, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('B', 19, AVB_RXC, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('C', 1, PRESETOUT#, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('F', 1, CLKOUT, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('H', 37, MLB_REF, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('V', 3, QSPI1_SPCLK, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('V', 5, QSPI1_SSL, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('V', 6, RPC_WP#, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('V', 7, RPC_RESET#, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('W', 3, QSPI0_SPCLK, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('Y', 3, QSPI0_SSL, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('Y', 6, QSPI0_IO2, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG('Y', 7, RPC_INT#, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('B'), 4, QSPI0_MISO_IO1, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('B'), 6, QSPI0_IO3, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('C'), 3, QSPI1_IO3, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('C'), 5, QSPI0_MOSI_IO0, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('C'), 7, QSPI1_MOSI_IO0, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('D'), 38, FSCLKST#, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('D'), 39, EXTALR, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('E'), 4, QSPI1_IO2, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('E'), 5, QSPI1_MISO_IO1, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('P'), 7, DU_DOTCLKIN0, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('P'), 8, DU_DOTCLKIN1, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 7, DU_DOTCLKIN2, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 8, DU_DOTCLKIN3, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 26, TRST#, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 29, TDI, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 30, TMS, CFG_FLAGS),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 27, TCK, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 28, TDO, SH_PFC_PIN_CFG_DRIVE_STRENGTH),
-+ SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 30, ASEBRK, CFG_FLAGS),
- };
-
+-};
+-
-static const char * const usb2_groups[] = {
- "usb2",
-+static const struct sh_pfc_pin_group pinmux_groups[] = {
};
static const struct sh_pfc_function pinmux_functions[] = {
@@ -10645,7 +10268,7 @@ index 3d1c32cca16a..6caaed53938c 100644
};
static const struct pinmux_cfg_reg pinmux_config_regs[] = {
-@@ -5041,46 +2033,54 @@ static const struct pinmux_cfg_reg pinmux_config_regs[] = {
+@@ -5041,46 +2033,54 @@ static const struct pinmux_cfg_reg pinmu
IP16_3_0 }
},
{ PINMUX_CFG_REG("IPSR17", 0xe6060244, 32, 4) {
@@ -10722,7 +10345,7 @@ index 3d1c32cca16a..6caaed53938c 100644
},
{ PINMUX_CFG_REG_VAR("MOD_SEL1", 0xe6060504, 32,
2, 3, 1, 2, 3, 1, 1, 2, 1,
-@@ -5110,22 +2110,22 @@ static const struct pinmux_cfg_reg pinmux_config_regs[] = {
+@@ -5110,22 +2110,22 @@ static const struct pinmux_cfg_reg pinmu
MOD_SEL1_0 }
},
{ PINMUX_CFG_REG_VAR("MOD_SEL2", 0xe6060508, 32,
@@ -10757,7 +10380,7 @@ index 3d1c32cca16a..6caaed53938c 100644
/* RESERVED 15, 14, 13, 12 */
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-@@ -5135,10 +2135,8 @@ static const struct pinmux_cfg_reg pinmux_config_regs[] = {
+@@ -5135,10 +2135,8 @@ static const struct pinmux_cfg_reg pinmu
/* RESERVED 7, 6, 5, 4 */
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -10770,7 +10393,7 @@ index 3d1c32cca16a..6caaed53938c 100644
MOD_SEL2_0 }
},
{ },
-@@ -5387,8 +2385,8 @@ static const struct pinmux_drive_reg pinmux_drive_regs[] = {
+@@ -5387,8 +2385,8 @@ static const struct pinmux_drive_reg pin
{ RCAR_GP_PIN(6, 27), 20, 3 }, /* USB1_OVC */
{ RCAR_GP_PIN(6, 28), 16, 3 }, /* USB30_PWEN */
{ RCAR_GP_PIN(6, 29), 12, 3 }, /* USB30_OVC */
@@ -10781,7 +10404,7 @@ index 3d1c32cca16a..6caaed53938c 100644
} },
{ },
};
-@@ -5618,8 +2616,8 @@ static const struct sh_pfc_bias_info bias_info[] = {
+@@ -5618,8 +2616,8 @@ static const struct sh_pfc_bias_info bia
{ RCAR_GP_PIN(5, 21), PU5, 1 }, /* MSIOF0_SS2 */
{ RCAR_GP_PIN(5, 20), PU5, 0 }, /* MSIOF0_TXD */
@@ -10792,7 +10415,7 @@ index 3d1c32cca16a..6caaed53938c 100644
{ RCAR_GP_PIN(6, 29), PU6, 4 }, /* USB30_OVC */
{ RCAR_GP_PIN(6, 28), PU6, 3 }, /* USB30_PWEN */
{ RCAR_GP_PIN(6, 27), PU6, 2 }, /* USB1_OVC */
-@@ -5676,14 +2674,28 @@ static void r8a7795_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
+@@ -5676,14 +2674,28 @@ static void r8a7795_pinmux_set_bias(stru
sh_pfc_write_reg(pfc, PUEN + reg, 32, enable);
}
@@ -10822,11 +10445,9 @@ index 3d1c32cca16a..6caaed53938c 100644
.ops = &r8a7795_pinmux_ops,
.unlock_reg = 0xe6060000, /* PMMR */
-diff --git a/drivers/pinctrl/sh-pfc/sh_pfc.h b/drivers/pinctrl/sh-pfc/sh_pfc.h
-index e42cc7a8d10e..f31eb6c1e87d 100644
--- a/drivers/pinctrl/sh-pfc/sh_pfc.h
+++ b/drivers/pinctrl/sh-pfc/sh_pfc.h
-@@ -267,6 +267,7 @@ extern const struct sh_pfc_soc_info r8a7792_pinmux_info;
+@@ -267,6 +267,7 @@ extern const struct sh_pfc_soc_info r8a7
extern const struct sh_pfc_soc_info r8a7793_pinmux_info;
extern const struct sh_pfc_soc_info r8a7794_pinmux_info;
extern const struct sh_pfc_soc_info r8a7795_pinmux_info;
@@ -10834,6 +10455,3 @@ index e42cc7a8d10e..f31eb6c1e87d 100644
extern const struct sh_pfc_soc_info r8a7796_pinmux_info;
extern const struct sh_pfc_soc_info sh7203_pinmux_info;
extern const struct sh_pfc_soc_info sh7264_pinmux_info;
---
-2.13.3
-
diff --git a/patches.renesas/0166-pinctrl-sh-pfc-r8a7795-Add-SCIF-support.patch b/patches.renesas/0166-pinctrl-sh-pfc-r8a7795-Add-SCIF-support.patch
index a6e56be288f0ce..241c7ff205eadb 100644
--- a/patches.renesas/0166-pinctrl-sh-pfc-r8a7795-Add-SCIF-support.patch
+++ b/patches.renesas/0166-pinctrl-sh-pfc-r8a7795-Add-SCIF-support.patch
@@ -13,14 +13,12 @@ Cc: Takeshi Kihara <takeshi.kihara.df@renesas.com>
(cherry picked from commit e7ad4d3c1dd9dd6881d4470dd6586d5cc84b8e0c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 275 +++++++++++++++++++++++++++++++++++
+ drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 275 +++++++++++++++++++++++++++++++++++
1 file changed, 275 insertions(+)
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
-index 6caaed53938c..996cacee99c3 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
-@@ -1576,10 +1576,285 @@ static const struct sh_pfc_pin pinmux_pins[] = {
+@@ -1576,10 +1576,285 @@ static const struct sh_pfc_pin pinmux_pi
SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 30, ASEBRK, CFG_FLAGS),
};
@@ -306,6 +304,3 @@ index 6caaed53938c..996cacee99c3 100644
};
static const struct pinmux_cfg_reg pinmux_config_regs[] = {
---
-2.13.3
-
diff --git a/patches.renesas/0167-pinctrl-sh-pfc-r8a7795-Add-SCIF_CLK-support.patch b/patches.renesas/0167-pinctrl-sh-pfc-r8a7795-Add-SCIF_CLK-support.patch
index 4bac280b668a59..fd336ff32f9aff 100644
--- a/patches.renesas/0167-pinctrl-sh-pfc-r8a7795-Add-SCIF_CLK-support.patch
+++ b/patches.renesas/0167-pinctrl-sh-pfc-r8a7795-Add-SCIF_CLK-support.patch
@@ -14,14 +14,12 @@ Cc: Takeshi Kihara <takeshi.kihara.df@renesas.com>
(cherry picked from commit d14a39edf757f5bdd73cf25d0155d7cfb271e782)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 24 ++++++++++++++++++++++++
+ drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
-index 996cacee99c3..0454f31c0831 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
-@@ -1773,6 +1773,22 @@ static const unsigned int scif5_clk_b_mux[] = {
+@@ -1773,6 +1773,22 @@ static const unsigned int scif5_clk_b_mu
SCK5_B_MARK,
};
@@ -44,7 +42,7 @@ index 996cacee99c3..0454f31c0831 100644
static const struct sh_pfc_pin_group pinmux_groups[] = {
SH_PFC_PIN_GROUP(scif0_data),
SH_PFC_PIN_GROUP(scif0_clk),
-@@ -1801,6 +1817,8 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
+@@ -1801,6 +1817,8 @@ static const struct sh_pfc_pin_group pin
SH_PFC_PIN_GROUP(scif5_clk_a),
SH_PFC_PIN_GROUP(scif5_data_b),
SH_PFC_PIN_GROUP(scif5_clk_b),
@@ -53,7 +51,7 @@ index 996cacee99c3..0454f31c0831 100644
};
static const char * const scif0_groups[] = {
-@@ -1848,6 +1866,11 @@ static const char * const scif5_groups[] = {
+@@ -1848,6 +1866,11 @@ static const char * const scif5_groups[]
"scif5_clk_b",
};
@@ -65,7 +63,7 @@ index 996cacee99c3..0454f31c0831 100644
static const struct sh_pfc_function pinmux_functions[] = {
SH_PFC_FUNCTION(scif0),
SH_PFC_FUNCTION(scif1),
-@@ -1855,6 +1878,7 @@ static const struct sh_pfc_function pinmux_functions[] = {
+@@ -1855,6 +1878,7 @@ static const struct sh_pfc_function pinm
SH_PFC_FUNCTION(scif3),
SH_PFC_FUNCTION(scif4),
SH_PFC_FUNCTION(scif5),
@@ -73,6 +71,3 @@ index 996cacee99c3..0454f31c0831 100644
};
static const struct pinmux_cfg_reg pinmux_config_regs[] = {
---
-2.13.3
-
diff --git a/patches.renesas/0168-pinctrl-sh-pfc-r8a7791-Add-missing-HSCIF1-pinmux-dat.patch b/patches.renesas/0168-pinctrl-sh-pfc-r8a7791-Add-missing-HSCIF1-pinmux-dat.patch
deleted file mode 100644
index 00c0d42c862d9a..00000000000000
--- a/patches.renesas/0168-pinctrl-sh-pfc-r8a7791-Add-missing-HSCIF1-pinmux-dat.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 0e1c9e8e6eff51a650699a24a70559729ea01498 Mon Sep 17 00:00:00 2001
-From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
-Date: Wed, 29 Mar 2017 21:36:50 +0300
-Subject: [PATCH 168/286] pinctrl: sh-pfc: r8a7791: Add missing HSCIF1 pinmux
- data
-
-The R8A7791 PFC driver was apparently based on the preliminary revisions
-of the user's manual, which omitted the HSCIF1 group E signals in the
-IPSR4 register description. This would cause HSCIF1's probe to fail with
-the messages like below:
-
-sh-pfc e6060000.pfc: cannot locate data/mark enum_id for mark 1989
-sh-sci e62c8000.serial: Error applying setting, reverse things back
-sh-sci: probe of e62c8000.serial failed with error -22
-
-Add the neceassary PINMUX_IPSR_MSEL() invocations for the HSCK1_E,
-HCTS1#_E, and HRTS1#_E signals...
-
-Fixes: 508845196238 ("pinctrl: sh-pfc: r8a7791 PFC support")
-Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
-Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
-(cherry picked from commit da7a692fbbab07f4e9798b5b52798f6e3256dd8f)
-Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
----
- drivers/pinctrl/sh-pfc/pfc-r8a7791.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-index 841cecdca7ea..cc852e68162c 100644
---- a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-@@ -1010,14 +1010,17 @@ static const u16 pinmux_data[] = {
- PINMUX_IPSR_MSEL(IP4_12_10, SCL2, SEL_IIC2_0),
- PINMUX_IPSR_MSEL(IP4_12_10, GPS_CLK_B, SEL_GPS_1),
- PINMUX_IPSR_MSEL(IP4_12_10, GLO_Q0_D, SEL_GPS_3),
-+ PINMUX_IPSR_MSEL(IP4_12_10, HSCK1_E, SEL_HSCIF1_4),
- PINMUX_IPSR_GPSR(IP4_15_13, SSI_WS2),
- PINMUX_IPSR_MSEL(IP4_15_13, SDA2, SEL_IIC2_0),
- PINMUX_IPSR_MSEL(IP4_15_13, GPS_SIGN_B, SEL_GPS_1),
- PINMUX_IPSR_MSEL(IP4_15_13, RX2_E, SEL_SCIF2_4),
- PINMUX_IPSR_MSEL(IP4_15_13, GLO_Q1_D, SEL_GPS_3),
-+ PINMUX_IPSR_MSEL(IP4_15_13, HCTS1_N_E, SEL_HSCIF1_4),
- PINMUX_IPSR_GPSR(IP4_18_16, SSI_SDATA2),
- PINMUX_IPSR_MSEL(IP4_18_16, GPS_MAG_B, SEL_GPS_1),
- PINMUX_IPSR_MSEL(IP4_18_16, TX2_E, SEL_SCIF2_4),
-+ PINMUX_IPSR_MSEL(IP4_18_16, HRTS1_N_E, SEL_HSCIF1_4),
- PINMUX_IPSR_GPSR(IP4_19, SSI_SCK34),
- PINMUX_IPSR_GPSR(IP4_20, SSI_WS34),
- PINMUX_IPSR_GPSR(IP4_21, SSI_SDATA3),
---
-2.13.3
-
diff --git a/patches.renesas/0169-pinctrl-sh-pfc-r8a7791-Add-missing-DVC_MUTE-signal.patch b/patches.renesas/0169-pinctrl-sh-pfc-r8a7791-Add-missing-DVC_MUTE-signal.patch
deleted file mode 100644
index aea58b7b97e563..00000000000000
--- a/patches.renesas/0169-pinctrl-sh-pfc-r8a7791-Add-missing-DVC_MUTE-signal.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From e623e96e9d8f94460fcb2488613e64c9583ca4d0 Mon Sep 17 00:00:00 2001
-From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
-Date: Wed, 29 Mar 2017 21:36:51 +0300
-Subject: [PATCH 169/286] pinctrl: sh-pfc: r8a7791: Add missing DVC_MUTE signal
-
-The R8A7791 PFC driver was apparently based on the preliminary revisions
-of the user's manual, which omitted the DVC_MUTE signal altogether in
-the PFC section. The modern manual has the signal described, so just add
-the necassary data to the driver...
-
-Fixes: 508845196238 ("pinctrl: sh-pfc: r8a7791 PFC support")
-Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
-Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
-(cherry picked from commit 3908632fb829d73317c64c3d04f584b49f62e4ae)
-Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
----
- drivers/pinctrl/sh-pfc/pfc-r8a7791.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-index cc852e68162c..41ac1a3b1964 100644
---- a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-@@ -203,7 +203,7 @@ enum {
-
- /* IPSR6 */
- FN_AUDIO_CLKB, FN_STP_OPWM_0_B, FN_MSIOF1_SCK_B,
-- FN_SCIF_CLK, FN_BPFCLK_E,
-+ FN_SCIF_CLK, FN_DVC_MUTE, FN_BPFCLK_E,
- FN_AUDIO_CLKC, FN_SCIFB0_SCK_C, FN_MSIOF1_SYNC_B, FN_RX2,
- FN_SCIFA2_RXD, FN_FMIN_E,
- FN_AUDIO_CLKOUT, FN_MSIOF1_SS1_B, FN_TX2, FN_SCIFA2_TXD,
-@@ -573,7 +573,7 @@ enum {
-
- /* IPSR6 */
- AUDIO_CLKB_MARK, STP_OPWM_0_B_MARK, MSIOF1_SCK_B_MARK,
-- SCIF_CLK_MARK, BPFCLK_E_MARK,
-+ SCIF_CLK_MARK, DVC_MUTE_MARK, BPFCLK_E_MARK,
- AUDIO_CLKC_MARK, SCIFB0_SCK_C_MARK, MSIOF1_SYNC_B_MARK, RX2_MARK,
- SCIFA2_RXD_MARK, FMIN_E_MARK,
- AUDIO_CLKOUT_MARK, MSIOF1_SS1_B_MARK, TX2_MARK, SCIFA2_TXD_MARK,
-@@ -1093,6 +1093,7 @@ static const u16 pinmux_data[] = {
- PINMUX_IPSR_MSEL(IP6_2_0, STP_OPWM_0_B, SEL_SSP_1),
- PINMUX_IPSR_MSEL(IP6_2_0, MSIOF1_SCK_B, SEL_SOF1_1),
- PINMUX_IPSR_MSEL(IP6_2_0, SCIF_CLK, SEL_SCIF_0),
-+ PINMUX_IPSR_GPSR(IP6_2_0, DVC_MUTE),
- PINMUX_IPSR_MSEL(IP6_2_0, BPFCLK_E, SEL_FM_4),
- PINMUX_IPSR_GPSR(IP6_5_3, AUDIO_CLKC),
- PINMUX_IPSR_MSEL(IP6_5_3, SCIFB0_SCK_C, SEL_SCIFB_2),
-@@ -5899,7 +5900,7 @@ static const struct pinmux_cfg_reg pinmux_config_regs[] = {
- 0, 0,
- /* IP6_2_0 [3] */
- FN_AUDIO_CLKB, FN_STP_OPWM_0_B, FN_MSIOF1_SCK_B,
-- FN_SCIF_CLK, 0, FN_BPFCLK_E,
-+ FN_SCIF_CLK, FN_DVC_MUTE, FN_BPFCLK_E,
- 0, 0, }
- },
- { PINMUX_CFG_REG_VAR("IPSR7", 0xE606003C, 32,
---
-2.13.3
-
diff --git a/patches.renesas/0170-pinctrl-sh-pfc-r8a7791-Fix-SCIF2-pinmux-data.patch b/patches.renesas/0170-pinctrl-sh-pfc-r8a7791-Fix-SCIF2-pinmux-data.patch
deleted file mode 100644
index c16ecb29c55df8..00000000000000
--- a/patches.renesas/0170-pinctrl-sh-pfc-r8a7791-Fix-SCIF2-pinmux-data.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 6ccc9616097306424a0da7460e4a9042dc81fe58 Mon Sep 17 00:00:00 2001
-From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
-Date: Thu, 30 Mar 2017 23:20:48 +0300
-Subject: [PATCH 170/286] pinctrl: sh-pfc: r8a7791: Fix SCIF2 pinmux data
-
-PINMUX_IPSR_MSEL() macro invocation for the TX2 signal has apparently wrong
-1st argument -- most probably a result of cut&paste programming...
-
-Fixes: 508845196238 ("pinctrl: sh-pfc: r8a7791 PFC support")
-Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
-Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
-(cherry picked from commit 58439280f84e6b39fd7d61f25ab30489c1aaf0a9)
-Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
----
- drivers/pinctrl/sh-pfc/pfc-r8a7791.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-index 41ac1a3b1964..437238691d16 100644
---- a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-@@ -1103,7 +1103,7 @@ static const u16 pinmux_data[] = {
- PINMUX_IPSR_MSEL(IP6_5_3, FMIN_E, SEL_FM_4),
- PINMUX_IPSR_GPSR(IP6_7_6, AUDIO_CLKOUT),
- PINMUX_IPSR_MSEL(IP6_7_6, MSIOF1_SS1_B, SEL_SOF1_1),
-- PINMUX_IPSR_MSEL(IP6_5_3, TX2, SEL_SCIF2_0),
-+ PINMUX_IPSR_MSEL(IP6_7_6, TX2, SEL_SCIF2_0),
- PINMUX_IPSR_MSEL(IP6_7_6, SCIFA2_TXD, SEL_SCIFA2_0),
- PINMUX_IPSR_GPSR(IP6_9_8, IRQ0),
- PINMUX_IPSR_MSEL(IP6_9_8, SCIFB1_RXD_D, SEL_SCIFB1_3),
---
-2.13.3
-
diff --git a/patches.renesas/0171-pinctrl-sh-pfc-r8a7791-Fix-IPSR-comment-typos.patch b/patches.renesas/0171-pinctrl-sh-pfc-r8a7791-Fix-IPSR-comment-typos.patch
index cd6eb552142b5f..301c85c347f072 100644
--- a/patches.renesas/0171-pinctrl-sh-pfc-r8a7791-Fix-IPSR-comment-typos.patch
+++ b/patches.renesas/0171-pinctrl-sh-pfc-r8a7791-Fix-IPSR-comment-typos.patch
@@ -12,14 +12,12 @@ Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 0cbdc11482d72ad164e33ef7cc57b01e8b61e40d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/pinctrl/sh-pfc/pfc-r8a7791.c | 6 +++---
+ drivers/pinctrl/sh-pfc/pfc-r8a7791.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-index 437238691d16..2ed7eeb50aac 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
-@@ -5711,7 +5711,7 @@ static const struct pinmux_cfg_reg pinmux_config_regs[] = {
+@@ -5711,7 +5711,7 @@ static const struct pinmux_cfg_reg pinmu
},
{ PINMUX_CFG_REG_VAR("IPSR2", 0xE6060028, 32,
2, 3, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2, 3) {
@@ -28,7 +26,7 @@ index 437238691d16..2ed7eeb50aac 100644
0, 0, 0, 0,
/* IP2_29_27 [3] */
FN_EX_CS3_N, FN_ATADIR0_N, FN_MSIOF2_TXD,
-@@ -5731,7 +5731,7 @@ static const struct pinmux_cfg_reg pinmux_config_regs[] = {
+@@ -5731,7 +5731,7 @@ static const struct pinmux_cfg_reg pinmu
/* IP2_15_13 [3] */
FN_A24, FN_DREQ2, FN_IO3, FN_TX1, FN_SCIFA1_TXD,
0, 0, 0,
@@ -37,7 +35,7 @@ index 437238691d16..2ed7eeb50aac 100644
FN_A23, FN_IO2, FN_BPFCLK_B, FN_RX0, FN_SCIFA0_RXD,
0, 0, 0,
/* IP2_9_7 [3] */
-@@ -6042,7 +6042,7 @@ static const struct pinmux_cfg_reg pinmux_config_regs[] = {
+@@ -6042,7 +6042,7 @@ static const struct pinmux_cfg_reg pinmu
/* IP10_24_22 [3] */
FN_VI0_R1, FN_VI2_DATA2, FN_GLO_I1_B, FN_TS_SCK0_C, FN_ATAG1_N,
0, 0, 0,
@@ -46,6 +44,3 @@ index 437238691d16..2ed7eeb50aac 100644
FN_VI0_R0, FN_VI2_DATA1, FN_GLO_I0_B,
FN_TS_SDATA0_C, FN_ATACS11_N,
0, 0, 0,
---
-2.13.3
-
diff --git a/patches.renesas/0172-pinctrl-sh-pfc-r8a7794-Swap-ATA-signals.patch b/patches.renesas/0172-pinctrl-sh-pfc-r8a7794-Swap-ATA-signals.patch
deleted file mode 100644
index d6038b1b457580..00000000000000
--- a/patches.renesas/0172-pinctrl-sh-pfc-r8a7794-Swap-ATA-signals.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 5fe6e9d9a8917a5ecdcabfc60c35b66136e40d28 Mon Sep 17 00:00:00 2001
-From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
-Date: Tue, 4 Apr 2017 23:20:16 +0300
-Subject: [PATCH 172/286] pinctrl: sh-pfc: r8a7794: Swap ATA signals
-
-All R8A7794 manuals I have here (0.50 and 1.10) agree that the PFC driver
-has ATAG0# and ATAWR0# signals in IPSR12 swapped -- fix this.
-
-Fixes: 43c4436e2f18 ("pinctrl: sh-pfc: add R8A7794 PFC support")
-Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
-Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
-(cherry picked from commit 5f4c8cafe1148f8a91287072815df8f0b66f0e5c)
-Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
----
- drivers/pinctrl/sh-pfc/pfc-r8a7794.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7794.c b/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
-index ed734f560c84..ef093ac0cf2f 100644
---- a/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
-+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
-@@ -281,8 +281,8 @@ enum {
- FN_AVB_AVTP_CAPTURE, FN_ETH_CRS_DV_B, FN_SSI_WS1, FN_SCIF1_TXD_B,
- FN_IIC1_SDA_C, FN_VI1_DATA0, FN_CAN0_TX_D, FN_AVB_AVTP_MATCH,
- FN_ETH_RX_ER_B, FN_SSI_SDATA1, FN_HSCIF1_HRX_B, FN_SDATA, FN_VI1_DATA1,
-- FN_ATAG0_N, FN_ETH_RXD0_B, FN_SSI_SCK2, FN_HSCIF1_HTX_B, FN_VI1_DATA2,
-- FN_MDATA, FN_ATAWR0_N, FN_ETH_RXD1_B,
-+ FN_ATAWR0_N, FN_ETH_RXD0_B, FN_SSI_SCK2, FN_HSCIF1_HTX_B, FN_VI1_DATA2,
-+ FN_MDATA, FN_ATAG0_N, FN_ETH_RXD1_B,
-
- /* IPSR13 */
- FN_SSI_WS2, FN_HSCIF1_HCTS_N_B, FN_SCIFA0_RXD_D, FN_VI1_DATA3, FN_SCKZ,
-@@ -575,8 +575,8 @@ enum {
- ETH_CRS_DV_B_MARK, SSI_WS1_MARK, SCIF1_TXD_B_MARK, IIC1_SDA_C_MARK,
- VI1_DATA0_MARK, CAN0_TX_D_MARK, AVB_AVTP_MATCH_MARK, ETH_RX_ER_B_MARK,
- SSI_SDATA1_MARK, HSCIF1_HRX_B_MARK, VI1_DATA1_MARK, SDATA_MARK,
-- ATAG0_N_MARK, ETH_RXD0_B_MARK, SSI_SCK2_MARK, HSCIF1_HTX_B_MARK,
-- VI1_DATA2_MARK, MDATA_MARK, ATAWR0_N_MARK, ETH_RXD1_B_MARK,
-+ ATAWR0_N_MARK, ETH_RXD0_B_MARK, SSI_SCK2_MARK, HSCIF1_HTX_B_MARK,
-+ VI1_DATA2_MARK, MDATA_MARK, ATAG0_N_MARK, ETH_RXD1_B_MARK,
-
- /* IPSR13 */
- SSI_WS2_MARK, HSCIF1_HCTS_N_B_MARK, SCIFA0_RXD_D_MARK, VI1_DATA3_MARK,
-@@ -1413,13 +1413,13 @@ static const u16 pinmux_data[] = {
- PINMUX_IPSR_MSEL(IP12_26_24, HSCIF1_HRX_B, SEL_HSCIF1_1),
- PINMUX_IPSR_GPSR(IP12_26_24, VI1_DATA1),
- PINMUX_IPSR_MSEL(IP12_26_24, SDATA, SEL_FSN_0),
-- PINMUX_IPSR_GPSR(IP12_26_24, ATAG0_N),
-+ PINMUX_IPSR_GPSR(IP12_26_24, ATAWR0_N),
- PINMUX_IPSR_MSEL(IP12_26_24, ETH_RXD0_B, SEL_ETH_1),
- PINMUX_IPSR_MSEL(IP12_29_27, SSI_SCK2, SEL_SSI2_0),
- PINMUX_IPSR_MSEL(IP12_29_27, HSCIF1_HTX_B, SEL_HSCIF1_1),
- PINMUX_IPSR_GPSR(IP12_29_27, VI1_DATA2),
- PINMUX_IPSR_MSEL(IP12_29_27, MDATA, SEL_FSN_0),
-- PINMUX_IPSR_GPSR(IP12_29_27, ATAWR0_N),
-+ PINMUX_IPSR_GPSR(IP12_29_27, ATAG0_N),
- PINMUX_IPSR_MSEL(IP12_29_27, ETH_RXD1_B, SEL_ETH_1),
-
- /* IPSR13 */
-@@ -4938,10 +4938,10 @@ static const struct pinmux_cfg_reg pinmux_config_regs[] = {
- 0, 0, 0, 0,
- /* IP12_29_27 [3] */
- FN_SSI_SCK2, FN_HSCIF1_HTX_B, FN_VI1_DATA2, FN_MDATA,
-- FN_ATAWR0_N, FN_ETH_RXD1_B, 0, 0,
-+ FN_ATAG0_N, FN_ETH_RXD1_B, 0, 0,
- /* IP12_26_24 [3] */
- FN_SSI_SDATA1, FN_HSCIF1_HRX_B, FN_VI1_DATA1, FN_SDATA,
-- FN_ATAG0_N, FN_ETH_RXD0_B, 0, 0,
-+ FN_ATAWR0_N, FN_ETH_RXD0_B, 0, 0,
- /* IP12_23_21 [3] */
- FN_SSI_WS1, FN_SCIF1_TXD_B, FN_IIC1_SDA_C, FN_VI1_DATA0,
- FN_CAN0_TX_D, FN_AVB_AVTP_MATCH, FN_ETH_RX_ER_B, 0,
---
-2.13.3
-
diff --git a/patches.renesas/0173-net-phy-micrel-Restore-led_mode-and-clk_sel-on-resum.patch b/patches.renesas/0173-net-phy-micrel-Restore-led_mode-and-clk_sel-on-resum.patch
index d17bdfc54db0d3..7cf1b14f751b0e 100644
--- a/patches.renesas/0173-net-phy-micrel-Restore-led_mode-and-clk_sel-on-resum.patch
+++ b/patches.renesas/0173-net-phy-micrel-Restore-led_mode-and-clk_sel-on-resum.patch
@@ -16,14 +16,12 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 79e498a9c7da0737829ff864aae44df434105676)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/net/phy/micrel.c | 42 ++++++++++++++++++++++++++++--------------
+ drivers/net/phy/micrel.c | 42 ++++++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 14 deletions(-)
-diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
-index da5b39268370..d18d631c9fed 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
-@@ -268,23 +268,12 @@ static int kszphy_nand_tree_disable(struct phy_device *phydev)
+@@ -268,23 +268,12 @@ out:
return ret;
}
@@ -49,7 +47,7 @@ index da5b39268370..d18d631c9fed 100644
if (priv->rmii_ref_clk_sel) {
ret = kszphy_rmii_clk_sel(phydev, priv->rmii_ref_clk_sel_val);
if (ret) {
-@@ -295,11 +284,30 @@ static int kszphy_config_init(struct phy_device *phydev)
+@@ -295,11 +284,30 @@ static int kszphy_config_init(struct phy
}
if (priv->led_mode >= 0)
@@ -81,7 +79,7 @@ index da5b39268370..d18d631c9fed 100644
static int ksz8041_config_init(struct phy_device *phydev)
{
struct device_node *of_node = phydev->mdio.dev.of_node;
-@@ -701,8 +709,14 @@ static int kszphy_suspend(struct phy_device *phydev)
+@@ -703,8 +711,14 @@ static int kszphy_suspend(struct phy_dev
static int kszphy_resume(struct phy_device *phydev)
{
@@ -96,6 +94,3 @@ index da5b39268370..d18d631c9fed 100644
/* Enable PHY Interrupts */
if (phy_interrupt_is_valid(phydev)) {
phydev->interrupts = PHY_INTERRUPT_ENABLED;
---
-2.13.3
-
diff --git a/patches.renesas/0174-soc-renesas-rcar-sysc-Add-support-for-fixing-up-powe.patch b/patches.renesas/0174-soc-renesas-rcar-sysc-Add-support-for-fixing-up-powe.patch
index dd0abe0daa2d74..b17112a1deb080 100644
--- a/patches.renesas/0174-soc-renesas-rcar-sysc-Add-support-for-fixing-up-powe.patch
+++ b/patches.renesas/0174-soc-renesas-rcar-sysc-Add-support-for-fixing-up-powe.patch
@@ -20,12 +20,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit afa6f53df6052968ce3934ad324777c0057e31d1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/soc/renesas/rcar-sysc.c | 25 ++++++++++++++++++++++++-
- drivers/soc/renesas/rcar-sysc.h | 10 ++++++++++
+ drivers/soc/renesas/rcar-sysc.c | 25 ++++++++++++++++++++++++-
+ drivers/soc/renesas/rcar-sysc.h | 10 ++++++++++
2 files changed, 34 insertions(+), 1 deletion(-)
-diff --git a/drivers/soc/renesas/rcar-sysc.c b/drivers/soc/renesas/rcar-sysc.c
-index 225c35c79d9a..528a13742aeb 100644
--- a/drivers/soc/renesas/rcar-sysc.c
+++ b/drivers/soc/renesas/rcar-sysc.c
@@ -2,7 +2,7 @@
@@ -37,7 +35,7 @@ index 225c35c79d9a..528a13742aeb 100644
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
-@@ -334,6 +334,12 @@ static int __init rcar_sysc_pd_init(void)
+@@ -334,6 +334,12 @@ static int __init rcar_sysc_pd_init(void
info = match->data;
@@ -50,7 +48,7 @@ index 225c35c79d9a..528a13742aeb 100644
has_cpg_mstp = of_find_compatible_node(NULL, NULL,
"renesas,cpg-mstp-clocks");
-@@ -377,6 +383,11 @@ static int __init rcar_sysc_pd_init(void)
+@@ -377,6 +383,11 @@ static int __init rcar_sysc_pd_init(void
const struct rcar_sysc_area *area = &info->areas[i];
struct rcar_sysc_pd *pd;
@@ -62,7 +60,7 @@ index 225c35c79d9a..528a13742aeb 100644
pd = kzalloc(sizeof(*pd) + strlen(area->name) + 1, GFP_KERNEL);
if (!pd) {
error = -ENOMEM;
-@@ -406,6 +417,18 @@ static int __init rcar_sysc_pd_init(void)
+@@ -406,6 +417,18 @@ out_put:
}
early_initcall(rcar_sysc_pd_init);
@@ -81,8 +79,6 @@ index 225c35c79d9a..528a13742aeb 100644
void __init rcar_sysc_init(phys_addr_t base, u32 syscier)
{
u32 syscimr;
-diff --git a/drivers/soc/renesas/rcar-sysc.h b/drivers/soc/renesas/rcar-sysc.h
-index f6e842e2976e..07edb049a401 100644
--- a/drivers/soc/renesas/rcar-sysc.h
+++ b/drivers/soc/renesas/rcar-sysc.h
@@ -46,6 +46,7 @@ struct rcar_sysc_area {
@@ -93,7 +89,7 @@ index f6e842e2976e..07edb049a401 100644
const struct rcar_sysc_area *areas;
unsigned int num_areas;
};
-@@ -59,4 +60,13 @@ extern const struct rcar_sysc_info r8a7792_sysc_info;
+@@ -59,4 +60,13 @@ extern const struct rcar_sysc_info r8a77
extern const struct rcar_sysc_info r8a7794_sysc_info;
extern const struct rcar_sysc_info r8a7795_sysc_info;
extern const struct rcar_sysc_info r8a7796_sysc_info;
@@ -107,6 +103,3 @@ index f6e842e2976e..07edb049a401 100644
+ unsigned int num_areas, u8 id);
+
#endif /* __SOC_RENESAS_RCAR_SYSC_H__ */
---
-2.13.3
-
diff --git a/patches.renesas/0175-soc-renesas-rcar-sysc-Add-support-for-R-Car-H3-ES2.0.patch b/patches.renesas/0175-soc-renesas-rcar-sysc-Add-support-for-R-Car-H3-ES2.0.patch
index 42e9d8a2f45130..95121bff57958b 100644
--- a/patches.renesas/0175-soc-renesas-rcar-sysc-Add-support-for-R-Car-H3-ES2.0.patch
+++ b/patches.renesas/0175-soc-renesas-rcar-sysc-Add-support-for-R-Car-H3-ES2.0.patch
@@ -21,12 +21,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit fcb87087261e1be51b4c03677f39246bdc312b1c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/soc/renesas/r8a7795-sysc.c | 26 ++++++++++++++++++++++++--
- include/dt-bindings/power/r8a7795-sysc.h | 2 +-
+ drivers/soc/renesas/r8a7795-sysc.c | 26 ++++++++++++++++++++++++--
+ include/dt-bindings/power/r8a7795-sysc.h | 2 +-
2 files changed, 25 insertions(+), 3 deletions(-)
-diff --git a/drivers/soc/renesas/r8a7795-sysc.c b/drivers/soc/renesas/r8a7795-sysc.c
-index 5e7537c96f7b..7412666187b3 100644
--- a/drivers/soc/renesas/r8a7795-sysc.c
+++ b/drivers/soc/renesas/r8a7795-sysc.c
@@ -1,7 +1,7 @@
@@ -53,7 +51,7 @@ index 5e7537c96f7b..7412666187b3 100644
{ "always-on", 0, 0, R8A7795_PD_ALWAYS_ON, -1, PD_ALWAYS_ON },
{ "ca57-scu", 0x1c0, 0, R8A7795_PD_CA57_SCU, R8A7795_PD_ALWAYS_ON,
PD_SCU },
-@@ -40,6 +41,7 @@ static const struct rcar_sysc_area r8a7795_areas[] __initconst = {
+@@ -40,6 +41,7 @@ static const struct rcar_sysc_area r8a77
{ "a3vp", 0x340, 0, R8A7795_PD_A3VP, R8A7795_PD_ALWAYS_ON },
{ "cr7", 0x240, 0, R8A7795_PD_CR7, R8A7795_PD_ALWAYS_ON },
{ "a3vc", 0x380, 0, R8A7795_PD_A3VC, R8A7795_PD_ALWAYS_ON },
@@ -61,7 +59,7 @@ index 5e7537c96f7b..7412666187b3 100644
{ "a2vc0", 0x3c0, 0, R8A7795_PD_A2VC0, R8A7795_PD_A3VC },
{ "a2vc1", 0x3c0, 1, R8A7795_PD_A2VC1, R8A7795_PD_A3VC },
{ "3dg-a", 0x100, 0, R8A7795_PD_3DG_A, R8A7795_PD_ALWAYS_ON },
-@@ -50,7 +52,27 @@ static const struct rcar_sysc_area r8a7795_areas[] __initconst = {
+@@ -50,7 +52,27 @@ static const struct rcar_sysc_area r8a77
{ "a3ir", 0x180, 0, R8A7795_PD_A3IR, R8A7795_PD_ALWAYS_ON },
};
@@ -89,8 +87,6 @@ index 5e7537c96f7b..7412666187b3 100644
.areas = r8a7795_areas,
.num_areas = ARRAY_SIZE(r8a7795_areas),
};
-diff --git a/include/dt-bindings/power/r8a7795-sysc.h b/include/dt-bindings/power/r8a7795-sysc.h
-index ee2e26ba605e..ad679eeda137 100644
--- a/include/dt-bindings/power/r8a7795-sysc.h
+++ b/include/dt-bindings/power/r8a7795-sysc.h
@@ -33,7 +33,7 @@
@@ -102,6 +98,3 @@ index ee2e26ba605e..ad679eeda137 100644
#define R8A7795_PD_A2VC1 26
/* Always-on power area */
---
-2.13.3
-
diff --git a/patches.renesas/0176-usb-xhci-plat-Enable-async-suspend-resume.patch b/patches.renesas/0176-usb-xhci-plat-Enable-async-suspend-resume.patch
index 6f144665b8fee1..dfaae08527ac04 100644
--- a/patches.renesas/0176-usb-xhci-plat-Enable-async-suspend-resume.patch
+++ b/patches.renesas/0176-usb-xhci-plat-Enable-async-suspend-resume.patch
@@ -19,14 +19,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c70a1529b29cb1362ade5dd113313fb945e32c3e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-plat.c | 2 ++
+ drivers/usb/host/xhci-plat.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
-index 66ddd080a2a8..37f59a975dd9 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -258,6 +258,8 @@ static int xhci_plat_probe(struct platform_device *pdev)
+@@ -258,6 +258,8 @@ static int xhci_plat_probe(struct platfo
if (ret)
goto dealloc_usb2_hcd;
@@ -35,6 +33,3 @@ index 66ddd080a2a8..37f59a975dd9 100644
return 0;
---
-2.13.3
-
diff --git a/patches.renesas/0177-usb-xhci-clear-EINT-bit-in-status-correctly.patch b/patches.renesas/0177-usb-xhci-clear-EINT-bit-in-status-correctly.patch
index 419292ea6c2845..9c4b4e1bfc1762 100644
--- a/patches.renesas/0177-usb-xhci-clear-EINT-bit-in-status-correctly.patch
+++ b/patches.renesas/0177-usb-xhci-clear-EINT-bit-in-status-correctly.patch
@@ -25,14 +25,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d1001ab41064c7fe7bffbc1d7c3921912f3ec32d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci.c | 4 ++--
+ drivers/usb/host/xhci.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 304ee6bbe80c..cb3871c93004 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -721,7 +721,7 @@ void xhci_stop(struct usb_hcd *hcd)
+@@ -724,7 +724,7 @@ void xhci_stop(struct usb_hcd *hcd)
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"// Disabling event ring interrupts");
temp = readl(&xhci->op_regs->status);
@@ -41,7 +39,7 @@ index 304ee6bbe80c..cb3871c93004 100644
temp = readl(&xhci->ir_set->irq_pending);
writel(ER_IRQ_DISABLE(temp), &xhci->ir_set->irq_pending);
xhci_print_ir_set(xhci, 0);
-@@ -1054,7 +1054,7 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated)
+@@ -1057,7 +1057,7 @@ int xhci_resume(struct xhci_hcd *xhci, b
xhci_dbg(xhci, "// Disabling event ring interrupts\n");
temp = readl(&xhci->op_regs->status);
@@ -50,6 +48,3 @@ index 304ee6bbe80c..cb3871c93004 100644
temp = readl(&xhci->ir_set->irq_pending);
writel(ER_IRQ_DISABLE(temp), &xhci->ir_set->irq_pending);
xhci_print_ir_set(xhci, 0);
---
-2.13.3
-
diff --git a/patches.renesas/0178-usb-xhci-Add-helper-function-xhci_set_power_on.patch b/patches.renesas/0178-usb-xhci-Add-helper-function-xhci_set_power_on.patch
index 29d47b4cddbec4..94cee0911a09ed 100644
--- a/patches.renesas/0178-usb-xhci-Add-helper-function-xhci_set_power_on.patch
+++ b/patches.renesas/0178-usb-xhci-Add-helper-function-xhci_set_power_on.patch
@@ -15,14 +15,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit a6ff6cbf1fabe7500d8ac25e133e3346db0a0fca)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-hub.c | 66 ++++++++++++++++++++++++++++++---------------
+ drivers/usb/host/xhci-hub.c | 66 ++++++++++++++++++++++++++++++--------------
1 file changed, 45 insertions(+), 21 deletions(-)
-diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
-index 3bddeaa1e2d7..04344c14180c 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
-@@ -540,6 +540,49 @@ static int xhci_get_ports(struct usb_hcd *hcd, __le32 __iomem ***port_array)
+@@ -540,6 +540,49 @@ static int xhci_get_ports(struct usb_hcd
return max_ports;
}
@@ -72,7 +70,7 @@ index 3bddeaa1e2d7..04344c14180c 100644
void xhci_set_link_state(struct xhci_hcd *xhci, __le32 __iomem **port_array,
int port_id, u32 link_state)
{
-@@ -1092,18 +1135,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1095,18 +1138,7 @@ int xhci_hub_control(struct usb_hcd *hcd
* However, hub_wq will ignore the roothub events until
* the roothub is registered.
*/
@@ -92,7 +90,7 @@ index 3bddeaa1e2d7..04344c14180c 100644
break;
case USB_PORT_FEAT_RESET:
temp = (temp | PORT_RESET);
-@@ -1207,15 +1239,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1210,15 +1242,7 @@ int xhci_hub_control(struct usb_hcd *hcd
port_array[wIndex], temp);
break;
case USB_PORT_FEAT_POWER:
@@ -109,6 +107,3 @@ index 3bddeaa1e2d7..04344c14180c 100644
break;
default:
goto error;
---
-2.13.3
-
diff --git a/patches.renesas/0179-usb-xhci-Add-helper-function-xhci_disable_slot.patch b/patches.renesas/0179-usb-xhci-Add-helper-function-xhci_disable_slot.patch
index df6f4d5e1ca1d5..ec0d41490d3920 100644
--- a/patches.renesas/0179-usb-xhci-Add-helper-function-xhci_disable_slot.patch
+++ b/patches.renesas/0179-usb-xhci-Add-helper-function-xhci_disable_slot.patch
@@ -13,15 +13,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit f9e609b82479ef48469d42b022b0951abc00dcd1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci.c | 49 +++++++++++++++++++++++++++++++------------------
- drivers/usb/host/xhci.h | 2 ++
+ drivers/usb/host/xhci.c | 49 ++++++++++++++++++++++++++++++------------------
+ drivers/usb/host/xhci.h | 2 +
2 files changed, 33 insertions(+), 18 deletions(-)
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index cb3871c93004..ccd6f330ad38 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -3558,8 +3558,6 @@ void xhci_free_dev(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -3564,8 +3564,6 @@ void xhci_free_dev(struct usb_hcd *hcd,
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
struct xhci_virt_device *virt_dev;
@@ -30,7 +28,7 @@ index cb3871c93004..ccd6f330ad38 100644
int i, ret;
struct xhci_command *command;
-@@ -3594,30 +3592,50 @@ void xhci_free_dev(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -3600,30 +3598,50 @@ void xhci_free_dev(struct usb_hcd *hcd,
del_timer_sync(&virt_dev->eps[i].stop_cmd_timer);
}
@@ -91,7 +89,7 @@ index cb3871c93004..ccd6f330ad38 100644
}
/*
-@@ -3724,15 +3742,10 @@ int xhci_alloc_dev(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -3730,15 +3748,10 @@ int xhci_alloc_dev(struct usb_hcd *hcd,
disable_slot:
/* Disable slot, if we can do it without mem alloc */
@@ -108,11 +106,9 @@ index cb3871c93004..ccd6f330ad38 100644
}
/*
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 2496bd6304ca..e2eec806eafc 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -2019,6 +2019,8 @@ void xhci_shutdown(struct usb_hcd *hcd);
+@@ -2021,6 +2021,8 @@ void xhci_shutdown(struct usb_hcd *hcd);
int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks);
void xhci_init_driver(struct hc_driver *drv,
const struct xhci_driver_overrides *over);
@@ -121,6 +117,3 @@ index 2496bd6304ca..e2eec806eafc 100644
#ifdef CONFIG_PM
int xhci_suspend(struct xhci_hcd *xhci, bool do_wakeup);
---
-2.13.3
-
diff --git a/patches.renesas/0180-usb-xhci-Expose-xhci_start-function.patch b/patches.renesas/0180-usb-xhci-Expose-xhci_start-function.patch
index 1f67259dc08898..0d329e2f3af7eb 100644
--- a/patches.renesas/0180-usb-xhci-Expose-xhci_start-function.patch
+++ b/patches.renesas/0180-usb-xhci-Expose-xhci_start-function.patch
@@ -12,12 +12,10 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 26bba5c767de6724f330cdc2ad28bb783674f5a0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci.c | 2 +-
- drivers/usb/host/xhci.h | 1 +
+ drivers/usb/host/xhci.c | 2 +-
+ drivers/usb/host/xhci.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index ccd6f330ad38..0f9edee7bab3 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -125,7 +125,7 @@ int xhci_halt(struct xhci_hcd *xhci)
@@ -29,11 +27,9 @@ index ccd6f330ad38..0f9edee7bab3 100644
{
u32 temp;
int ret;
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index e2eec806eafc..93e1dc1a6812 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -2011,6 +2011,7 @@ typedef void (*xhci_get_quirks_t)(struct device *, struct xhci_hcd *);
+@@ -2013,6 +2013,7 @@ typedef void (*xhci_get_quirks_t)(struct
int xhci_handshake(void __iomem *ptr, u32 mask, u32 done, int usec);
void xhci_quiesce(struct xhci_hcd *xhci);
int xhci_halt(struct xhci_hcd *xhci);
@@ -41,6 +37,3 @@ index e2eec806eafc..93e1dc1a6812 100644
int xhci_reset(struct xhci_hcd *xhci);
int xhci_init(struct usb_hcd *hcd);
int xhci_run(struct usb_hcd *hcd);
---
-2.13.3
-
diff --git a/patches.renesas/0181-usb-xhci-Add-port-test-modes-support-for-usb2.patch b/patches.renesas/0181-usb-xhci-Add-port-test-modes-support-for-usb2.patch
index 02c1831af57da0..51bc8824019c93 100644
--- a/patches.renesas/0181-usb-xhci-Add-port-test-modes-support-for-usb2.patch
+++ b/patches.renesas/0181-usb-xhci-Add-port-test-modes-support-for-usb2.patch
@@ -27,15 +27,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 0f1d832ed1fb9527a4cc5fcb8511e85fd0a85185)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-hub.c | 85 +++++++++++++++++++++++++++++++++++++++++++++
- drivers/usb/host/xhci.h | 2 ++
+ drivers/usb/host/xhci-hub.c | 85 ++++++++++++++++++++++++++++++++++++++++++++
+ drivers/usb/host/xhci.h | 2 +
2 files changed, 87 insertions(+)
-diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
-index 04344c14180c..a0545fc367ca 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
-@@ -583,6 +583,77 @@ static void xhci_set_port_power(struct xhci_hcd *xhci, struct usb_hcd *hcd,
+@@ -583,6 +583,77 @@ static void xhci_set_port_power(struct x
spin_lock_irqsave(&xhci->lock, flags);
}
@@ -113,7 +111,7 @@ index 04344c14180c..a0545fc367ca 100644
void xhci_set_link_state(struct xhci_hcd *xhci, __le32 __iomem **port_array,
int port_id, u32 link_state)
{
-@@ -938,6 +1009,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -941,6 +1012,7 @@ int xhci_hub_control(struct usb_hcd *hcd
u16 link_state = 0;
u16 wake_mask = 0;
u16 timeout = 0;
@@ -121,7 +119,7 @@ index 04344c14180c..a0545fc367ca 100644
max_ports = xhci_get_ports(hcd, &port_array);
bus_state = &xhci->bus_state[hcd_index(hcd)];
-@@ -1011,6 +1083,8 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1014,6 +1086,8 @@ int xhci_hub_control(struct usb_hcd *hcd
link_state = (wIndex & 0xff00) >> 3;
if (wValue == USB_PORT_FEAT_REMOTE_WAKE_MASK)
wake_mask = wIndex & 0xff00;
@@ -130,7 +128,7 @@ index 04344c14180c..a0545fc367ca 100644
/* The MSB of wIndex is the U1/U2 timeout */
timeout = (wIndex & 0xff00) >> 8;
wIndex &= 0xff;
-@@ -1174,6 +1248,14 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1177,6 +1251,14 @@ int xhci_hub_control(struct usb_hcd *hcd
temp |= PORT_U2_TIMEOUT(timeout);
writel(temp, port_array[wIndex] + PORTPMSC);
break;
@@ -145,7 +143,7 @@ index 04344c14180c..a0545fc367ca 100644
default:
goto error;
}
-@@ -1241,6 +1323,9 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1244,6 +1326,9 @@ int xhci_hub_control(struct usb_hcd *hcd
case USB_PORT_FEAT_POWER:
xhci_set_port_power(xhci, hcd, wIndex, false);
break;
@@ -155,8 +153,6 @@ index 04344c14180c..a0545fc367ca 100644
default:
goto error;
}
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 93e1dc1a6812..b65429aa6da4 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -425,6 +425,7 @@ struct xhci_op_regs {
@@ -167,7 +163,7 @@ index 93e1dc1a6812..b65429aa6da4 100644
/* USB3 Protocol PORTLI Port Link Information */
#define PORT_RX_LANES(p) (((p) >> 16) & 0xf)
-@@ -1844,6 +1845,7 @@ struct xhci_hcd {
+@@ -1846,6 +1847,7 @@ struct xhci_hcd {
/* Compliance Mode Recovery Data */
struct timer_list comp_mode_recovery_timer;
u32 port_status_u0;
@@ -175,6 +171,3 @@ index 93e1dc1a6812..b65429aa6da4 100644
/* Compliance Mode Timer Triggered every 2 seconds */
#define COMP_MODE_RCVRY_MSECS 2000
---
-2.13.3
-
diff --git a/patches.renesas/0182-usb-host-xhci-extract-xhci_slot_state_string.patch b/patches.renesas/0182-usb-host-xhci-extract-xhci_slot_state_string.patch
index 5acce8fffff688..0a361769d37674 100644
--- a/patches.renesas/0182-usb-host-xhci-extract-xhci_slot_state_string.patch
+++ b/patches.renesas/0182-usb-host-xhci-extract-xhci_slot_state_string.patch
@@ -13,15 +13,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 52407729fbeabb654d38c0c99661a41a481092d1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-dbg.c | 14 ++------------
- drivers/usb/host/xhci.h | 16 ++++++++++++++++
+ drivers/usb/host/xhci-dbg.c | 14 ++------------
+ drivers/usb/host/xhci.h | 16 ++++++++++++++++
2 files changed, 18 insertions(+), 12 deletions(-)
-diff --git a/drivers/usb/host/xhci-dbg.c b/drivers/usb/host/xhci-dbg.c
-index 2b4a00fa735d..4cfdd51340d4 100644
--- a/drivers/usb/host/xhci-dbg.c
+++ b/drivers/usb/host/xhci-dbg.c
-@@ -451,19 +451,9 @@ char *xhci_get_slot_state(struct xhci_hcd *xhci,
+@@ -451,19 +451,9 @@ char *xhci_get_slot_state(struct xhci_hc
struct xhci_container_ctx *ctx)
{
struct xhci_slot_ctx *slot_ctx = xhci_get_slot_ctx(xhci, ctx);
@@ -43,11 +41,9 @@ index 2b4a00fa735d..4cfdd51340d4 100644
}
static void xhci_dbg_slot_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx)
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index b65429aa6da4..facdae3ea5bb 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -2159,6 +2159,22 @@ static inline struct xhci_ring *xhci_urb_to_transfer_ring(struct xhci_hcd *xhci,
+@@ -2161,6 +2161,22 @@ static inline struct xhci_ring *xhci_urb
urb->stream_id);
}
@@ -70,6 +66,3 @@ index b65429aa6da4..facdae3ea5bb 100644
static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
u32 field3)
{
---
-2.13.3
-
diff --git a/patches.renesas/0183-usb-host-xhci-add-Slot-and-EP-Context-tracers.patch b/patches.renesas/0183-usb-host-xhci-add-Slot-and-EP-Context-tracers.patch
index 6a9b1c30f20bb1..31e22bab91c397 100644
--- a/patches.renesas/0183-usb-host-xhci-add-Slot-and-EP-Context-tracers.patch
+++ b/patches.renesas/0183-usb-host-xhci-add-Slot-and-EP-Context-tracers.patch
@@ -14,17 +14,15 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 19a7d0d65c4a813069f4bc4ca701d6a163c337e9)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-ring.c | 42 ++++++++++++
- drivers/usb/host/xhci-trace.h | 101 +++++++++++++++++++++++++++++
- drivers/usb/host/xhci.c | 15 ++++-
- drivers/usb/host/xhci.h | 146 ++++++++++++++++++++++++++++++++++++++++++
+ drivers/usb/host/xhci-ring.c | 42 ++++++++++++
+ drivers/usb/host/xhci-trace.h | 101 +++++++++++++++++++++++++++++
+ drivers/usb/host/xhci.c | 15 +++-
+ drivers/usb/host/xhci.h | 146 ++++++++++++++++++++++++++++++++++++++++++
4 files changed, 302 insertions(+), 2 deletions(-)
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index a3309aa02993..2f700c9893bd 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -689,6 +689,8 @@ static void xhci_handle_cmd_stop_ep(struct xhci_hcd *xhci, int slot_id,
+@@ -689,6 +689,8 @@ static void xhci_handle_cmd_stop_ep(stru
struct xhci_virt_ep *ep;
struct xhci_td *cur_td = NULL;
struct xhci_td *last_unlinked_td;
@@ -33,7 +31,7 @@ index a3309aa02993..2f700c9893bd 100644
struct xhci_dequeue_state deq_state;
-@@ -702,6 +704,11 @@ static void xhci_handle_cmd_stop_ep(struct xhci_hcd *xhci, int slot_id,
+@@ -702,6 +704,11 @@ static void xhci_handle_cmd_stop_ep(stru
memset(&deq_state, 0, sizeof(deq_state));
ep_index = TRB_TO_EP_INDEX(le32_to_cpu(trb->generic.field[3]));
@@ -45,7 +43,7 @@ index a3309aa02993..2f700c9893bd 100644
ep = &xhci->devs[slot_id]->eps[ep_index];
last_unlinked_td = list_last_entry(&ep->cancelled_td_list,
struct xhci_td, cancelled_td_list);
-@@ -1029,6 +1036,8 @@ static void xhci_handle_cmd_set_deq(struct xhci_hcd *xhci, int slot_id,
+@@ -1032,6 +1039,8 @@ static void xhci_handle_cmd_set_deq(stru
ep_ctx = xhci_get_ep_ctx(xhci, dev->out_ctx, ep_index);
slot_ctx = xhci_get_slot_ctx(xhci, dev->out_ctx);
@@ -54,7 +52,7 @@ index a3309aa02993..2f700c9893bd 100644
if (cmd_comp_code != COMP_SUCCESS) {
unsigned int ep_state;
-@@ -1099,9 +1108,15 @@ static void xhci_handle_cmd_set_deq(struct xhci_hcd *xhci, int slot_id,
+@@ -1102,9 +1111,15 @@ cleanup:
static void xhci_handle_cmd_reset_ep(struct xhci_hcd *xhci, int slot_id,
union xhci_trb *trb, u32 cmd_comp_code)
{
@@ -70,7 +68,7 @@ index a3309aa02993..2f700c9893bd 100644
/* This command will only fail if the endpoint wasn't halted,
* but we don't care.
*/
-@@ -1143,10 +1158,15 @@ static void xhci_handle_cmd_enable_slot(struct xhci_hcd *xhci, int slot_id,
+@@ -1146,10 +1161,15 @@ static void xhci_handle_cmd_enable_slot(
static void xhci_handle_cmd_disable_slot(struct xhci_hcd *xhci, int slot_id)
{
struct xhci_virt_device *virt_dev;
@@ -86,7 +84,7 @@ index a3309aa02993..2f700c9893bd 100644
if (xhci->quirks & XHCI_EP_LIMIT_QUIRK)
/* Delete default control endpoint resources */
xhci_free_device_endpoint_resources(xhci, virt_dev, true);
-@@ -1158,6 +1178,7 @@ static void xhci_handle_cmd_config_ep(struct xhci_hcd *xhci, int slot_id,
+@@ -1161,6 +1181,7 @@ static void xhci_handle_cmd_config_ep(st
{
struct xhci_virt_device *virt_dev;
struct xhci_input_control_ctx *ctrl_ctx;
@@ -94,7 +92,7 @@ index a3309aa02993..2f700c9893bd 100644
unsigned int ep_index;
unsigned int ep_state;
u32 add_flags, drop_flags;
-@@ -1182,6 +1203,9 @@ static void xhci_handle_cmd_config_ep(struct xhci_hcd *xhci, int slot_id,
+@@ -1185,6 +1206,9 @@ static void xhci_handle_cmd_config_ep(st
/* Input ctx add_flags are the endpoint index plus one */
ep_index = xhci_last_valid_endpoint(add_flags) - 1;
@@ -104,7 +102,7 @@ index a3309aa02993..2f700c9893bd 100644
/* A usb_set_interface() call directly after clearing a halted
* condition may race on this quirky hardware. Not worth
* worrying about, since this is prototype hardware. Not sure
-@@ -1206,9 +1230,26 @@ static void xhci_handle_cmd_config_ep(struct xhci_hcd *xhci, int slot_id,
+@@ -1209,9 +1233,26 @@ static void xhci_handle_cmd_config_ep(st
return;
}
@@ -131,7 +129,7 @@ index a3309aa02993..2f700c9893bd 100644
xhci_dbg(xhci, "Completed reset device command.\n");
if (!xhci->devs[slot_id])
xhci_warn(xhci, "Reset device command completion "
-@@ -1384,6 +1425,7 @@ static void handle_cmd_completion(struct xhci_hcd *xhci,
+@@ -1387,6 +1428,7 @@ static void handle_cmd_completion(struct
case TRB_EVAL_CONTEXT:
break;
case TRB_ADDR_DEV:
@@ -139,11 +137,9 @@ index a3309aa02993..2f700c9893bd 100644
break;
case TRB_STOP_RING:
WARN_ON(slot_id != TRB_TO_SLOT_ID(
-diff --git a/drivers/usb/host/xhci-trace.h b/drivers/usb/host/xhci-trace.h
-index fecd226b422d..f24a45ae153d 100644
--- a/drivers/usb/host/xhci-trace.h
+++ b/drivers/usb/host/xhci-trace.h
-@@ -285,6 +285,107 @@ DEFINE_EVENT(xhci_log_urb, xhci_urb_dequeue,
+@@ -285,6 +285,107 @@ DEFINE_EVENT(xhci_log_urb, xhci_urb_dequ
TP_ARGS(urb)
);
@@ -251,11 +247,9 @@ index fecd226b422d..f24a45ae153d 100644
#endif /* __XHCI_TRACE_H */
/* this part must be outside header guard */
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 0f9edee7bab3..6c4cef7e51c9 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -3443,6 +3443,8 @@ int xhci_discover_or_reset_device(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -3449,6 +3449,8 @@ int xhci_discover_or_reset_device(struct
SLOT_STATE_DISABLED)
return 0;
@@ -264,7 +258,7 @@ index 0f9edee7bab3..6c4cef7e51c9 100644
xhci_dbg(xhci, "Resetting device with slot ID %u\n", slot_id);
/* Allocate the command structure that holds the struct completion.
* Assume we're in process context, since the normal device reset
-@@ -3558,6 +3560,7 @@ void xhci_free_dev(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -3564,6 +3566,7 @@ void xhci_free_dev(struct usb_hcd *hcd,
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
struct xhci_virt_device *virt_dev;
@@ -272,7 +266,7 @@ index 0f9edee7bab3..6c4cef7e51c9 100644
int i, ret;
struct xhci_command *command;
-@@ -3585,6 +3588,8 @@ void xhci_free_dev(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -3591,6 +3594,8 @@ void xhci_free_dev(struct usb_hcd *hcd,
}
virt_dev = xhci->devs[udev->slot_id];
@@ -281,7 +275,7 @@ index 0f9edee7bab3..6c4cef7e51c9 100644
/* Stop any wayward timer functions (which may grab the lock) */
for (i = 0; i < 31; i++) {
-@@ -3668,6 +3673,8 @@ static int xhci_reserve_host_control_ep_resources(struct xhci_hcd *xhci)
+@@ -3674,6 +3679,8 @@ static int xhci_reserve_host_control_ep_
int xhci_alloc_dev(struct usb_hcd *hcd, struct usb_device *udev)
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
@@ -290,7 +284,7 @@ index 0f9edee7bab3..6c4cef7e51c9 100644
unsigned long flags;
int ret, slot_id;
struct xhci_command *command;
-@@ -3723,6 +3730,10 @@ int xhci_alloc_dev(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -3729,6 +3736,10 @@ int xhci_alloc_dev(struct usb_hcd *hcd,
xhci_warn(xhci, "Could not allocate xHCI USB device data structures\n");
goto disable_slot;
}
@@ -301,7 +295,7 @@ index 0f9edee7bab3..6c4cef7e51c9 100644
udev->slot_id = slot_id;
#ifndef CONFIG_USB_DEFAULT_PERSIST
-@@ -3792,9 +3803,10 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -3798,9 +3809,10 @@ static int xhci_setup_device(struct usb_
ret = -EINVAL;
goto out;
}
@@ -313,7 +307,7 @@ index 0f9edee7bab3..6c4cef7e51c9 100644
if (GET_SLOT_STATE(le32_to_cpu(slot_ctx->dev_state)) ==
SLOT_STATE_DEFAULT) {
xhci_dbg(xhci, "Slot already in default state\n");
-@@ -3915,7 +3927,6 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -3921,7 +3933,6 @@ static int xhci_setup_device(struct usb_
* USB core uses address 1 for the roothubs, so we add one to the
* address given back to us by the HC.
*/
@@ -321,8 +315,6 @@ index 0f9edee7bab3..6c4cef7e51c9 100644
trace_xhci_address_ctx(xhci, virt_dev->out_ctx,
le32_to_cpu(slot_ctx->dev_info) >> 27);
/* Zero the input context control for later use */
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index facdae3ea5bb..2acb6fe64892 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -618,6 +618,7 @@ struct xhci_slot_ctx {
@@ -349,7 +341,7 @@ index facdae3ea5bb..2acb6fe64892 100644
/* dev_state bitmasks */
/* USB device address - assigned by the HC */
-@@ -2381,5 +2384,148 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2383,5 +2386,148 @@ static inline const char *xhci_decode_tr
return str;
}
@@ -498,6 +490,3 @@ index facdae3ea5bb..2acb6fe64892 100644
+}
#endif /* __LINUX_XHCI_HCD_H */
---
-2.13.3
-
diff --git a/patches.renesas/0184-usb-host-xhci-fix-up-Control-Transfer-TRB-decoder.patch b/patches.renesas/0184-usb-host-xhci-fix-up-Control-Transfer-TRB-decoder.patch
index 08f8aa3313c831..f222d1f1ec6ec3 100644
--- a/patches.renesas/0184-usb-host-xhci-fix-up-Control-Transfer-TRB-decoder.patch
+++ b/patches.renesas/0184-usb-host-xhci-fix-up-Control-Transfer-TRB-decoder.patch
@@ -12,14 +12,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 5d062aba0d399c57e2d793603d6e372adb09b4d7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci.h | 59 +++++++++++++++++++++++++++++++------------------
+ drivers/usb/host/xhci.h | 59 ++++++++++++++++++++++++++++++------------------
1 file changed, 37 insertions(+), 22 deletions(-)
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 2acb6fe64892..82fce191b500 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -2218,31 +2218,46 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2220,31 +2220,46 @@ static inline const char *xhci_decode_tr
break;
case TRB_SETUP:
@@ -88,6 +86,3 @@ index 2acb6fe64892..82fce191b500 100644
case TRB_ISOC:
case TRB_EVENT_DATA:
case TRB_TR_NOOP:
---
-2.13.3
-
diff --git a/patches.renesas/0185-xhci-add-slot-and-endpoint-numbers-to-debug-messages.patch b/patches.renesas/0185-xhci-add-slot-and-endpoint-numbers-to-debug-messages.patch
index e867ef212d4430..eb96aafe1a9f68 100644
--- a/patches.renesas/0185-xhci-add-slot-and-endpoint-numbers-to-debug-messages.patch
+++ b/patches.renesas/0185-xhci-add-slot-and-endpoint-numbers-to-debug-messages.patch
@@ -15,14 +15,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b7f769ae1b126086c5ec6686734924bac1dc0a9f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-ring.c | 80 ++++++++++++++++++++++++++++++--------------
+ drivers/usb/host/xhci-ring.c | 80 +++++++++++++++++++++++++++++--------------
1 file changed, 55 insertions(+), 25 deletions(-)
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index 2f700c9893bd..d45f533772ee 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -2285,7 +2285,8 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2288,7 +2288,8 @@ static int handle_tx_event(struct xhci_h
slot_id = TRB_TO_SLOT_ID(le32_to_cpu(event->flags));
xdev = xhci->devs[slot_id];
if (!xdev) {
@@ -32,7 +30,7 @@ index 2f700c9893bd..d45f533772ee 100644
xhci_err(xhci, "@%016llx %08x %08x %08x %08x\n",
(unsigned long long) xhci_trb_virt_to_dma(
xhci->event_ring->deq_seg,
-@@ -2305,8 +2306,9 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2308,8 +2309,9 @@ static int handle_tx_event(struct xhci_h
ep_ring = xhci_dma_to_transfer_ring(ep, le64_to_cpu(event->buffer));
ep_ctx = xhci_get_ep_ctx(xhci, xdev->out_ctx, ep_index);
if (!ep_ring || GET_EP_CTX_STATE(ep_ctx) == EP_STATE_DISABLED) {
@@ -44,7 +42,7 @@ index 2f700c9893bd..d45f533772ee 100644
xhci_err(xhci, "@%016llx %08x %08x %08x %08x\n",
(unsigned long long) xhci_trb_virt_to_dma(
xhci->event_ring->deq_seg,
-@@ -2340,45 +2342,62 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2343,45 +2345,62 @@ static int handle_tx_event(struct xhci_h
trb_comp_code = COMP_SHORT_PACKET;
else
xhci_warn_ratelimited(xhci,
@@ -118,7 +116,7 @@ index 2f700c9893bd..d45f533772ee 100644
break;
case COMP_RING_UNDERRUN:
/*
-@@ -2402,7 +2421,9 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2405,7 +2424,9 @@ static int handle_tx_event(struct xhci_h
ep_index);
goto cleanup;
case COMP_INCOMPATIBLE_DEVICE_ERROR:
@@ -129,7 +127,7 @@ index 2f700c9893bd..d45f533772ee 100644
status = -EPROTO;
break;
case COMP_MISSED_SERVICE_ERROR:
-@@ -2413,19 +2434,24 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2416,19 +2437,24 @@ static int handle_tx_event(struct xhci_h
* short transfer when process the ep_ring next time.
*/
ep->skip = true;
@@ -158,7 +156,7 @@ index 2f700c9893bd..d45f533772ee 100644
goto cleanup;
}
-@@ -2451,8 +2477,8 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2454,8 +2480,8 @@ static int handle_tx_event(struct xhci_h
}
if (ep->skip) {
ep->skip = false;
@@ -169,7 +167,7 @@ index 2f700c9893bd..d45f533772ee 100644
}
goto cleanup;
}
-@@ -2460,8 +2486,8 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2463,8 +2489,8 @@ static int handle_tx_event(struct xhci_h
/* We've skipped all the TDs on the ep ring when ep->skip set */
if (ep->skip && td_num == 0) {
ep->skip = false;
@@ -180,7 +178,7 @@ index 2f700c9893bd..d45f533772ee 100644
goto cleanup;
}
-@@ -2520,7 +2546,9 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2523,7 +2549,9 @@ static int handle_tx_event(struct xhci_h
ep_ring->last_td_was_short = false;
if (ep->skip) {
@@ -191,7 +189,7 @@ index 2f700c9893bd..d45f533772ee 100644
ep->skip = false;
}
-@@ -2537,7 +2565,9 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2540,7 +2568,9 @@ static int handle_tx_event(struct xhci_h
* the TD.
*/
if (trb_is_noop(ep_trb)) {
@@ -202,6 +200,3 @@ index 2f700c9893bd..d45f533772ee 100644
goto cleanup;
}
---
-2.13.3
-
diff --git a/patches.renesas/0186-xhci-Do-not-halt-the-host-until-both-HCD-have-discon.patch b/patches.renesas/0186-xhci-Do-not-halt-the-host-until-both-HCD-have-discon.patch
index de03157a813bc7..174d33a0be211c 100644
--- a/patches.renesas/0186-xhci-Do-not-halt-the-host-until-both-HCD-have-discon.patch
+++ b/patches.renesas/0186-xhci-Do-not-halt-the-host-until-both-HCD-have-discon.patch
@@ -20,14 +20,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit fe190ed0d60260e44f48d8b0b04f26a8c8898a02)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci.c | 20 ++++++++++----------
+ drivers/usb/host/xhci.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 6c4cef7e51c9..8d8c02f4a3a6 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -689,21 +689,21 @@ void xhci_stop(struct usb_hcd *hcd)
+@@ -692,21 +692,21 @@ void xhci_stop(struct usb_hcd *hcd)
mutex_lock(&xhci->mutex);
@@ -59,6 +57,3 @@ index 6c4cef7e51c9..8d8c02f4a3a6 100644
xhci_cleanup_msix(xhci);
/* Deleting Compliance Mode Recovery Timer */
---
-2.13.3
-
diff --git a/patches.renesas/0187-xhci-Rework-how-we-handle-unresponsive-or-hoptlug-re.patch b/patches.renesas/0187-xhci-Rework-how-we-handle-unresponsive-or-hoptlug-re.patch
index 97b94a4f70f3e4..bd9e763148572f 100644
--- a/patches.renesas/0187-xhci-Rework-how-we-handle-unresponsive-or-hoptlug-re.patch
+++ b/patches.renesas/0187-xhci-Rework-how-we-handle-unresponsive-or-hoptlug-re.patch
@@ -24,17 +24,15 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d9f11ba9f107aa335091ab8d7ba5eea714e46e8b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-hub.c | 12 +++--
- drivers/usb/host/xhci-ring.c | 118 +++++++++++++++++++++----------------------
- drivers/usb/host/xhci.c | 16 +++++-
- drivers/usb/host/xhci.h | 1 +
+ drivers/usb/host/xhci-hub.c | 12 ++--
+ drivers/usb/host/xhci-ring.c | 118 ++++++++++++++++++++-----------------------
+ drivers/usb/host/xhci.c | 16 +++++
+ drivers/usb/host/xhci.h | 1
4 files changed, 80 insertions(+), 67 deletions(-)
-diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
-index a0545fc367ca..0b88e76251eb 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
-@@ -1050,7 +1050,8 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1053,7 +1053,8 @@ int xhci_hub_control(struct usb_hcd *hcd
goto error;
wIndex--;
temp = readl(port_array[wIndex]);
@@ -44,7 +42,7 @@ index a0545fc367ca..0b88e76251eb 100644
retval = -ENODEV;
break;
}
-@@ -1092,7 +1093,8 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1095,7 +1096,8 @@ int xhci_hub_control(struct usb_hcd *hcd
goto error;
wIndex--;
temp = readl(port_array[wIndex]);
@@ -54,7 +52,7 @@ index a0545fc367ca..0b88e76251eb 100644
retval = -ENODEV;
break;
}
-@@ -1267,7 +1269,8 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1270,7 +1272,8 @@ int xhci_hub_control(struct usb_hcd *hcd
goto error;
wIndex--;
temp = readl(port_array[wIndex]);
@@ -64,7 +62,7 @@ index a0545fc367ca..0b88e76251eb 100644
retval = -ENODEV;
break;
}
-@@ -1378,7 +1381,8 @@ int xhci_hub_status_data(struct usb_hcd *hcd, char *buf)
+@@ -1381,7 +1384,8 @@ int xhci_hub_status_data(struct usb_hcd
/* For each port, did anything change? If so, set that bit in buf. */
for (i = 0; i < max_ports; i++) {
temp = readl(port_array[i]);
@@ -74,11 +72,9 @@ index a0545fc367ca..0b88e76251eb 100644
retval = -ENODEV;
break;
}
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index d45f533772ee..c8910fd9b34c 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -359,21 +359,19 @@ static int xhci_abort_cmd_ring(struct xhci_hcd *xhci, unsigned long flags)
+@@ -359,21 +359,19 @@ static int xhci_abort_cmd_ring(struct xh
xhci_write_64(xhci, temp_64 | CMD_RING_ABORT,
&xhci->op_regs->cmd_ring);
@@ -108,7 +104,7 @@ index d45f533772ee..c8910fd9b34c 100644
}
/*
* Writing the CMD_RING_ABORT bit should cause a cmd completion event,
-@@ -873,6 +871,40 @@ static void xhci_kill_endpoint_urbs(struct xhci_hcd *xhci,
+@@ -876,6 +874,40 @@ static void xhci_kill_endpoint_urbs(stru
}
}
@@ -149,7 +145,7 @@ index d45f533772ee..c8910fd9b34c 100644
/* Watchdog timer function for when a stop endpoint command fails to complete.
* In this case, we assume the host controller is broken or dying or dead. The
* host may still be completing some other events, so we have to be careful to
-@@ -894,7 +926,6 @@ void xhci_stop_endpoint_command_watchdog(unsigned long arg)
+@@ -897,7 +929,6 @@ void xhci_stop_endpoint_command_watchdog
{
struct xhci_hcd *xhci;
struct xhci_virt_ep *ep;
@@ -157,7 +153,7 @@ index d45f533772ee..c8910fd9b34c 100644
unsigned long flags;
ep = (struct xhci_virt_ep *) arg;
-@@ -911,52 +942,22 @@ void xhci_stop_endpoint_command_watchdog(unsigned long arg)
+@@ -914,52 +945,22 @@ void xhci_stop_endpoint_command_watchdog
}
xhci_warn(xhci, "xHCI host not responding to stop endpoint command.\n");
@@ -217,7 +213,7 @@ index d45f533772ee..c8910fd9b34c 100644
static void update_ring_for_set_deq_completion(struct xhci_hcd *xhci,
struct xhci_virt_device *dev,
struct xhci_ring *ep_ring,
-@@ -1291,7 +1292,6 @@ void xhci_cleanup_command_queue(struct xhci_hcd *xhci)
+@@ -1294,7 +1295,6 @@ void xhci_cleanup_command_queue(struct x
void xhci_handle_command_timeout(struct work_struct *work)
{
struct xhci_hcd *xhci;
@@ -225,7 +221,7 @@ index d45f533772ee..c8910fd9b34c 100644
unsigned long flags;
u64 hw_ring_state;
-@@ -1312,22 +1312,17 @@ void xhci_handle_command_timeout(struct work_struct *work)
+@@ -1315,22 +1315,17 @@ void xhci_handle_command_timeout(struct
/* Make sure command ring is running before aborting it */
hw_ring_state = xhci_read_64(xhci, &xhci->op_regs->cmd_ring);
@@ -254,7 +250,7 @@ index d45f533772ee..c8910fd9b34c 100644
goto time_out_completed;
}
-@@ -2695,7 +2690,8 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd)
+@@ -2698,7 +2693,8 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
spin_lock(&xhci->lock);
/* Check if the xHC generated the interrupt, or the irq is shared */
status = readl(&xhci->op_regs->status);
@@ -264,11 +260,9 @@ index d45f533772ee..c8910fd9b34c 100644
ret = IRQ_HANDLED;
goto out;
}
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 8d8c02f4a3a6..388bf2f1b661 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1501,10 +1501,16 @@ int xhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status)
+@@ -1507,10 +1507,16 @@ int xhci_urb_dequeue(struct usb_hcd *hcd
if (!ep || !ep_ring)
goto err_giveback;
@@ -287,7 +281,7 @@ index 8d8c02f4a3a6..388bf2f1b661 100644
for (i = urb_priv->num_tds_done;
i < urb_priv->num_tds;
i++) {
-@@ -2595,6 +2601,12 @@ static int xhci_configure_endpoint(struct xhci_hcd *xhci,
+@@ -2601,6 +2607,12 @@ static int xhci_configure_endpoint(struc
return -EINVAL;
spin_lock_irqsave(&xhci->lock, flags);
@@ -300,11 +294,9 @@ index 8d8c02f4a3a6..388bf2f1b661 100644
virt_dev = xhci->devs[udev->slot_id];
ctrl_ctx = xhci_get_input_control_ctx(command->in_ctx);
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 82fce191b500..9e24d2890b4d 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -2132,6 +2132,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex,
+@@ -2134,6 +2134,7 @@ int xhci_hub_control(struct usb_hcd *hcd
char *buf, u16 wLength);
int xhci_hub_status_data(struct usb_hcd *hcd, char *buf);
int xhci_find_raw_port_number(struct usb_hcd *hcd, int port1);
@@ -312,6 +304,3 @@ index 82fce191b500..9e24d2890b4d 100644
#ifdef CONFIG_PM
int xhci_bus_suspend(struct usb_hcd *hcd);
---
-2.13.3
-
diff --git a/patches.renesas/0188-usb-xhci-add-xhci_log_ring-trace-events.patch b/patches.renesas/0188-usb-xhci-add-xhci_log_ring-trace-events.patch
index ccb11efa8a2593..e3e78f38c59d3c 100644
--- a/patches.renesas/0188-usb-xhci-add-xhci_log_ring-trace-events.patch
+++ b/patches.renesas/0188-usb-xhci-add-xhci_log_ring-trace-events.patch
@@ -21,16 +21,14 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b2d6edbb95487e90ffc22072879b0865ccb89a80)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-mem.c | 4 +++
- drivers/usb/host/xhci-ring.c | 5 ++++
- drivers/usb/host/xhci-trace.h | 65 +++++++++++++++++++++++++++++++++++++++++++
+ drivers/usb/host/xhci-mem.c | 4 ++
+ drivers/usb/host/xhci-ring.c | 5 +++
+ drivers/usb/host/xhci-trace.h | 65 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 74 insertions(+)
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index 4f28cfebe302..3fc323b92cc8 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -288,6 +288,8 @@ void xhci_ring_free(struct xhci_hcd *xhci, struct xhci_ring *ring)
+@@ -288,6 +288,8 @@ void xhci_ring_free(struct xhci_hcd *xhc
if (!ring)
return;
@@ -39,7 +37,7 @@ index 4f28cfebe302..3fc323b92cc8 100644
if (ring->first_seg) {
if (ring->type == TYPE_STREAM)
xhci_remove_stream_mapping(ring);
-@@ -400,6 +402,7 @@ static struct xhci_ring *xhci_ring_alloc(struct xhci_hcd *xhci,
+@@ -400,6 +402,7 @@ static struct xhci_ring *xhci_ring_alloc
cpu_to_le32(LINK_TOGGLE);
}
xhci_initialize_ring_info(ring, cycle_state);
@@ -47,7 +45,7 @@ index 4f28cfebe302..3fc323b92cc8 100644
return ring;
fail:
-@@ -504,6 +507,7 @@ int xhci_ring_expansion(struct xhci_hcd *xhci, struct xhci_ring *ring,
+@@ -504,6 +507,7 @@ int xhci_ring_expansion(struct xhci_hcd
}
xhci_link_rings(xhci, ring, first, last, num_segs);
@@ -55,11 +53,9 @@ index 4f28cfebe302..3fc323b92cc8 100644
xhci_dbg_trace(xhci, trace_xhci_dbg_ring_expansion,
"ring expansion succeed, now has %d segments",
ring->num_segs);
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index c8910fd9b34c..28ea69338ed1 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -191,6 +191,9 @@ static void inc_deq(struct xhci_hcd *xhci, struct xhci_ring *ring)
+@@ -191,6 +191,9 @@ static void inc_deq(struct xhci_hcd *xhc
ring->deq_seg = ring->deq_seg->next;
ring->dequeue = ring->deq_seg->trbs;
}
@@ -69,7 +65,7 @@ index c8910fd9b34c..28ea69338ed1 100644
return;
}
-@@ -259,6 +262,8 @@ static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring,
+@@ -259,6 +262,8 @@ static void inc_enq(struct xhci_hcd *xhc
ring->enqueue = ring->enq_seg->trbs;
next = ring->enqueue;
}
@@ -78,11 +74,9 @@ index c8910fd9b34c..28ea69338ed1 100644
}
/*
-diff --git a/drivers/usb/host/xhci-trace.h b/drivers/usb/host/xhci-trace.h
-index f24a45ae153d..3c14b9e27c49 100644
--- a/drivers/usb/host/xhci-trace.h
+++ b/drivers/usb/host/xhci-trace.h
-@@ -386,6 +386,71 @@ DEFINE_EVENT(xhci_log_slot_ctx, xhci_handle_cmd_set_deq,
+@@ -386,6 +386,71 @@ DEFINE_EVENT(xhci_log_slot_ctx, xhci_han
TP_ARGS(ctx)
);
@@ -154,6 +148,3 @@ index f24a45ae153d..3c14b9e27c49 100644
#endif /* __XHCI_TRACE_H */
/* this part must be outside header guard */
---
-2.13.3
-
diff --git a/patches.renesas/0189-usb-xhci-remove-xhci_dbg_ep_rings.patch b/patches.renesas/0189-usb-xhci-remove-xhci_dbg_ep_rings.patch
index 54b03f0014f3af..d9dd1cd3959be3 100644
--- a/patches.renesas/0189-usb-xhci-remove-xhci_dbg_ep_rings.patch
+++ b/patches.renesas/0189-usb-xhci-remove-xhci_dbg_ep_rings.patch
@@ -12,15 +12,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b7d09fe863561014085503986cb202f4111be347)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-dbg.c | 24 ------------------------
- drivers/usb/host/xhci.h | 3 ---
+ drivers/usb/host/xhci-dbg.c | 24 ------------------------
+ drivers/usb/host/xhci.h | 3 ---
2 files changed, 27 deletions(-)
-diff --git a/drivers/usb/host/xhci-dbg.c b/drivers/usb/host/xhci-dbg.c
-index 4cfdd51340d4..f6d30314348d 100644
--- a/drivers/usb/host/xhci-dbg.c
+++ b/drivers/usb/host/xhci-dbg.c
-@@ -381,30 +381,6 @@ void xhci_debug_ring(struct xhci_hcd *xhci, struct xhci_ring *ring)
+@@ -381,30 +381,6 @@ void xhci_debug_ring(struct xhci_hcd *xh
xhci_debug_segment(xhci, seg);
}
@@ -51,11 +49,9 @@ index 4cfdd51340d4..f6d30314348d 100644
void xhci_dbg_erst(struct xhci_hcd *xhci, struct xhci_erst *erst)
{
u64 addr = erst->erst_dma_addr;
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 9e24d2890b4d..f5ed359ad8e9 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1934,9 +1934,6 @@ void xhci_dbg_ring_ptrs(struct xhci_hcd *xhci, struct xhci_ring *ring);
+@@ -1936,9 +1936,6 @@ void xhci_dbg_ring_ptrs(struct xhci_hcd
void xhci_dbg_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx, unsigned int last_ep);
char *xhci_get_slot_state(struct xhci_hcd *xhci,
struct xhci_container_ctx *ctx);
@@ -65,6 +61,3 @@ index 9e24d2890b4d..f5ed359ad8e9 100644
void xhci_dbg_trace(struct xhci_hcd *xhci, void (*trace)(struct va_format *),
const char *fmt, ...);
---
-2.13.3
-
diff --git a/patches.renesas/0190-usb-xhci-make-several-functions-static.patch b/patches.renesas/0190-usb-xhci-make-several-functions-static.patch
index f117db15952ce1..a7eb73b19f8a2c 100644
--- a/patches.renesas/0190-usb-xhci-make-several-functions-static.patch
+++ b/patches.renesas/0190-usb-xhci-make-several-functions-static.patch
@@ -12,15 +12,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 3969384cf88aa2726afb05ad5d1c6ec27e670f07)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci.c | 59 +++++++++++++++++++++++++------------------------
- drivers/usb/host/xhci.h | 41 ----------------------------------
+ drivers/usb/host/xhci.c | 59 ++++++++++++++++++++++++------------------------
+ drivers/usb/host/xhci.h | 41 ---------------------------------
2 files changed, 30 insertions(+), 70 deletions(-)
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 388bf2f1b661..7867b2d3b693 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -539,7 +539,7 @@ static int xhci_all_ports_seen_u0(struct xhci_hcd *xhci)
+@@ -542,7 +542,7 @@ static int xhci_all_ports_seen_u0(struct
* device contexts (?), set up a command ring segment (or two?), create event
* ring (one for now).
*/
@@ -29,7 +27,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
int retval = 0;
-@@ -682,7 +682,7 @@ EXPORT_SYMBOL_GPL(xhci_run);
+@@ -685,7 +685,7 @@ EXPORT_SYMBOL_GPL(xhci_run);
* Disable device contexts, disable IRQs, and quiesce the HC.
* Reset the HC, finish any completed transactions, and cleanup memory.
*/
@@ -38,7 +36,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
u32 temp;
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
-@@ -743,7 +743,7 @@ void xhci_stop(struct usb_hcd *hcd)
+@@ -746,7 +746,7 @@ void xhci_stop(struct usb_hcd *hcd)
*
* This will only ever be called with the main usb_hcd (the USB3 roothub).
*/
@@ -47,7 +45,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
-@@ -1176,7 +1176,7 @@ unsigned int xhci_get_endpoint_address(unsigned int ep_index)
+@@ -1182,7 +1182,7 @@ unsigned int xhci_get_endpoint_address(u
* endpoint index to create a bitmask. The slot context is bit 0, endpoint 0 is
* bit 1, etc.
*/
@@ -56,7 +54,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
return 1 << (xhci_get_endpoint_index(desc) + 1);
}
-@@ -1185,7 +1185,7 @@ unsigned int xhci_get_endpoint_flag(struct usb_endpoint_descriptor *desc)
+@@ -1191,7 +1191,7 @@ unsigned int xhci_get_endpoint_flag(stru
* endpoint index to create a bitmask. The slot context is bit 0, endpoint 0 is
* bit 1, etc.
*/
@@ -65,7 +63,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
return 1 << (ep_index + 1);
}
-@@ -1329,7 +1329,7 @@ static int xhci_check_maxpacket(struct xhci_hcd *xhci, unsigned int slot_id,
+@@ -1335,7 +1335,7 @@ command_cleanup:
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
@@ -74,7 +72,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
unsigned long flags;
-@@ -1465,7 +1465,7 @@ int xhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb, gfp_t mem_flags)
+@@ -1471,7 +1471,7 @@ free_priv:
* Note that this function can be called in any context, or so says
* usb_hcd_unlink_urb()
*/
@@ -83,7 +81,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
unsigned long flags;
int ret, i;
-@@ -1582,7 +1582,7 @@ int xhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status)
+@@ -1588,7 +1588,7 @@ err_giveback:
* disabled, so there's no need for mutual exclusion to protect
* the xhci->devs[slot_id] structure.
*/
@@ -92,7 +90,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct usb_host_endpoint *ep)
{
struct xhci_hcd *xhci;
-@@ -1665,7 +1665,7 @@ int xhci_drop_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -1671,7 +1671,7 @@ int xhci_drop_endpoint(struct usb_hcd *h
* configuration or alt setting is installed in the device, so there's no need
* for mutual exclusion to protect the xhci->devs[slot_id] structure.
*/
@@ -101,7 +99,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct usb_host_endpoint *ep)
{
struct xhci_hcd *xhci;
-@@ -2336,7 +2336,7 @@ static unsigned int xhci_get_ss_bw_consumed(struct xhci_bw_info *ep_bw)
+@@ -2342,7 +2342,7 @@ static unsigned int xhci_get_ss_bw_consu
}
@@ -110,7 +108,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct xhci_bw_info *ep_bw,
struct xhci_interval_bw_table *bw_table,
struct usb_device *udev,
-@@ -2701,7 +2701,7 @@ static void xhci_check_bw_drop_ep_streams(struct xhci_hcd *xhci,
+@@ -2707,7 +2707,7 @@ static void xhci_check_bw_drop_ep_stream
* else should be touching the xhci->devs[slot_id] structure, so we
* don't need to take the xhci->lock for manipulating that.
*/
@@ -119,7 +117,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
int i;
int ret = 0;
-@@ -2805,7 +2805,7 @@ int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -2811,7 +2811,7 @@ command_cleanup:
return ret;
}
@@ -128,7 +126,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
struct xhci_hcd *xhci;
struct xhci_virt_device *virt_dev;
-@@ -2931,7 +2931,7 @@ void xhci_cleanup_stalled_ring(struct xhci_hcd *xhci,
+@@ -2937,7 +2937,7 @@ void xhci_cleanup_stalled_ring(struct xh
* Context: in_interrupt
*/
@@ -137,7 +135,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct usb_host_endpoint *ep)
{
struct xhci_hcd *xhci;
-@@ -3107,7 +3107,7 @@ static u32 xhci_calculate_no_streams_bitmask(struct xhci_hcd *xhci,
+@@ -3113,7 +3113,7 @@ static u32 xhci_calculate_no_streams_bit
* hardware or endpoints claim they can't support the number of requested
* stream IDs.
*/
@@ -146,7 +144,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct usb_host_endpoint **eps, unsigned int num_eps,
unsigned int num_streams, gfp_t mem_flags)
{
-@@ -3271,7 +3271,7 @@ int xhci_alloc_streams(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -3277,7 +3277,7 @@ cleanup:
* Modify the endpoint context state, submit a configure endpoint command,
* and free all endpoint rings for streams if that completes successfully.
*/
@@ -155,7 +153,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct usb_host_endpoint **eps, unsigned int num_eps,
gfp_t mem_flags)
{
-@@ -3403,7 +3403,8 @@ void xhci_free_device_endpoint_resources(struct xhci_hcd *xhci,
+@@ -3409,7 +3409,8 @@ void xhci_free_device_endpoint_resources
* re-initialization during S3/S4. In this case, call xhci_alloc_dev() to
* re-allocate the device.
*/
@@ -165,7 +163,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
int ret, i;
unsigned long flags;
-@@ -3568,7 +3569,7 @@ int xhci_discover_or_reset_device(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -3574,7 +3575,7 @@ command_cleanup:
* disconnected, and all traffic has been stopped and the endpoints have been
* disabled. Free any HC data structures associated with that device.
*/
@@ -174,7 +172,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
struct xhci_virt_device *virt_dev;
-@@ -3957,12 +3958,12 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -3963,12 +3964,12 @@ out:
return ret;
}
@@ -189,7 +187,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
return xhci_setup_device(hcd, udev, SETUP_CONTEXT_ONLY);
}
-@@ -4119,7 +4120,7 @@ static int xhci_calculate_usb2_hw_lpm_params(struct usb_device *udev)
+@@ -4125,7 +4126,7 @@ static int xhci_calculate_usb2_hw_lpm_pa
return PORT_BESLD(besld) | PORT_L1_TIMEOUT(l1) | PORT_HIRDM(hirdm);
}
@@ -198,7 +196,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct usb_device *udev, int enable)
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
-@@ -4243,7 +4244,7 @@ static int xhci_check_usb2_port_capability(struct xhci_hcd *xhci, int port,
+@@ -4249,7 +4250,7 @@ static int xhci_check_usb2_port_capabili
return 0;
}
@@ -207,7 +205,7 @@ index 388bf2f1b661..7867b2d3b693 100644
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
int portnum = udev->portnum - 1;
-@@ -4652,7 +4653,7 @@ static int calculate_max_exit_latency(struct usb_device *udev,
+@@ -4658,7 +4659,7 @@ static int calculate_max_exit_latency(st
}
/* Returns the USB3 hub-encoded value for the U1/U2 timeout. */
@@ -216,7 +214,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct usb_device *udev, enum usb3_link_state state)
{
struct xhci_hcd *xhci;
-@@ -4683,7 +4684,7 @@ int xhci_enable_usb3_lpm_timeout(struct usb_hcd *hcd,
+@@ -4689,7 +4690,7 @@ int xhci_enable_usb3_lpm_timeout(struct
return hub_encoded_timeout;
}
@@ -225,7 +223,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct usb_device *udev, enum usb3_link_state state)
{
struct xhci_hcd *xhci;
-@@ -4699,24 +4700,24 @@ int xhci_disable_usb3_lpm_timeout(struct usb_hcd *hcd,
+@@ -4705,24 +4706,24 @@ int xhci_disable_usb3_lpm_timeout(struct
}
#else /* CONFIG_PM */
@@ -254,7 +252,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct usb_device *udev, enum usb3_link_state state)
{
return 0;
-@@ -4728,7 +4729,7 @@ int xhci_disable_usb3_lpm_timeout(struct usb_hcd *hcd,
+@@ -4734,7 +4735,7 @@ int xhci_disable_usb3_lpm_timeout(struct
/* Once a hub descriptor is fetched for a device, we need to update the xHC's
* internal data structures for the device.
*/
@@ -263,7 +261,7 @@ index 388bf2f1b661..7867b2d3b693 100644
struct usb_tt *tt, gfp_t mem_flags)
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
-@@ -4834,7 +4835,7 @@ int xhci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev,
+@@ -4840,7 +4841,7 @@ int xhci_update_hub_device(struct usb_hc
return ret;
}
@@ -272,11 +270,9 @@ index 388bf2f1b661..7867b2d3b693 100644
{
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
/* EHCI mods by the periodic size. Why? */
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index f5ed359ad8e9..8b360f60d81e 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1947,16 +1947,8 @@ void xhci_copy_ep0_dequeue_into_input_ctx(struct xhci_hcd *xhci,
+@@ -1949,16 +1949,8 @@ void xhci_copy_ep0_dequeue_into_input_ct
struct usb_device *udev);
unsigned int xhci_get_endpoint_index(struct usb_endpoint_descriptor *desc);
unsigned int xhci_get_endpoint_address(unsigned int ep_index);
@@ -293,7 +289,7 @@ index f5ed359ad8e9..8b360f60d81e 100644
void xhci_update_tt_active_eps(struct xhci_hcd *xhci,
struct xhci_virt_device *virt_dev,
int old_active_eps);
-@@ -2015,10 +2007,7 @@ void xhci_quiesce(struct xhci_hcd *xhci);
+@@ -2017,10 +2009,7 @@ void xhci_quiesce(struct xhci_hcd *xhci)
int xhci_halt(struct xhci_hcd *xhci);
int xhci_start(struct xhci_hcd *xhci);
int xhci_reset(struct xhci_hcd *xhci);
@@ -304,7 +300,7 @@ index f5ed359ad8e9..8b360f60d81e 100644
int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks);
void xhci_init_driver(struct hc_driver *drv,
const struct xhci_driver_overrides *over);
-@@ -2033,36 +2022,13 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated);
+@@ -2035,36 +2024,13 @@ int xhci_resume(struct xhci_hcd *xhci, b
#define xhci_resume NULL
#endif
@@ -341,7 +337,7 @@ index f5ed359ad8e9..8b360f60d81e 100644
/* xHCI ring, segment, TRB, and TD functions */
dma_addr_t xhci_trb_virt_to_dma(struct xhci_segment *seg, union xhci_trb *trb);
-@@ -2106,9 +2072,6 @@ void xhci_queue_new_dequeue_state(struct xhci_hcd *xhci,
+@@ -2108,9 +2074,6 @@ void xhci_queue_new_dequeue_state(struct
struct xhci_dequeue_state *deq_state);
void xhci_cleanup_stalled_ring(struct xhci_hcd *xhci,
unsigned int ep_index, struct xhci_td *td);
@@ -351,7 +347,7 @@ index f5ed359ad8e9..8b360f60d81e 100644
void xhci_stop_endpoint_command_watchdog(unsigned long arg);
void xhci_handle_command_timeout(struct work_struct *work);
-@@ -2119,10 +2082,6 @@ void xhci_cleanup_command_queue(struct xhci_hcd *xhci);
+@@ -2121,10 +2084,6 @@ void xhci_cleanup_command_queue(struct x
/* xHCI roothub code */
void xhci_set_link_state(struct xhci_hcd *xhci, __le32 __iomem **port_array,
int port_id, u32 link_state);
@@ -362,6 +358,3 @@ index f5ed359ad8e9..8b360f60d81e 100644
void xhci_test_and_clear_bit(struct xhci_hcd *xhci, __le32 __iomem **port_array,
int port_id, u32 port_bit);
int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex,
---
-2.13.3
-
diff --git a/patches.renesas/0191-usb-xhci-remove-error-messages-for-failed-memory-all.patch b/patches.renesas/0191-usb-xhci-remove-error-messages-for-failed-memory-all.patch
index e0c607acfe24c8..9be3727b9b2a55 100644
--- a/patches.renesas/0191-usb-xhci-remove-error-messages-for-failed-memory-all.patch
+++ b/patches.renesas/0191-usb-xhci-remove-error-messages-for-failed-memory-all.patch
@@ -12,17 +12,15 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 74e0b5649c26428a4b87f496cef0df8307eff364)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-hub.c | 4 +---
- drivers/usb/host/xhci-mem.c | 1 -
- drivers/usb/host/xhci-ring.c | 10 ++++------
- drivers/usb/host/xhci.c | 13 +++++++------
+ drivers/usb/host/xhci-hub.c | 4 +---
+ drivers/usb/host/xhci-mem.c | 1 -
+ drivers/usb/host/xhci-ring.c | 10 ++++------
+ drivers/usb/host/xhci.c | 13 +++++++------
4 files changed, 12 insertions(+), 16 deletions(-)
-diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
-index 0b88e76251eb..ab818bd5d0ac 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
-@@ -392,10 +392,8 @@ static int xhci_stop_device(struct xhci_hcd *xhci, int slot_id, int suspend)
+@@ -392,10 +392,8 @@ static int xhci_stop_device(struct xhci_
trace_xhci_stop_device(virt_dev);
cmd = xhci_alloc_command(xhci, false, true, GFP_NOIO);
@@ -34,11 +32,9 @@ index 0b88e76251eb..ab818bd5d0ac 100644
spin_lock_irqsave(&xhci->lock, flags);
for (i = LAST_EP_INDEX; i > 0; i--) {
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index 3fc323b92cc8..e2e27a332e9a 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -2619,7 +2619,6 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags)
+@@ -2619,7 +2619,6 @@ int xhci_mem_init(struct xhci_hcd *xhci,
return 0;
fail:
@@ -46,11 +42,9 @@ index 3fc323b92cc8..e2e27a332e9a 100644
xhci_halt(xhci);
xhci_reset(xhci);
xhci_mem_cleanup(xhci);
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index 28ea69338ed1..deb318e0c679 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -1135,11 +1135,11 @@ static void xhci_handle_cmd_reset_ep(struct xhci_hcd *xhci, int slot_id,
+@@ -1138,11 +1138,11 @@ static void xhci_handle_cmd_reset_ep(str
*/
if (xhci->quirks & XHCI_RESET_EP_QUIRK) {
struct xhci_command *command;
@@ -65,7 +59,7 @@ index 28ea69338ed1..deb318e0c679 100644
xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
"Queueing configure endpoint command");
xhci_queue_configure_endpoint(xhci, command,
-@@ -4015,10 +4015,8 @@ void xhci_queue_new_dequeue_state(struct xhci_hcd *xhci,
+@@ -4018,10 +4018,8 @@ void xhci_queue_new_dequeue_state(struct
/* This function gets called from contexts where it cannot sleep */
cmd = xhci_alloc_command(xhci, false, false, GFP_ATOMIC);
@@ -77,11 +71,9 @@ index 28ea69338ed1..deb318e0c679 100644
ep->queued_deq_seg = deq_state->new_deq_seg;
ep->queued_deq_ptr = deq_state->new_deq_ptr;
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 7867b2d3b693..e0392564ed33 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -661,9 +661,11 @@ int xhci_run(struct usb_hcd *hcd)
+@@ -664,9 +664,11 @@ int xhci_run(struct usb_hcd *hcd)
if (xhci->quirks & XHCI_NEC_HOST) {
struct xhci_command *command;
@@ -93,7 +85,7 @@ index 7867b2d3b693..e0392564ed33 100644
xhci_queue_vendor_command(xhci, command, 0, 0, 0,
TRB_TYPE(TRB_NEC_GET_FW));
}
-@@ -3141,10 +3143,9 @@ static int xhci_alloc_streams(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -3147,10 +3149,9 @@ static int xhci_alloc_streams(struct usb
}
config_cmd = xhci_alloc_command(xhci, true, true, mem_flags);
@@ -106,7 +98,7 @@ index 7867b2d3b693..e0392564ed33 100644
ctrl_ctx = xhci_get_input_control_ctx(config_cmd->in_ctx);
if (!ctrl_ctx) {
xhci_warn(xhci, "%s: Could not get input context, bad type.\n",
-@@ -4750,11 +4751,11 @@ static int xhci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev,
+@@ -4756,11 +4757,11 @@ static int xhci_update_hub_device(struct
xhci_warn(xhci, "Cannot update hub desc for unknown device.\n");
return -EINVAL;
}
@@ -121,6 +113,3 @@ index 7867b2d3b693..e0392564ed33 100644
ctrl_ctx = xhci_get_input_control_ctx(config_cmd->in_ctx);
if (!ctrl_ctx) {
xhci_warn(xhci, "%s: Could not get input context, bad type.\n",
---
-2.13.3
-
diff --git a/patches.renesas/0192-usb-xhci-remove-enq_updates-and-deq_updates-from-rin.patch b/patches.renesas/0192-usb-xhci-remove-enq_updates-and-deq_updates-from-rin.patch
index 94ab3faf582c37..433ba580902f98 100644
--- a/patches.renesas/0192-usb-xhci-remove-enq_updates-and-deq_updates-from-rin.patch
+++ b/patches.renesas/0192-usb-xhci-remove-enq_updates-and-deq_updates-from-rin.patch
@@ -16,17 +16,15 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit cd12fd9f6d05d1b2b9ff2630802c55b5fd2e534c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-dbg.c | 8 --------
- drivers/usb/host/xhci-mem.c | 3 ---
- drivers/usb/host/xhci-ring.c | 3 ---
- drivers/usb/host/xhci.h | 2 --
+ drivers/usb/host/xhci-dbg.c | 8 --------
+ drivers/usb/host/xhci-mem.c | 3 ---
+ drivers/usb/host/xhci-ring.c | 3 ---
+ drivers/usb/host/xhci.h | 2 --
4 files changed, 16 deletions(-)
-diff --git a/drivers/usb/host/xhci-dbg.c b/drivers/usb/host/xhci-dbg.c
-index f6d30314348d..21c563f9a98d 100644
--- a/drivers/usb/host/xhci-dbg.c
+++ b/drivers/usb/host/xhci-dbg.c
-@@ -347,14 +347,10 @@ void xhci_dbg_ring_ptrs(struct xhci_hcd *xhci, struct xhci_ring *ring)
+@@ -347,14 +347,10 @@ void xhci_dbg_ring_ptrs(struct xhci_hcd
ring->dequeue,
(unsigned long long)xhci_trb_virt_to_dma(ring->deq_seg,
ring->dequeue));
@@ -41,7 +39,7 @@ index f6d30314348d..21c563f9a98d 100644
}
/**
-@@ -373,10 +369,6 @@ void xhci_debug_ring(struct xhci_hcd *xhci, struct xhci_ring *ring)
+@@ -373,10 +369,6 @@ void xhci_debug_ring(struct xhci_hcd *xh
struct xhci_segment *first_seg = ring->first_seg;
xhci_debug_segment(xhci, first_seg);
@@ -52,11 +50,9 @@ index f6d30314348d..21c563f9a98d 100644
for (seg = first_seg->next; seg != first_seg; seg = seg->next)
xhci_debug_segment(xhci, seg);
}
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index e2e27a332e9a..9b37ef13bf3a 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -315,9 +315,6 @@ static void xhci_initialize_ring_info(struct xhci_ring *ring,
+@@ -315,9 +315,6 @@ static void xhci_initialize_ring_info(st
* handling ring expansion, set the cycle state equal to the old ring.
*/
ring->cycle_state = cycle_state;
@@ -66,11 +62,9 @@ index e2e27a332e9a..9b37ef13bf3a 100644
/*
* Each segment has a link TRB, and leave an extra TRB for SW
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index deb318e0c679..b382cf071562 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -167,8 +167,6 @@ static void next_trb(struct xhci_hcd *xhci,
+@@ -167,8 +167,6 @@ static void next_trb(struct xhci_hcd *xh
*/
static void inc_deq(struct xhci_hcd *xhci, struct xhci_ring *ring)
{
@@ -79,7 +73,7 @@ index deb318e0c679..b382cf071562 100644
/* event ring doesn't have link trbs, check for last trb */
if (ring->type == TYPE_EVENT) {
if (!last_trb_on_seg(ring->deq_seg, ring->dequeue)) {
-@@ -226,7 +224,6 @@ static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring,
+@@ -226,7 +224,6 @@ static void inc_enq(struct xhci_hcd *xhc
ring->num_trbs_free--;
next = ++(ring->enqueue);
@@ -87,8 +81,6 @@ index deb318e0c679..b382cf071562 100644
/* Update the dequeue pointer further if that was a link TRB */
while (trb_is_link(next)) {
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 8b360f60d81e..770947b4e9a8 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1566,10 +1566,8 @@ struct xhci_ring {
@@ -102,6 +94,3 @@ index 8b360f60d81e..770947b4e9a8 100644
struct list_head td_list;
/*
* Write the cycle state into the TRB cycle field to give ownership of
---
-2.13.3
-
diff --git a/patches.renesas/0193-usb-xhci-remove-ring-debugging-code.patch b/patches.renesas/0193-usb-xhci-remove-ring-debugging-code.patch
index d23bd94f8a709b..771c667b964ec8 100644
--- a/patches.renesas/0193-usb-xhci-remove-ring-debugging-code.patch
+++ b/patches.renesas/0193-usb-xhci-remove-ring-debugging-code.patch
@@ -13,17 +13,15 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 121dcf11908ecea252776c8268aab117f91aa1f5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-dbg.c | 62 --------------------------------------------
- drivers/usb/host/xhci-ring.c | 4 ---
- drivers/usb/host/xhci.c | 6 -----
- drivers/usb/host/xhci.h | 3 ---
+ drivers/usb/host/xhci-dbg.c | 62 -------------------------------------------
+ drivers/usb/host/xhci-ring.c | 4 --
+ drivers/usb/host/xhci.c | 6 ----
+ drivers/usb/host/xhci.h | 3 --
4 files changed, 75 deletions(-)
-diff --git a/drivers/usb/host/xhci-dbg.c b/drivers/usb/host/xhci-dbg.c
-index 21c563f9a98d..77f80ceeccab 100644
--- a/drivers/usb/host/xhci-dbg.c
+++ b/drivers/usb/host/xhci-dbg.c
-@@ -311,68 +311,6 @@ void xhci_debug_trb(struct xhci_hcd *xhci, union xhci_trb *trb)
+@@ -311,68 +311,6 @@ void xhci_debug_trb(struct xhci_hcd *xhc
}
}
@@ -92,11 +90,9 @@ index 21c563f9a98d..77f80ceeccab 100644
void xhci_dbg_erst(struct xhci_hcd *xhci, struct xhci_erst *erst)
{
u64 addr = erst->erst_dma_addr;
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index b382cf071562..a2bfd75b1ae6 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -2292,8 +2292,6 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2295,8 +2295,6 @@ static int handle_tx_event(struct xhci_h
upper_32_bits(le64_to_cpu(event->buffer)),
le32_to_cpu(event->transfer_len),
le32_to_cpu(event->flags));
@@ -105,7 +101,7 @@ index b382cf071562..a2bfd75b1ae6 100644
return -ENODEV;
}
-@@ -2314,8 +2312,6 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2317,8 +2315,6 @@ static int handle_tx_event(struct xhci_h
upper_32_bits(le64_to_cpu(event->buffer)),
le32_to_cpu(event->transfer_len),
le32_to_cpu(event->flags));
@@ -114,11 +110,9 @@ index b382cf071562..a2bfd75b1ae6 100644
return -ENODEV;
}
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index e0392564ed33..7ac9a84376dc 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -619,16 +619,10 @@ int xhci_run(struct usb_hcd *hcd)
+@@ -622,16 +622,10 @@ int xhci_run(struct usb_hcd *hcd)
if (ret)
return ret;
@@ -135,11 +129,9 @@ index e0392564ed33..7ac9a84376dc 100644
temp_64 = xhci_read_64(xhci, &xhci->ir_set->erst_dequeue);
temp_64 &= ~ERST_PTR_MASK;
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 770947b4e9a8..b7338a303e40 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1924,11 +1924,8 @@ void xhci_dbg_regs(struct xhci_hcd *xhci);
+@@ -1926,11 +1926,8 @@ void xhci_dbg_regs(struct xhci_hcd *xhci
void xhci_print_run_regs(struct xhci_hcd *xhci);
void xhci_print_trb_offsets(struct xhci_hcd *xhci, union xhci_trb *trb);
void xhci_debug_trb(struct xhci_hcd *xhci, union xhci_trb *trb);
@@ -151,6 +143,3 @@ index 770947b4e9a8..b7338a303e40 100644
void xhci_dbg_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx, unsigned int last_ep);
char *xhci_get_slot_state(struct xhci_hcd *xhci,
struct xhci_container_ctx *ctx);
---
-2.13.3
-
diff --git a/patches.renesas/0194-usb-xhci-remove-xhci_debug_trb.patch b/patches.renesas/0194-usb-xhci-remove-xhci_debug_trb.patch
index 7b299402b23c4a..99fa7b3fae0d21 100644
--- a/patches.renesas/0194-usb-xhci-remove-xhci_debug_trb.patch
+++ b/patches.renesas/0194-usb-xhci-remove-xhci_debug_trb.patch
@@ -13,16 +13,14 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 8c10152ec52b850f9806c5c2f5a93ebe38838959)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-dbg.c | 57 --------------------------------------------
- drivers/usb/host/xhci-ring.c | 4 ----
- drivers/usb/host/xhci.h | 2 --
+ drivers/usb/host/xhci-dbg.c | 57 -------------------------------------------
+ drivers/usb/host/xhci-ring.c | 4 ---
+ drivers/usb/host/xhci.h | 2 -
3 files changed, 63 deletions(-)
-diff --git a/drivers/usb/host/xhci-dbg.c b/drivers/usb/host/xhci-dbg.c
-index 77f80ceeccab..dc0194b87b74 100644
--- a/drivers/usb/host/xhci-dbg.c
+++ b/drivers/usb/host/xhci-dbg.c
-@@ -254,63 +254,6 @@ void xhci_print_registers(struct xhci_hcd *xhci)
+@@ -254,63 +254,6 @@ void xhci_print_registers(struct xhci_hc
xhci_print_ports(xhci);
}
@@ -86,11 +84,9 @@ index 77f80ceeccab..dc0194b87b74 100644
void xhci_dbg_erst(struct xhci_hcd *xhci, struct xhci_erst *erst)
{
u64 addr = erst->erst_dma_addr;
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index a2bfd75b1ae6..74bf5c60a260 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -2463,10 +2463,6 @@ static int handle_tx_event(struct xhci_hcd *xhci,
+@@ -2466,10 +2466,6 @@ static int handle_tx_event(struct xhci_h
xhci_warn(xhci, "WARN Event TRB for slot %d ep %d with no TDs queued?\n",
TRB_TO_SLOT_ID(le32_to_cpu(event->flags)),
ep_index);
@@ -101,11 +97,9 @@ index a2bfd75b1ae6..74bf5c60a260 100644
}
if (ep->skip) {
ep->skip = false;
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index b7338a303e40..ed6d094381af 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1922,8 +1922,6 @@ void xhci_print_ir_set(struct xhci_hcd *xhci, int set_num);
+@@ -1924,8 +1924,6 @@ void xhci_print_ir_set(struct xhci_hcd *
void xhci_print_registers(struct xhci_hcd *xhci);
void xhci_dbg_regs(struct xhci_hcd *xhci);
void xhci_print_run_regs(struct xhci_hcd *xhci);
@@ -114,6 +108,3 @@ index b7338a303e40..ed6d094381af 100644
void xhci_dbg_erst(struct xhci_hcd *xhci, struct xhci_erst *erst);
void xhci_dbg_cmd_ptrs(struct xhci_hcd *xhci);
void xhci_dbg_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx, unsigned int last_ep);
---
-2.13.3
-
diff --git a/patches.renesas/0195-usb-xhci-remove-xhci_dbg_ctx.patch b/patches.renesas/0195-usb-xhci-remove-xhci_dbg_ctx.patch
index f380edff1e179b..636a6ab27b0c55 100644
--- a/patches.renesas/0195-usb-xhci-remove-xhci_dbg_ctx.patch
+++ b/patches.renesas/0195-usb-xhci-remove-xhci_dbg_ctx.patch
@@ -13,16 +13,14 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c8844f2ddb0d2bc42a813c567ad4240759f373bd)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-dbg.c | 143 --------------------------------------------
- drivers/usb/host/xhci.c | 37 ------------
- drivers/usb/host/xhci.h | 1 -
+ drivers/usb/host/xhci-dbg.c | 143 --------------------------------------------
+ drivers/usb/host/xhci.c | 37 -----------
+ drivers/usb/host/xhci.h | 1
3 files changed, 181 deletions(-)
-diff --git a/drivers/usb/host/xhci-dbg.c b/drivers/usb/host/xhci-dbg.c
-index dc0194b87b74..2c83b37ae8f2 100644
--- a/drivers/usb/host/xhci-dbg.c
+++ b/drivers/usb/host/xhci-dbg.c
-@@ -283,19 +283,6 @@ void xhci_dbg_cmd_ptrs(struct xhci_hcd *xhci)
+@@ -283,19 +283,6 @@ void xhci_dbg_cmd_ptrs(struct xhci_hcd *
upper_32_bits(val));
}
@@ -42,7 +40,7 @@ index dc0194b87b74..2c83b37ae8f2 100644
char *xhci_get_slot_state(struct xhci_hcd *xhci,
struct xhci_container_ctx *ctx)
{
-@@ -305,136 +292,6 @@ char *xhci_get_slot_state(struct xhci_hcd *xhci,
+@@ -305,136 +292,6 @@ char *xhci_get_slot_state(struct xhci_hc
return xhci_slot_state_string(state);
}
@@ -179,11 +177,9 @@ index dc0194b87b74..2c83b37ae8f2 100644
void xhci_dbg_trace(struct xhci_hcd *xhci, void (*trace)(struct va_format *),
const char *fmt, ...)
{
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 7ac9a84376dc..dd2b42f52d99 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1302,11 +1302,6 @@ static int xhci_check_maxpacket(struct xhci_hcd *xhci, unsigned int slot_id,
+@@ -1308,11 +1308,6 @@ static int xhci_check_maxpacket(struct x
ctrl_ctx->add_flags = cpu_to_le32(EP0_FLAG);
ctrl_ctx->drop_flags = 0;
@@ -195,7 +191,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
ret = xhci_configure_endpoint(xhci, urb->dev, command,
true, false);
-@@ -1854,7 +1849,6 @@ static int xhci_evaluate_context_result(struct xhci_hcd *xhci,
+@@ -1860,7 +1855,6 @@ static int xhci_evaluate_context_result(
struct usb_device *udev, u32 *cmd_status)
{
int ret;
@@ -203,7 +199,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
switch (*cmd_status) {
case COMP_COMMAND_ABORTED:
-@@ -1875,7 +1869,6 @@ static int xhci_evaluate_context_result(struct xhci_hcd *xhci,
+@@ -1881,7 +1875,6 @@ static int xhci_evaluate_context_result(
case COMP_CONTEXT_STATE_ERROR:
dev_warn(&udev->dev,
"WARN: invalid context state for evaluate context command.\n");
@@ -211,7 +207,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
ret = -EINVAL;
break;
case COMP_INCOMPATIBLE_DEVICE_ERROR:
-@@ -2754,9 +2747,6 @@ static int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -2760,9 +2753,6 @@ static int xhci_check_bandwidth(struct u
break;
}
}
@@ -221,7 +217,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
ret = xhci_configure_endpoint(xhci, udev, command,
false, false);
-@@ -2764,10 +2754,6 @@ static int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -2770,10 +2760,6 @@ static int xhci_check_bandwidth(struct u
/* Callee should call reset_bandwidth() */
goto command_cleanup;
@@ -232,7 +228,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
/* Free any rings that were dropped, but not changed. */
for (i = 1; i < 31; i++) {
if ((le32_to_cpu(ctrl_ctx->drop_flags) & (1 << (i + 1))) &&
-@@ -2834,9 +2820,6 @@ static void xhci_setup_input_ctx_for_config_ep(struct xhci_hcd *xhci,
+@@ -2840,9 +2826,6 @@ static void xhci_setup_input_ctx_for_con
ctrl_ctx->drop_flags = cpu_to_le32(drop_flags);
xhci_slot_copy(xhci, in_ctx, out_ctx);
ctrl_ctx->add_flags |= cpu_to_le32(SLOT_FLAG);
@@ -242,7 +238,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
}
static void xhci_setup_input_ctx_for_quirk(struct xhci_hcd *xhci,
-@@ -3549,9 +3532,6 @@ static int xhci_discover_or_reset_device(struct usb_hcd *hcd,
+@@ -3555,9 +3538,6 @@ static int xhci_discover_or_reset_device
}
/* If necessary, update the number of active TTs on this root port */
xhci_update_tt_active_eps(xhci, virt_dev, old_active_eps);
@@ -252,7 +248,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
ret = 0;
command_cleanup:
-@@ -3851,8 +3831,6 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -3857,8 +3837,6 @@ static int xhci_setup_device(struct usb_
ctrl_ctx->add_flags = cpu_to_le32(SLOT_FLAG | EP0_FLAG);
ctrl_ctx->drop_flags = 0;
@@ -261,7 +257,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
trace_xhci_address_ctx(xhci, virt_dev->in_ctx,
le32_to_cpu(slot_ctx->dev_info) >> 27);
-@@ -3905,8 +3883,6 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -3911,8 +3889,6 @@ static int xhci_setup_device(struct usb_
xhci_err(xhci,
"ERROR: unexpected setup %s command completion code 0x%x.\n",
act, command->status);
@@ -270,7 +266,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
trace_xhci_address_ctx(xhci, virt_dev->out_ctx, 1);
ret = -EINVAL;
break;
-@@ -3925,12 +3901,8 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -3931,12 +3907,8 @@ static int xhci_setup_device(struct usb_
xhci_dbg_trace(xhci, trace_xhci_dbg_address,
"Output Context DMA address = %#08llx",
(unsigned long long)virt_dev->out_ctx->dma);
@@ -283,7 +279,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
/*
* USB core uses address 1 for the roothubs, so we add one to the
* address given back to us by the HC.
-@@ -4035,14 +4007,10 @@ static int __maybe_unused xhci_change_max_exit_latency(struct xhci_hcd *xhci,
+@@ -4041,14 +4013,10 @@ static int __maybe_unused xhci_change_ma
xhci_dbg_trace(xhci, trace_xhci_dbg_context_change,
"Set up evaluate context for LPM MEL change.");
@@ -298,7 +294,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
if (!ret) {
spin_lock_irqsave(&xhci->lock, flags);
-@@ -4810,8 +4778,6 @@ static int xhci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev,
+@@ -4816,8 +4784,6 @@ static int xhci_update_hub_device(struct
xhci_dbg(xhci, "Set up %s for hub device.\n",
(xhci->hci_version > 0x95) ?
"configure endpoint" : "evaluate context");
@@ -307,7 +303,7 @@ index 7ac9a84376dc..dd2b42f52d99 100644
/* Issue and wait for the configure endpoint or
* evaluate context command.
-@@ -4823,9 +4789,6 @@ static int xhci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev,
+@@ -4829,9 +4795,6 @@ static int xhci_update_hub_device(struct
ret = xhci_configure_endpoint(xhci, hdev, config_cmd,
true, false);
@@ -317,11 +313,9 @@ index 7ac9a84376dc..dd2b42f52d99 100644
xhci_free_command(xhci, config_cmd);
return ret;
}
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index ed6d094381af..064d48afe496 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1924,7 +1924,6 @@ void xhci_dbg_regs(struct xhci_hcd *xhci);
+@@ -1926,7 +1926,6 @@ void xhci_dbg_regs(struct xhci_hcd *xhci
void xhci_print_run_regs(struct xhci_hcd *xhci);
void xhci_dbg_erst(struct xhci_hcd *xhci, struct xhci_erst *erst);
void xhci_dbg_cmd_ptrs(struct xhci_hcd *xhci);
@@ -329,6 +323,3 @@ index ed6d094381af..064d48afe496 100644
char *xhci_get_slot_state(struct xhci_hcd *xhci,
struct xhci_container_ctx *ctx);
void xhci_dbg_trace(struct xhci_hcd *xhci, void (*trace)(struct va_format *),
---
-2.13.3
-
diff --git a/patches.renesas/0196-usb-xhci-fix-link-trb-decoding.patch b/patches.renesas/0196-usb-xhci-fix-link-trb-decoding.patch
index c077d4daf1aaba..18298f856d2444 100644
--- a/patches.renesas/0196-usb-xhci-fix-link-trb-decoding.patch
+++ b/patches.renesas/0196-usb-xhci-fix-link-trb-decoding.patch
@@ -13,14 +13,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 96d9a6eb97d77d6a3768f101f400c42743799bb2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci.h | 12 +++++-------
+ drivers/usb/host/xhci.h | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 064d48afe496..fcf72937e5ec 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -2136,14 +2136,12 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2138,14 +2138,12 @@ static inline const char *xhci_decode_tr
switch (type) {
case TRB_LINK:
sprintf(str,
@@ -40,6 +38,3 @@ index 064d48afe496..fcf72937e5ec 100644
field3 & TRB_CYCLE ? 'C' : 'c');
break;
case TRB_TRANSFER:
---
-2.13.3
-
diff --git a/patches.renesas/0197-usb-xhci-refine-xhci_decode_trb.patch b/patches.renesas/0197-usb-xhci-refine-xhci_decode_trb.patch
index 250d17a99b3df0..c6f736b80b830c 100644
--- a/patches.renesas/0197-usb-xhci-refine-xhci_decode_trb.patch
+++ b/patches.renesas/0197-usb-xhci-refine-xhci_decode_trb.patch
@@ -12,14 +12,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d2561626b9d126a94753ad6f048114bab702f02f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci.h | 40 ++++++++++++++++++++--------------------
+ drivers/usb/host/xhci.h | 40 ++++++++++++++++++++--------------------
1 file changed, 20 insertions(+), 20 deletions(-)
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index fcf72937e5ec..914968c662c9 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -2138,7 +2138,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2140,7 +2140,7 @@ static inline const char *xhci_decode_tr
sprintf(str,
"LINK %08x%08x intr %d type '%s' flags %c:%c:%c:%c",
field1, field0, GET_INTR_TARGET(field2),
@@ -28,7 +26,7 @@ index fcf72937e5ec..914968c662c9 100644
field3 & TRB_IOC ? 'I' : 'i',
field3 & TRB_CHAIN ? 'C' : 'c',
field3 & TRB_TC ? 'T' : 't',
-@@ -2159,7 +2159,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2161,7 +2161,7 @@ static inline const char *xhci_decode_tr
EVENT_TRB_LEN(field2), TRB_TO_SLOT_ID(field3),
/* Macro decrements 1, maybe it shouldn't?!? */
TRB_TO_EP_INDEX(field3) + 1,
@@ -37,7 +35,7 @@ index fcf72937e5ec..914968c662c9 100644
field3 & EVENT_DATA ? 'E' : 'e',
field3 & TRB_CYCLE ? 'C' : 'c');
-@@ -2176,7 +2176,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2178,7 +2178,7 @@ static inline const char *xhci_decode_tr
(field1 & 0xff0000) >> 16,
TRB_LEN(field2), GET_TD_SIZE(field2),
GET_INTR_TARGET(field2),
@@ -46,7 +44,7 @@ index fcf72937e5ec..914968c662c9 100644
field3 & TRB_IDT ? 'I' : 'i',
field3 & TRB_IOC ? 'I' : 'i',
field3 & TRB_CYCLE ? 'C' : 'c');
-@@ -2185,7 +2185,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2187,7 +2187,7 @@ static inline const char *xhci_decode_tr
sprintf(str, "Buffer %08x%08x length %d TD size %d intr %d type '%s' flags %c:%c:%c:%c:%c:%c:%c",
field1, field0, TRB_LEN(field2), GET_TD_SIZE(field2),
GET_INTR_TARGET(field2),
@@ -55,7 +53,7 @@ index fcf72937e5ec..914968c662c9 100644
field3 & TRB_IDT ? 'I' : 'i',
field3 & TRB_IOC ? 'I' : 'i',
field3 & TRB_CHAIN ? 'C' : 'c',
-@@ -2198,7 +2198,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2200,7 +2200,7 @@ static inline const char *xhci_decode_tr
sprintf(str, "Buffer %08x%08x length %d TD size %d intr %d type '%s' flags %c:%c:%c:%c",
field1, field0, TRB_LEN(field2), GET_TD_SIZE(field2),
GET_INTR_TARGET(field2),
@@ -64,7 +62,7 @@ index fcf72937e5ec..914968c662c9 100644
field3 & TRB_IOC ? 'I' : 'i',
field3 & TRB_CHAIN ? 'C' : 'c',
field3 & TRB_ENT ? 'E' : 'e',
-@@ -2212,7 +2212,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2214,7 +2214,7 @@ static inline const char *xhci_decode_tr
"Buffer %08x%08x length %d TD size %d intr %d type '%s' flags %c:%c:%c:%c:%c:%c:%c:%c",
field1, field0, TRB_LEN(field2), GET_TD_SIZE(field2),
GET_INTR_TARGET(field2),
@@ -73,7 +71,7 @@ index fcf72937e5ec..914968c662c9 100644
field3 & TRB_BEI ? 'B' : 'b',
field3 & TRB_IDT ? 'I' : 'i',
field3 & TRB_IOC ? 'I' : 'i',
-@@ -2227,21 +2227,21 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2229,21 +2229,21 @@ static inline const char *xhci_decode_tr
case TRB_ENABLE_SLOT:
sprintf(str,
"%s: flags %c",
@@ -98,7 +96,7 @@ index fcf72937e5ec..914968c662c9 100644
field1, field0,
TRB_TO_SLOT_ID(field3),
field3 & TRB_BSR ? 'B' : 'b',
-@@ -2250,7 +2250,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2252,7 +2252,7 @@ static inline const char *xhci_decode_tr
case TRB_CONFIG_EP:
sprintf(str,
"%s: ctx %08x%08x slot %d flags %c:%c",
@@ -107,7 +105,7 @@ index fcf72937e5ec..914968c662c9 100644
field1, field0,
TRB_TO_SLOT_ID(field3),
field3 & TRB_DC ? 'D' : 'd',
-@@ -2259,7 +2259,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2261,7 +2261,7 @@ static inline const char *xhci_decode_tr
case TRB_EVAL_CONTEXT:
sprintf(str,
"%s: ctx %08x%08x slot %d flags %c",
@@ -116,7 +114,7 @@ index fcf72937e5ec..914968c662c9 100644
field1, field0,
TRB_TO_SLOT_ID(field3),
field3 & TRB_CYCLE ? 'C' : 'c');
-@@ -2267,7 +2267,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2269,7 +2269,7 @@ static inline const char *xhci_decode_tr
case TRB_RESET_EP:
sprintf(str,
"%s: ctx %08x%08x slot %d ep %d flags %c",
@@ -125,7 +123,7 @@ index fcf72937e5ec..914968c662c9 100644
field1, field0,
TRB_TO_SLOT_ID(field3),
/* Macro decrements 1, maybe it shouldn't?!? */
-@@ -2277,7 +2277,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2279,7 +2279,7 @@ static inline const char *xhci_decode_tr
case TRB_STOP_RING:
sprintf(str,
"%s: slot %d sp %d ep %d flags %c",
@@ -134,7 +132,7 @@ index fcf72937e5ec..914968c662c9 100644
TRB_TO_SLOT_ID(field3),
TRB_TO_SUSPEND_PORT(field3),
/* Macro decrements 1, maybe it shouldn't?!? */
-@@ -2287,7 +2287,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2289,7 +2289,7 @@ static inline const char *xhci_decode_tr
case TRB_SET_DEQ:
sprintf(str,
"%s: deq %08x%08x stream %d slot %d ep %d flags %c",
@@ -143,7 +141,7 @@ index fcf72937e5ec..914968c662c9 100644
field1, field0,
TRB_TO_STREAM_ID(field2),
TRB_TO_SLOT_ID(field3),
-@@ -2298,14 +2298,14 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2300,14 +2300,14 @@ static inline const char *xhci_decode_tr
case TRB_RESET_DEV:
sprintf(str,
"%s: slot %d flags %c",
@@ -160,7 +158,7 @@ index fcf72937e5ec..914968c662c9 100644
field1, field0,
TRB_TO_VF_INTR_TARGET(field2),
TRB_TO_VF_ID(field3),
-@@ -2314,14 +2314,14 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2316,14 +2316,14 @@ static inline const char *xhci_decode_tr
case TRB_SET_LT:
sprintf(str,
"%s: belt %d flags %c",
@@ -177,7 +175,7 @@ index fcf72937e5ec..914968c662c9 100644
field1, field0,
TRB_TO_SLOT_ID(field3),
TRB_TO_DEV_SPEED(field3),
-@@ -2330,7 +2330,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2332,7 +2332,7 @@ static inline const char *xhci_decode_tr
case TRB_FORCE_HEADER:
sprintf(str,
"%s: info %08x%08x%08x pkt type %d roothub port %d flags %c",
@@ -186,7 +184,7 @@ index fcf72937e5ec..914968c662c9 100644
field2, field1, field0 & 0xffffffe0,
TRB_TO_PACKET_TYPE(field0),
TRB_TO_ROOTHUB_PORT(field3),
-@@ -2339,7 +2339,7 @@ static inline const char *xhci_decode_trb(u32 field0, u32 field1, u32 field2,
+@@ -2341,7 +2341,7 @@ static inline const char *xhci_decode_tr
default:
sprintf(str,
"type '%s' -> raw %08x %08x %08x %08x",
@@ -195,6 +193,3 @@ index fcf72937e5ec..914968c662c9 100644
field0, field1, field2, field3);
}
---
-2.13.3
-
diff --git a/patches.renesas/0198-usb-xhci-bInterval-quirk-for-TI-TUSB73x0.patch b/patches.renesas/0198-usb-xhci-bInterval-quirk-for-TI-TUSB73x0.patch
index 3f795fe07d7efa..fff638a537a5ca 100644
--- a/patches.renesas/0198-usb-xhci-bInterval-quirk-for-TI-TUSB73x0.patch
+++ b/patches.renesas/0198-usb-xhci-bInterval-quirk-for-TI-TUSB73x0.patch
@@ -28,14 +28,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 69307ccb9ad7ccb653e332de68effdeaaab6907d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-pci.c | 3 +++
+ drivers/usb/host/xhci-pci.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
-index 69864ba38698..8b390cc5167f 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -208,6 +208,9 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
+@@ -226,6 +226,9 @@ static void xhci_pci_quirks(struct devic
if (pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241)
xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_7;
@@ -45,6 +43,3 @@ index 69864ba38698..8b390cc5167f 100644
if (xhci->quirks & XHCI_RESET_ON_RESUME)
xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
"QUIRK: Resetting on resume");
---
-2.13.3
-
diff --git a/patches.renesas/0199-xhci-use-correct-flags-for-spin_lock_irqrestore-when.patch b/patches.renesas/0199-xhci-use-correct-flags-for-spin_lock_irqrestore-when.patch
index c4229fbb61fabe..5550476ac763b3 100644
--- a/patches.renesas/0199-xhci-use-correct-flags-for-spin_lock_irqrestore-when.patch
+++ b/patches.renesas/0199-xhci-use-correct-flags-for-spin_lock_irqrestore-when.patch
@@ -23,14 +23,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit ec1dafe8ec5f846d6b1b280309d8b03d25b096fd)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-hub.c | 20 ++++++++++----------
+ drivers/usb/host/xhci-hub.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
-diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
-index ab818bd5d0ac..5e3e9d4c6956 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
-@@ -552,11 +552,10 @@ static __le32 __iomem *xhci_get_port_io_addr(struct usb_hcd *hcd, int index)
+@@ -552,11 +552,10 @@ static __le32 __iomem *xhci_get_port_io_
* method.
*/
static void xhci_set_port_power(struct xhci_hcd *xhci, struct usb_hcd *hcd,
@@ -43,7 +41,7 @@ index ab818bd5d0ac..5e3e9d4c6956 100644
addr = xhci_get_port_io_addr(hcd, index);
temp = readl(addr);
-@@ -572,13 +571,13 @@ static void xhci_set_port_power(struct xhci_hcd *xhci, struct usb_hcd *hcd,
+@@ -572,13 +571,13 @@ static void xhci_set_port_power(struct x
writel(temp & ~PORT_POWER, addr);
}
@@ -59,7 +57,7 @@ index ab818bd5d0ac..5e3e9d4c6956 100644
}
static void xhci_port_set_test_mode(struct xhci_hcd *xhci,
-@@ -598,7 +597,7 @@ static void xhci_port_set_test_mode(struct xhci_hcd *xhci,
+@@ -598,7 +597,7 @@ static void xhci_port_set_test_mode(stru
}
static int xhci_enter_test_mode(struct xhci_hcd *xhci,
@@ -68,7 +66,7 @@ index ab818bd5d0ac..5e3e9d4c6956 100644
{
int i, retval;
-@@ -614,10 +613,10 @@ static int xhci_enter_test_mode(struct xhci_hcd *xhci,
+@@ -614,10 +613,10 @@ static int xhci_enter_test_mode(struct x
xhci_dbg(xhci, "Disable all port (PP = 0)\n");
/* Power off USB3 ports*/
for (i = 0; i < xhci->num_usb3_ports; i++)
@@ -81,7 +79,7 @@ index ab818bd5d0ac..5e3e9d4c6956 100644
/* Stop the controller */
xhci_dbg(xhci, "Stop controller\n");
retval = xhci_halt(xhci);
-@@ -1209,7 +1208,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1212,7 +1211,7 @@ int xhci_hub_control(struct usb_hcd *hcd
* However, hub_wq will ignore the roothub events until
* the roothub is registered.
*/
@@ -90,7 +88,7 @@ index ab818bd5d0ac..5e3e9d4c6956 100644
break;
case USB_PORT_FEAT_RESET:
temp = (temp | PORT_RESET);
-@@ -1254,7 +1253,8 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1257,7 +1256,8 @@ int xhci_hub_control(struct usb_hcd *hcd
goto error;
if (test_mode > TEST_FORCE_EN || test_mode < TEST_J)
goto error;
@@ -100,7 +98,7 @@ index ab818bd5d0ac..5e3e9d4c6956 100644
break;
default:
goto error;
-@@ -1322,7 +1322,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1325,7 +1325,7 @@ int xhci_hub_control(struct usb_hcd *hcd
port_array[wIndex], temp);
break;
case USB_PORT_FEAT_POWER:
@@ -109,6 +107,3 @@ index ab818bd5d0ac..5e3e9d4c6956 100644
break;
case USB_PORT_FEAT_TEST:
retval = xhci_exit_test_mode(xhci);
---
-2.13.3
-
diff --git a/patches.renesas/0200-usb-host-plat-Enable-xHCI-plat-runtime-PM.patch b/patches.renesas/0200-usb-host-plat-Enable-xHCI-plat-runtime-PM.patch
index 4a86a8a98169b1..9bcf411cef6c8b 100644
--- a/patches.renesas/0200-usb-host-plat-Enable-xHCI-plat-runtime-PM.patch
+++ b/patches.renesas/0200-usb-host-plat-Enable-xHCI-plat-runtime-PM.patch
@@ -18,14 +18,12 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
drivers/usb/host/xhci-plat.c
---
- drivers/usb/host/xhci-plat.c | 53 ++++++++++++++++++++++++++++++++++++++------
+ drivers/usb/host/xhci-plat.c | 53 +++++++++++++++++++++++++++++++++++++------
1 file changed, 46 insertions(+), 7 deletions(-)
-diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
-index 37f59a975dd9..6046ae3712fa 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -179,9 +179,15 @@ static int xhci_plat_probe(struct platform_device *pdev)
+@@ -179,9 +179,15 @@ static int xhci_plat_probe(struct platfo
return ret;
}
@@ -43,7 +41,7 @@ index 37f59a975dd9..6046ae3712fa 100644
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
hcd->regs = devm_ioremap_resource(&pdev->dev, res);
-@@ -259,6 +265,13 @@ static int xhci_plat_probe(struct platform_device *pdev)
+@@ -259,6 +265,13 @@ static int xhci_plat_probe(struct platfo
goto dealloc_usb2_hcd;
device_enable_async_suspend(&pdev->dev);
@@ -57,7 +55,7 @@ index 37f59a975dd9..6046ae3712fa 100644
return 0;
-@@ -279,6 +292,10 @@ static int xhci_plat_probe(struct platform_device *pdev)
+@@ -279,6 +292,10 @@ disable_clk:
put_hcd:
usb_put_hcd(hcd);
@@ -68,7 +66,7 @@ index 37f59a975dd9..6046ae3712fa 100644
return ret;
}
-@@ -300,6 +317,9 @@ static int xhci_plat_remove(struct platform_device *dev)
+@@ -300,6 +317,9 @@ static int xhci_plat_remove(struct platf
clk_disable_unprepare(clk);
usb_put_hcd(hcd);
@@ -78,7 +76,7 @@ index 37f59a975dd9..6046ae3712fa 100644
return 0;
}
-@@ -327,14 +347,33 @@ static int xhci_plat_resume(struct device *dev)
+@@ -327,14 +347,33 @@ static int xhci_plat_resume(struct devic
return xhci_resume(xhci, 0);
}
@@ -116,7 +114,7 @@ index 37f59a975dd9..6046ae3712fa 100644
static const struct acpi_device_id usb_xhci_acpi_match[] = {
/* XHCI-compliant USB Controller */
-@@ -349,7 +388,7 @@ static struct platform_driver usb_xhci_driver = {
+@@ -349,7 +388,7 @@ static struct platform_driver usb_xhci_d
.shutdown = usb_hcd_platform_shutdown,
.driver = {
.name = "xhci-hcd",
@@ -125,6 +123,3 @@ index 37f59a975dd9..6046ae3712fa 100644
.of_match_table = of_match_ptr(usb_xhci_of_match),
.acpi_match_table = ACPI_PTR(usb_xhci_acpi_match),
},
---
-2.13.3
-
diff --git a/patches.renesas/0201-usb-host-xhci-plat-enable-clk-in-resume-timing.patch b/patches.renesas/0201-usb-host-xhci-plat-enable-clk-in-resume-timing.patch
index 0e6e66687d3c5e..277ee0eb0035a3 100644
--- a/patches.renesas/0201-usb-host-xhci-plat-enable-clk-in-resume-timing.patch
+++ b/patches.renesas/0201-usb-host-xhci-plat-enable-clk-in-resume-timing.patch
@@ -13,14 +13,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 835e4241e714fbd659838618466766b132823da3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-plat.c | 11 ++++++++++-
+ drivers/usb/host/xhci-plat.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
-diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
-index 6046ae3712fa..89898eae82ae 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -328,6 +328,7 @@ static int xhci_plat_suspend(struct device *dev)
+@@ -328,6 +328,7 @@ static int xhci_plat_suspend(struct devi
{
struct usb_hcd *hcd = dev_get_drvdata(dev);
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
@@ -28,7 +26,7 @@ index 6046ae3712fa..89898eae82ae 100644
/*
* xhci_suspend() needs `do_wakeup` to know whether host is allowed
-@@ -337,7 +338,12 @@ static int xhci_plat_suspend(struct device *dev)
+@@ -337,7 +338,12 @@ static int xhci_plat_suspend(struct devi
* reconsider this when xhci_plat_suspend enlarges its scope, e.g.,
* also applies to runtime suspend.
*/
@@ -42,7 +40,7 @@ index 6046ae3712fa..89898eae82ae 100644
}
static int xhci_plat_resume(struct device *dev)
-@@ -345,6 +351,9 @@ static int xhci_plat_resume(struct device *dev)
+@@ -345,6 +351,9 @@ static int xhci_plat_resume(struct devic
struct usb_hcd *hcd = dev_get_drvdata(dev);
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
@@ -52,6 +50,3 @@ index 6046ae3712fa..89898eae82ae 100644
return xhci_resume(xhci, 0);
}
#endif /* CONFIG_PM_SLEEP */
---
-2.13.3
-
diff --git a/patches.renesas/0202-usb-host-xhci-plat-add-resume_quirk.patch b/patches.renesas/0202-usb-host-xhci-plat-add-resume_quirk.patch
index 1213638996de9f..2b496318143cd5 100644
--- a/patches.renesas/0202-usb-host-xhci-plat-add-resume_quirk.patch
+++ b/patches.renesas/0202-usb-host-xhci-plat-add-resume_quirk.patch
@@ -12,15 +12,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 98c0a3ffa30c4b389257f7e7ee80ab9e90b78924)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-plat.c | 15 +++++++++++++++
- drivers/usb/host/xhci-plat.h | 1 +
+ drivers/usb/host/xhci-plat.c | 15 +++++++++++++++
+ drivers/usb/host/xhci-plat.h | 1 +
2 files changed, 16 insertions(+)
-diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
-index 89898eae82ae..96fcba325b93 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -54,6 +54,16 @@ static int xhci_priv_init_quirk(struct usb_hcd *hcd)
+@@ -54,6 +54,16 @@ static int xhci_priv_init_quirk(struct u
return priv->init_quirk(hcd);
}
@@ -37,7 +35,7 @@ index 89898eae82ae..96fcba325b93 100644
static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
{
/*
-@@ -350,10 +360,15 @@ static int xhci_plat_resume(struct device *dev)
+@@ -350,10 +360,15 @@ static int xhci_plat_resume(struct devic
{
struct usb_hcd *hcd = dev_get_drvdata(dev);
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
@@ -53,8 +51,6 @@ index 89898eae82ae..96fcba325b93 100644
return xhci_resume(xhci, 0);
}
#endif /* CONFIG_PM_SLEEP */
-diff --git a/drivers/usb/host/xhci-plat.h b/drivers/usb/host/xhci-plat.h
-index 9af0cb48053f..29b227895b07 100644
--- a/drivers/usb/host/xhci-plat.h
+++ b/drivers/usb/host/xhci-plat.h
@@ -17,6 +17,7 @@ struct xhci_plat_priv {
@@ -65,6 +61,3 @@ index 9af0cb48053f..29b227895b07 100644
};
#define hcd_to_xhci_priv(h) ((struct xhci_plat_priv *)hcd_to_xhci(h)->priv)
---
-2.13.3
-
diff --git a/patches.renesas/0203-usb-host-xhci-plat-set-resume_quirk-for-R-Car-contro.patch b/patches.renesas/0203-usb-host-xhci-plat-set-resume_quirk-for-R-Car-contro.patch
index 830b48cba6e5ea..9df971b703e306 100644
--- a/patches.renesas/0203-usb-host-xhci-plat-set-resume_quirk-for-R-Car-contro.patch
+++ b/patches.renesas/0203-usb-host-xhci-plat-set-resume_quirk-for-R-Car-contro.patch
@@ -15,16 +15,14 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 435cc1138ec94af7497ea68c8eb8b0c17cfcf002)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-plat.c | 3 +++
- drivers/usb/host/xhci-rcar.c | 11 +++++++++++
- drivers/usb/host/xhci-rcar.h | 6 ++++++
+ drivers/usb/host/xhci-plat.c | 3 +++
+ drivers/usb/host/xhci-rcar.c | 11 +++++++++++
+ drivers/usb/host/xhci-rcar.h | 6 ++++++
3 files changed, 20 insertions(+)
-diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
-index 96fcba325b93..8728ce7bf245 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -102,18 +102,21 @@ static const struct xhci_plat_priv xhci_plat_renesas_rcar_gen2 = {
+@@ -102,18 +102,21 @@ static const struct xhci_plat_priv xhci_
.firmware_name = XHCI_RCAR_FIRMWARE_NAME_V1,
.init_quirk = xhci_rcar_init_quirk,
.plat_start = xhci_rcar_start,
@@ -46,11 +44,9 @@ index 96fcba325b93..8728ce7bf245 100644
};
static const struct of_device_id usb_xhci_of_match[] = {
-diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c
-index d28df386e780..07278228214b 100644
--- a/drivers/usb/host/xhci-rcar.c
+++ b/drivers/usb/host/xhci-rcar.c
-@@ -198,3 +198,14 @@ int xhci_rcar_init_quirk(struct usb_hcd *hcd)
+@@ -198,3 +198,14 @@ int xhci_rcar_init_quirk(struct usb_hcd
return xhci_rcar_download_firmware(hcd);
}
@@ -65,8 +61,6 @@ index d28df386e780..07278228214b 100644
+
+ return ret;
+}
-diff --git a/drivers/usb/host/xhci-rcar.h b/drivers/usb/host/xhci-rcar.h
-index d2ffe20401cf..d247951147a1 100644
--- a/drivers/usb/host/xhci-rcar.h
+++ b/drivers/usb/host/xhci-rcar.h
@@ -18,6 +18,7 @@
@@ -77,7 +71,7 @@ index d2ffe20401cf..d247951147a1 100644
#else
static inline void xhci_rcar_start(struct usb_hcd *hcd)
{
-@@ -27,5 +28,10 @@ static inline int xhci_rcar_init_quirk(struct usb_hcd *hcd)
+@@ -27,5 +28,10 @@ static inline int xhci_rcar_init_quirk(s
{
return 0;
}
@@ -88,6 +82,3 @@ index d2ffe20401cf..d247951147a1 100644
+}
#endif
#endif /* _XHCI_RCAR_H */
---
-2.13.3
-
diff --git a/patches.renesas/0204-usb-host-xhci-using-correct-specification-chapter-re.patch b/patches.renesas/0204-usb-host-xhci-using-correct-specification-chapter-re.patch
index 08c2a63cc5f0f9..9735f18ab72edc 100644
--- a/patches.renesas/0204-usb-host-xhci-using-correct-specification-chapter-re.patch
+++ b/patches.renesas/0204-usb-host-xhci-using-correct-specification-chapter-re.patch
@@ -13,14 +13,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 724e882daeb67d58d04a3d0f8cccdd33775bb9bb)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-mem.c | 2 +-
+ drivers/usb/host/xhci-mem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index 9b37ef13bf3a..87169f5dd4de 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -2434,7 +2434,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags)
+@@ -2434,7 +2434,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
writel(val, &xhci->op_regs->config_reg);
/*
@@ -29,6 +27,3 @@ index 9b37ef13bf3a..87169f5dd4de 100644
* "physically contiguous and 64-byte (cache line) aligned".
*/
xhci->dcbaa = dma_alloc_coherent(dev, sizeof(*xhci->dcbaa), &dma,
---
-2.13.3
-
diff --git a/patches.renesas/0205-usb-host-xhci-delete-sp_dma_buffers-for-scratchpad.patch b/patches.renesas/0205-usb-host-xhci-delete-sp_dma_buffers-for-scratchpad.patch
index 26a3c8c39df5ba..2cf827736c11b9 100644
--- a/patches.renesas/0205-usb-host-xhci-delete-sp_dma_buffers-for-scratchpad.patch
+++ b/patches.renesas/0205-usb-host-xhci-delete-sp_dma_buffers-for-scratchpad.patch
@@ -12,15 +12,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 314eaf7dec13b975e51c8faf980f7b0f4e20b3e9)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-mem.c | 18 ++++--------------
- drivers/usb/host/xhci.h | 1 -
+ drivers/usb/host/xhci-mem.c | 18 ++++--------------
+ drivers/usb/host/xhci.h | 1 -
2 files changed, 4 insertions(+), 15 deletions(-)
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index 87169f5dd4de..ea1308a7b814 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -1721,36 +1721,27 @@ static int scratchpad_alloc(struct xhci_hcd *xhci, gfp_t flags)
+@@ -1721,36 +1721,27 @@ static int scratchpad_alloc(struct xhci_
if (!xhci->scratchpad->sp_buffers)
goto fail_sp3;
@@ -60,7 +58,7 @@ index 87169f5dd4de..ea1308a7b814 100644
kfree(xhci->scratchpad->sp_buffers);
fail_sp3:
-@@ -1780,9 +1771,8 @@ static void scratchpad_free(struct xhci_hcd *xhci)
+@@ -1780,9 +1771,8 @@ static void scratchpad_free(struct xhci_
for (i = 0; i < num_sp; i++) {
dma_free_coherent(dev, xhci->page_size,
xhci->scratchpad->sp_buffers[i],
@@ -71,8 +69,6 @@ index 87169f5dd4de..ea1308a7b814 100644
kfree(xhci->scratchpad->sp_buffers);
dma_free_coherent(dev, num_sp * sizeof(u64),
xhci->scratchpad->sp_array,
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 914968c662c9..c23d5312c714 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1606,7 +1606,6 @@ struct xhci_scratchpad {
@@ -83,6 +79,3 @@ index 914968c662c9..c23d5312c714 100644
};
struct urb_priv {
---
-2.13.3
-
diff --git a/patches.renesas/0206-usb-host-xhci-remove-ifdef-around-PM-functions.patch b/patches.renesas/0206-usb-host-xhci-remove-ifdef-around-PM-functions.patch
index 21489a1b0ef385..60d79cc3409919 100644
--- a/patches.renesas/0206-usb-host-xhci-remove-ifdef-around-PM-functions.patch
+++ b/patches.renesas/0206-usb-host-xhci-remove-ifdef-around-PM-functions.patch
@@ -19,15 +19,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d852ed98f62e0d44f594adb850b3d6cedb5c9292)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-plat.c | 12 ++++--------
- drivers/usb/host/xhci.h | 5 -----
+ drivers/usb/host/xhci-plat.c | 12 ++++--------
+ drivers/usb/host/xhci.h | 5 -----
2 files changed, 4 insertions(+), 13 deletions(-)
-diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
-index 8728ce7bf245..f6a97f67f5ad 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -336,8 +336,7 @@ static int xhci_plat_remove(struct platform_device *dev)
+@@ -336,8 +336,7 @@ static int xhci_plat_remove(struct platf
return 0;
}
@@ -37,7 +35,7 @@ index 8728ce7bf245..f6a97f67f5ad 100644
{
struct usb_hcd *hcd = dev_get_drvdata(dev);
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
-@@ -359,7 +358,7 @@ static int xhci_plat_suspend(struct device *dev)
+@@ -359,7 +358,7 @@ static int xhci_plat_suspend(struct devi
return ret;
}
@@ -46,7 +44,7 @@ index 8728ce7bf245..f6a97f67f5ad 100644
{
struct usb_hcd *hcd = dev_get_drvdata(dev);
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
-@@ -374,10 +373,8 @@ static int xhci_plat_resume(struct device *dev)
+@@ -374,10 +373,8 @@ static int xhci_plat_resume(struct devic
return xhci_resume(xhci, 0);
}
@@ -58,7 +56,7 @@ index 8728ce7bf245..f6a97f67f5ad 100644
{
struct usb_hcd *hcd = dev_get_drvdata(dev);
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
-@@ -385,14 +382,13 @@ static int xhci_plat_runtime_suspend(struct device *dev)
+@@ -385,14 +382,13 @@ static int xhci_plat_runtime_suspend(str
return xhci_suspend(xhci, true);
}
@@ -74,11 +72,9 @@ index 8728ce7bf245..f6a97f67f5ad 100644
static const struct dev_pm_ops xhci_plat_pm_ops = {
SET_SYSTEM_SLEEP_PM_OPS(xhci_plat_suspend, xhci_plat_resume)
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index c23d5312c714..88350319b952 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -2005,13 +2005,8 @@ void xhci_init_driver(struct hc_driver *drv,
+@@ -2007,13 +2007,8 @@ void xhci_init_driver(struct hc_driver *
int xhci_disable_slot(struct xhci_hcd *xhci,
struct xhci_command *command, u32 slot_id);
@@ -92,6 +88,3 @@ index c23d5312c714..88350319b952 100644
irqreturn_t xhci_irq(struct usb_hcd *hcd);
irqreturn_t xhci_msi_irq(int irq, void *hcd);
---
-2.13.3
-
diff --git a/patches.renesas/0207-media-v4l-Add-metadata-buffer-type-and-format.patch b/patches.renesas/0207-media-v4l-Add-metadata-buffer-type-and-format.patch
index cdd036c1e9e451..019841fc662e66 100644
--- a/patches.renesas/0207-media-v4l-Add-metadata-buffer-type-and-format.patch
+++ b/patches.renesas/0207-media-v4l-Add-metadata-buffer-type-and-format.patch
@@ -18,23 +18,21 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit fb9ffa6a7f7ef39cc0f14f417b66411be5492512)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- Documentation/media/uapi/v4l/buffer.rst | 3 ++
- Documentation/media/uapi/v4l/dev-meta.rst | 58 ++++++++++++++++++++++++
- Documentation/media/uapi/v4l/devices.rst | 1 +
- Documentation/media/uapi/v4l/vidioc-querycap.rst | 3 ++
- Documentation/media/videodev2.h.rst.exceptions | 2 +
- drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 19 ++++++++
- drivers/media/v4l2-core/v4l2-dev.c | 16 ++++---
- drivers/media/v4l2-core/v4l2-ioctl.c | 34 ++++++++++++++
- drivers/media/v4l2-core/videobuf2-v4l2.c | 3 ++
- include/media/v4l2-ioctl.h | 17 +++++++
- include/trace/events/v4l2.h | 1 +
- include/uapi/linux/videodev2.h | 13 ++++++
+ Documentation/media/uapi/v4l/buffer.rst | 3 +
+ Documentation/media/uapi/v4l/dev-meta.rst | 58 +++++++++++++++++++++++
+ Documentation/media/uapi/v4l/devices.rst | 1
+ Documentation/media/uapi/v4l/vidioc-querycap.rst | 3 +
+ Documentation/media/videodev2.h.rst.exceptions | 2
+ drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 19 +++++++
+ drivers/media/v4l2-core/v4l2-dev.c | 16 +++---
+ drivers/media/v4l2-core/v4l2-ioctl.c | 34 +++++++++++++
+ drivers/media/v4l2-core/videobuf2-v4l2.c | 3 +
+ include/media/v4l2-ioctl.h | 17 ++++++
+ include/trace/events/v4l2.h | 1
+ include/uapi/linux/videodev2.h | 13 +++++
12 files changed, 164 insertions(+), 6 deletions(-)
create mode 100644 Documentation/media/uapi/v4l/dev-meta.rst
-diff --git a/Documentation/media/uapi/v4l/buffer.rst b/Documentation/media/uapi/v4l/buffer.rst
-index ac58966ccb9b..537fd65daffd 100644
--- a/Documentation/media/uapi/v4l/buffer.rst
+++ b/Documentation/media/uapi/v4l/buffer.rst
@@ -330,6 +330,9 @@ enum v4l2_buf_type
@@ -47,9 +45,6 @@ index ac58966ccb9b..537fd65daffd 100644
-diff --git a/Documentation/media/uapi/v4l/dev-meta.rst b/Documentation/media/uapi/v4l/dev-meta.rst
-new file mode 100644
-index 000000000000..62518adfe37b
--- /dev/null
+++ b/Documentation/media/uapi/v4l/dev-meta.rst
@@ -0,0 +1,58 @@
@@ -111,8 +106,6 @@ index 000000000000..62518adfe37b
+ - ``buffersize``
+ - Maximum buffer size in bytes required for data. The value is set by the
+ driver.
-diff --git a/Documentation/media/uapi/v4l/devices.rst b/Documentation/media/uapi/v4l/devices.rst
-index 5c3d6c29e12c..fb7f8c26cf09 100644
--- a/Documentation/media/uapi/v4l/devices.rst
+++ b/Documentation/media/uapi/v4l/devices.rst
@@ -25,3 +25,4 @@ Interfaces
@@ -120,11 +113,9 @@ index 5c3d6c29e12c..fb7f8c26cf09 100644
dev-event
dev-subdev
+ dev-meta
-diff --git a/Documentation/media/uapi/v4l/vidioc-querycap.rst b/Documentation/media/uapi/v4l/vidioc-querycap.rst
-index 165d8314327e..12e0d9a63cd8 100644
--- a/Documentation/media/uapi/v4l/vidioc-querycap.rst
+++ b/Documentation/media/uapi/v4l/vidioc-querycap.rst
-@@ -236,6 +236,9 @@ specification the ioctl returns an ``EINVAL`` error code.
+@@ -236,6 +236,9 @@ specification the ioctl returns an ``EIN
* - ``V4L2_CAP_SDR_OUTPUT``
- 0x00400000
- The device supports the :ref:`SDR Output <sdr>` interface.
@@ -134,11 +125,9 @@ index 165d8314327e..12e0d9a63cd8 100644
* - ``V4L2_CAP_READWRITE``
- 0x01000000
- The device supports the :ref:`read() <rw>` and/or
-diff --git a/Documentation/media/videodev2.h.rst.exceptions b/Documentation/media/videodev2.h.rst.exceptions
-index 1d3f27d922b2..20f72a201ca5 100644
--- a/Documentation/media/videodev2.h.rst.exceptions
+++ b/Documentation/media/videodev2.h.rst.exceptions
-@@ -27,6 +27,7 @@ replace symbol V4L2_FIELD_SEQ_TB :c:type:`v4l2_field`
+@@ -27,6 +27,7 @@ replace symbol V4L2_FIELD_SEQ_TB :c:type
replace symbol V4L2_FIELD_TOP :c:type:`v4l2_field`
# Documented enum v4l2_buf_type
@@ -146,7 +135,7 @@ index 1d3f27d922b2..20f72a201ca5 100644
replace symbol V4L2_BUF_TYPE_SDR_CAPTURE :c:type:`v4l2_buf_type`
replace symbol V4L2_BUF_TYPE_SDR_OUTPUT :c:type:`v4l2_buf_type`
replace symbol V4L2_BUF_TYPE_SLICED_VBI_CAPTURE :c:type:`v4l2_buf_type`
-@@ -148,6 +149,7 @@ replace define V4L2_CAP_MODULATOR device-capabilities
+@@ -148,6 +149,7 @@ replace define V4L2_CAP_MODULATOR device
replace define V4L2_CAP_SDR_CAPTURE device-capabilities
replace define V4L2_CAP_EXT_PIX_FORMAT device-capabilities
replace define V4L2_CAP_SDR_OUTPUT device-capabilities
@@ -154,11 +143,9 @@ index 1d3f27d922b2..20f72a201ca5 100644
replace define V4L2_CAP_READWRITE device-capabilities
replace define V4L2_CAP_ASYNCIO device-capabilities
replace define V4L2_CAP_STREAMING device-capabilities
-diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
-index bacecbd68a6d..da2d836e8887 100644
--- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
+++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
-@@ -161,6 +161,20 @@ static inline int put_v4l2_sdr_format(struct v4l2_sdr_format *kp, struct v4l2_sd
+@@ -161,6 +161,20 @@ static inline int put_v4l2_sdr_format(st
return 0;
}
@@ -187,7 +174,7 @@ index bacecbd68a6d..da2d836e8887 100644
__u8 raw_data[200]; /* user-defined */
} fmt;
};
-@@ -216,6 +231,8 @@ static int __get_v4l2_format32(struct v4l2_format *kp, struct v4l2_format32 __us
+@@ -216,6 +231,8 @@ static int __get_v4l2_format32(struct v4
case V4L2_BUF_TYPE_SDR_CAPTURE:
case V4L2_BUF_TYPE_SDR_OUTPUT:
return get_v4l2_sdr_format(&kp->fmt.sdr, &up->fmt.sdr);
@@ -196,7 +183,7 @@ index bacecbd68a6d..da2d836e8887 100644
default:
pr_info("compat_ioctl32: unexpected VIDIOC_FMT type %d\n",
kp->type);
-@@ -263,6 +280,8 @@ static int __put_v4l2_format32(struct v4l2_format *kp, struct v4l2_format32 __us
+@@ -263,6 +280,8 @@ static int __put_v4l2_format32(struct v4
case V4L2_BUF_TYPE_SDR_CAPTURE:
case V4L2_BUF_TYPE_SDR_OUTPUT:
return put_v4l2_sdr_format(&kp->fmt.sdr, &up->fmt.sdr);
@@ -205,11 +192,9 @@ index bacecbd68a6d..da2d836e8887 100644
default:
pr_info("compat_ioctl32: unexpected VIDIOC_FMT type %d\n",
kp->type);
-diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c
-index 8be561ab2615..6541d5597966 100644
--- a/drivers/media/v4l2-core/v4l2-dev.c
+++ b/drivers/media/v4l2-core/v4l2-dev.c
-@@ -575,30 +575,34 @@ static void determine_valid_ioctls(struct video_device *vdev)
+@@ -575,30 +575,34 @@ static void determine_valid_ioctls(struc
set_bit(_IOC_NR(VIDIOC_ENUM_FREQ_BANDS), valid_ioctls);
if (is_vid || is_tch) {
@@ -249,7 +234,7 @@ index 8be561ab2615..6541d5597966 100644
(is_tx && (ops->vidioc_try_fmt_vid_out ||
ops->vidioc_try_fmt_vid_out_mplane ||
ops->vidioc_try_fmt_vid_out_overlay)))
-@@ -664,7 +668,7 @@ static void determine_valid_ioctls(struct video_device *vdev)
+@@ -664,7 +668,7 @@ static void determine_valid_ioctls(struc
}
if (is_vid || is_vbi || is_sdr || is_tch) {
@@ -258,8 +243,6 @@ index 8be561ab2615..6541d5597966 100644
SET_VALID_IOCTL(ops, VIDIOC_REQBUFS, vidioc_reqbufs);
SET_VALID_IOCTL(ops, VIDIOC_QUERYBUF, vidioc_querybuf);
SET_VALID_IOCTL(ops, VIDIOC_QBUF, vidioc_qbuf);
-diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
-index 5c49351af7ae..b1e4fff556f0 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -155,6 +155,7 @@ const char *v4l2_type_names[] = {
@@ -270,7 +253,7 @@ index 5c49351af7ae..b1e4fff556f0 100644
};
EXPORT_SYMBOL(v4l2_type_names);
-@@ -249,6 +250,7 @@ static void v4l_print_format(const void *arg, bool write_only)
+@@ -249,6 +250,7 @@ static void v4l_print_format(const void
const struct v4l2_sliced_vbi_format *sliced;
const struct v4l2_window *win;
const struct v4l2_sdr_format *sdr;
@@ -278,7 +261,7 @@ index 5c49351af7ae..b1e4fff556f0 100644
unsigned i;
pr_cont("type=%s", prt_names(p->type, v4l2_type_names));
-@@ -336,6 +338,15 @@ static void v4l_print_format(const void *arg, bool write_only)
+@@ -336,6 +338,15 @@ static void v4l_print_format(const void
(sdr->pixelformat >> 16) & 0xff,
(sdr->pixelformat >> 24) & 0xff);
break;
@@ -294,7 +277,7 @@ index 5c49351af7ae..b1e4fff556f0 100644
}
}
-@@ -982,6 +993,10 @@ static int check_fmt(struct file *file, enum v4l2_buf_type type)
+@@ -982,6 +993,10 @@ static int check_fmt(struct file *file,
if (is_sdr && is_tx && ops->vidioc_g_fmt_sdr_out)
return 0;
break;
@@ -305,7 +288,7 @@ index 5c49351af7ae..b1e4fff556f0 100644
default:
break;
}
-@@ -1357,6 +1372,11 @@ static int v4l_enum_fmt(const struct v4l2_ioctl_ops *ops,
+@@ -1357,6 +1372,11 @@ static int v4l_enum_fmt(const struct v4l
break;
ret = ops->vidioc_enum_fmt_sdr_out(file, fh, arg);
break;
@@ -317,7 +300,7 @@ index 5c49351af7ae..b1e4fff556f0 100644
}
if (ret == 0)
v4l_fill_fmtdesc(p);
-@@ -1456,6 +1476,10 @@ static int v4l_g_fmt(const struct v4l2_ioctl_ops *ops,
+@@ -1456,6 +1476,10 @@ static int v4l_g_fmt(const struct v4l2_i
if (unlikely(!is_tx || !is_sdr || !ops->vidioc_g_fmt_sdr_out))
break;
return ops->vidioc_g_fmt_sdr_out(file, fh, arg);
@@ -328,7 +311,7 @@ index 5c49351af7ae..b1e4fff556f0 100644
}
return -EINVAL;
}
-@@ -1561,6 +1585,11 @@ static int v4l_s_fmt(const struct v4l2_ioctl_ops *ops,
+@@ -1561,6 +1585,11 @@ static int v4l_s_fmt(const struct v4l2_i
break;
CLEAR_AFTER_FIELD(p, fmt.sdr);
return ops->vidioc_s_fmt_sdr_out(file, fh, arg);
@@ -340,7 +323,7 @@ index 5c49351af7ae..b1e4fff556f0 100644
}
return -EINVAL;
}
-@@ -1646,6 +1675,11 @@ static int v4l_try_fmt(const struct v4l2_ioctl_ops *ops,
+@@ -1646,6 +1675,11 @@ static int v4l_try_fmt(const struct v4l2
break;
CLEAR_AFTER_FIELD(p, fmt.sdr);
return ops->vidioc_try_fmt_sdr_out(file, fh, arg);
@@ -352,11 +335,9 @@ index 5c49351af7ae..b1e4fff556f0 100644
}
return -EINVAL;
}
-diff --git a/drivers/media/v4l2-core/videobuf2-v4l2.c b/drivers/media/v4l2-core/videobuf2-v4l2.c
-index 52ef8833f6b6..12e12f932b6b 100644
--- a/drivers/media/v4l2-core/videobuf2-v4l2.c
+++ b/drivers/media/v4l2-core/videobuf2-v4l2.c
-@@ -546,6 +546,9 @@ int vb2_create_bufs(struct vb2_queue *q, struct v4l2_create_buffers *create)
+@@ -546,6 +546,9 @@ int vb2_create_bufs(struct vb2_queue *q,
case V4L2_BUF_TYPE_SDR_OUTPUT:
requested_sizes[0] = f->fmt.sdr.buffersize;
break;
@@ -366,8 +347,6 @@ index 52ef8833f6b6..12e12f932b6b 100644
default:
return -EINVAL;
}
-diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h
-index 574ff2ae94be..b6433cc5964b 100644
--- a/include/media/v4l2-ioctl.h
+++ b/include/media/v4l2-ioctl.h
@@ -43,6 +43,9 @@ struct v4l2_fh;
@@ -443,8 +422,6 @@ index 574ff2ae94be..b6433cc5964b 100644
/* Buffer handlers */
int (*vidioc_reqbufs)(struct file *file, void *fh,
-diff --git a/include/trace/events/v4l2.h b/include/trace/events/v4l2.h
-index ee7754c6e4a1..b3a85b3df53e 100644
--- a/include/trace/events/v4l2.h
+++ b/include/trace/events/v4l2.h
@@ -29,6 +29,7 @@
@@ -455,8 +432,6 @@ index ee7754c6e4a1..b3a85b3df53e 100644
EMe(V4L2_BUF_TYPE_PRIVATE, "PRIVATE" )
SHOW_TYPE
-diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
-index 803e58c1c0b1..2e0c8a9df8af 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -143,6 +143,7 @@ enum v4l2_buf_type {
@@ -500,6 +475,3 @@ index 803e58c1c0b1..2e0c8a9df8af 100644
__u8 raw_data[200]; /* user-defined */
} fmt;
};
---
-2.13.3
-
diff --git a/patches.renesas/0208-media-v4l-vsp1-Add-histogram-support.patch b/patches.renesas/0208-media-v4l-vsp1-Add-histogram-support.patch
index 2d14d8099ab6ae..a9cd9e4f6d5cfc 100644
--- a/patches.renesas/0208-media-v4l-vsp1-Add-histogram-support.patch
+++ b/patches.renesas/0208-media-v4l-vsp1-Add-histogram-support.patch
@@ -11,16 +11,14 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 99362e32332b5ce591a67a632073668754f28b0d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/Kconfig | 1 +
- drivers/media/platform/vsp1/Makefile | 1 +
- drivers/media/platform/vsp1/vsp1_histo.c | 646 +++++++++++++++++++++++++++++++
- drivers/media/platform/vsp1/vsp1_histo.h | 84 ++++
+ drivers/media/platform/Kconfig | 1
+ drivers/media/platform/vsp1/Makefile | 1
+ drivers/media/platform/vsp1/vsp1_histo.c | 646 +++++++++++++++++++++++++++++++
+ drivers/media/platform/vsp1/vsp1_histo.h | 84 ++++
4 files changed, 732 insertions(+)
create mode 100644 drivers/media/platform/vsp1/vsp1_histo.c
create mode 100644 drivers/media/platform/vsp1/vsp1_histo.h
-diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
-index f898862e2c69..d5f9e18b09af 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -334,6 +334,7 @@ config VIDEO_RENESAS_VSP1
@@ -31,11 +29,9 @@ index f898862e2c69..d5f9e18b09af 100644
---help---
This is a V4L2 driver for the Renesas VSP1 video processing engine.
-diff --git a/drivers/media/platform/vsp1/Makefile b/drivers/media/platform/vsp1/Makefile
-index 1328e1bd2143..c559536f7867 100644
--- a/drivers/media/platform/vsp1/Makefile
+++ b/drivers/media/platform/vsp1/Makefile
-@@ -3,6 +3,7 @@ vsp1-y += vsp1_dl.o vsp1_drm.o vsp1_video.o
+@@ -3,6 +3,7 @@ vsp1-y += vsp1_dl.o vsp1_drm.o vsp1_
vsp1-y += vsp1_rpf.o vsp1_rwpf.o vsp1_wpf.o
vsp1-y += vsp1_clu.o vsp1_hsit.o vsp1_lut.o
vsp1-y += vsp1_bru.o vsp1_sru.o vsp1_uds.o
@@ -43,9 +39,6 @@ index 1328e1bd2143..c559536f7867 100644
vsp1-y += vsp1_lif.o
obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1.o
-diff --git a/drivers/media/platform/vsp1/vsp1_histo.c b/drivers/media/platform/vsp1/vsp1_histo.c
-new file mode 100644
-index 000000000000..afab77cf4fa5
--- /dev/null
+++ b/drivers/media/platform/vsp1/vsp1_histo.c
@@ -0,0 +1,646 @@
@@ -695,9 +688,6 @@ index 000000000000..afab77cf4fa5
+ vsp1_histogram_cleanup(histo);
+ return ret;
+}
-diff --git a/drivers/media/platform/vsp1/vsp1_histo.h b/drivers/media/platform/vsp1/vsp1_histo.h
-new file mode 100644
-index 000000000000..af2874f6031d
--- /dev/null
+++ b/drivers/media/platform/vsp1/vsp1_histo.h
@@ -0,0 +1,84 @@
@@ -785,6 +775,3 @@ index 000000000000..af2874f6031d
+ size_t size);
+
+#endif /* __VSP1_HISTO_H__ */
---
-2.13.3
-
diff --git a/patches.renesas/0209-media-v4l-vsp1-Support-histogram-generators-in-pipel.patch b/patches.renesas/0209-media-v4l-vsp1-Support-histogram-generators-in-pipel.patch
index 607c8020e52575..b705c12084648a 100644
--- a/patches.renesas/0209-media-v4l-vsp1-Support-histogram-generators-in-pipel.patch
+++ b/patches.renesas/0209-media-v4l-vsp1-Support-histogram-generators-in-pipel.patch
@@ -15,19 +15,17 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit c8663c8e15c95a351296d9d284b0cad5d373234c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_drm.c | 2 +-
- drivers/media/platform/vsp1/vsp1_drv.c | 4 +-
- drivers/media/platform/vsp1/vsp1_entity.c | 124 ++++++++++++++++++++++++++----
- drivers/media/platform/vsp1/vsp1_entity.h | 8 +-
- drivers/media/platform/vsp1/vsp1_pipe.c | 6 +-
- drivers/media/platform/vsp1/vsp1_video.c | 18 ++---
+ drivers/media/platform/vsp1/vsp1_drm.c | 2
+ drivers/media/platform/vsp1/vsp1_drv.c | 4
+ drivers/media/platform/vsp1/vsp1_entity.c | 124 ++++++++++++++++++++++++++----
+ drivers/media/platform/vsp1/vsp1_entity.h | 8 +
+ drivers/media/platform/vsp1/vsp1_pipe.c | 6 -
+ drivers/media/platform/vsp1/vsp1_video.c | 18 ++--
6 files changed, 134 insertions(+), 28 deletions(-)
-diff --git a/drivers/media/platform/vsp1/vsp1_drm.c b/drivers/media/platform/vsp1/vsp1_drm.c
-index 6e161347088e..14215051cef4 100644
--- a/drivers/media/platform/vsp1/vsp1_drm.c
+++ b/drivers/media/platform/vsp1/vsp1_drm.c
-@@ -496,7 +496,7 @@ void vsp1_du_atomic_flush(struct device *dev)
+@@ -496,7 +496,7 @@ void vsp1_du_atomic_flush(struct device
}
}
@@ -36,11 +34,9 @@ index 6e161347088e..14215051cef4 100644
if (entity->ops->configure) {
entity->ops->configure(entity, pipe, dl,
-diff --git a/drivers/media/platform/vsp1/vsp1_drv.c b/drivers/media/platform/vsp1/vsp1_drv.c
-index 8d1e61b353bb..83a6669a6328 100644
--- a/drivers/media/platform/vsp1/vsp1_drv.c
+++ b/drivers/media/platform/vsp1/vsp1_drv.c
-@@ -105,7 +105,9 @@ static int vsp1_create_sink_links(struct vsp1_device *vsp1,
+@@ -105,7 +105,9 @@ static int vsp1_create_sink_links(struct
if (source->type == sink->type)
continue;
@@ -51,8 +47,6 @@ index 8d1e61b353bb..83a6669a6328 100644
source->type == VSP1_ENTITY_WPF)
continue;
-diff --git a/drivers/media/platform/vsp1/vsp1_entity.c b/drivers/media/platform/vsp1/vsp1_entity.c
-index 12eca5660d6e..88a2aae182ba 100644
--- a/drivers/media/platform/vsp1/vsp1_entity.c
+++ b/drivers/media/platform/vsp1/vsp1_entity.c
@@ -21,6 +21,8 @@
@@ -64,7 +58,7 @@ index 12eca5660d6e..88a2aae182ba 100644
static inline struct vsp1_entity *
media_entity_to_vsp1_entity(struct media_entity *entity)
-@@ -28,11 +30,14 @@ media_entity_to_vsp1_entity(struct media_entity *entity)
+@@ -28,11 +30,14 @@ media_entity_to_vsp1_entity(struct media
return container_of(entity, struct vsp1_entity, subdev.entity);
}
@@ -80,7 +74,7 @@ index 12eca5660d6e..88a2aae182ba 100644
if (source->route->reg == 0)
return;
-@@ -283,25 +288,32 @@ int vsp1_subdev_enum_frame_size(struct v4l2_subdev *subdev,
+@@ -283,25 +288,32 @@ done:
* Media Operations
*/
@@ -124,7 +118,7 @@ index 12eca5660d6e..88a2aae182ba 100644
} else {
source->sink = NULL;
source->sink_pad = 0;
-@@ -310,6 +322,85 @@ int vsp1_entity_link_setup(struct media_entity *entity,
+@@ -310,6 +322,85 @@ int vsp1_entity_link_setup(struct media_
return 0;
}
@@ -210,7 +204,7 @@ index 12eca5660d6e..88a2aae182ba 100644
/* -----------------------------------------------------------------------------
* Initialization
*/
-@@ -388,7 +479,14 @@ int vsp1_entity_init(struct vsp1_device *vsp1, struct vsp1_entity *entity,
+@@ -388,7 +479,14 @@ int vsp1_entity_init(struct vsp1_device
for (i = 0; i < num_pads - 1; ++i)
entity->pads[i].flags = MEDIA_PAD_FL_SINK;
@@ -226,8 +220,6 @@ index 12eca5660d6e..88a2aae182ba 100644
/* Initialize the media entity. */
ret = media_entity_pads_init(&entity->subdev.entity, num_pads,
-diff --git a/drivers/media/platform/vsp1/vsp1_entity.h b/drivers/media/platform/vsp1/vsp1_entity.h
-index 901146f807b9..c169a060b6d2 100644
--- a/drivers/media/platform/vsp1/vsp1_entity.h
+++ b/drivers/media/platform/vsp1/vsp1_entity.h
@@ -25,6 +25,8 @@ struct vsp1_pipeline;
@@ -247,7 +239,7 @@ index 901146f807b9..c169a060b6d2 100644
struct media_entity *sink;
unsigned int sink_pad;
-@@ -142,9 +145,12 @@ vsp1_entity_get_pad_selection(struct vsp1_entity *entity,
+@@ -142,9 +145,12 @@ vsp1_entity_get_pad_selection(struct vsp
int vsp1_entity_init_cfg(struct v4l2_subdev *subdev,
struct v4l2_subdev_pad_config *cfg);
@@ -261,11 +253,9 @@ index 901146f807b9..c169a060b6d2 100644
int vsp1_subdev_get_pad_format(struct v4l2_subdev *subdev,
struct v4l2_subdev_pad_config *cfg,
struct v4l2_subdev_format *fmt);
-diff --git a/drivers/media/platform/vsp1/vsp1_pipe.c b/drivers/media/platform/vsp1/vsp1_pipe.c
-index 35364f594e19..b5a765cbfc86 100644
--- a/drivers/media/platform/vsp1/vsp1_pipe.c
+++ b/drivers/media/platform/vsp1/vsp1_pipe.c
-@@ -252,6 +252,7 @@ bool vsp1_pipeline_stopped(struct vsp1_pipeline *pipe)
+@@ -252,6 +252,7 @@ bool vsp1_pipeline_stopped(struct vsp1_p
int vsp1_pipeline_stop(struct vsp1_pipeline *pipe)
{
@@ -273,7 +263,7 @@ index 35364f594e19..b5a765cbfc86 100644
struct vsp1_entity *entity;
unsigned long flags;
int ret;
-@@ -261,8 +262,7 @@ int vsp1_pipeline_stop(struct vsp1_pipeline *pipe)
+@@ -261,8 +262,7 @@ int vsp1_pipeline_stop(struct vsp1_pipel
* When using display lists in continuous frame mode the only
* way to stop the pipeline is to reset the hardware.
*/
@@ -283,7 +273,7 @@ index 35364f594e19..b5a765cbfc86 100644
if (ret == 0) {
spin_lock_irqsave(&pipe->irqlock, flags);
pipe->state = VSP1_PIPELINE_STOPPED;
-@@ -282,7 +282,7 @@ int vsp1_pipeline_stop(struct vsp1_pipeline *pipe)
+@@ -282,7 +282,7 @@ int vsp1_pipeline_stop(struct vsp1_pipel
list_for_each_entry(entity, &pipe->entities, list_pipe) {
if (entity->route && entity->route->reg)
@@ -292,11 +282,9 @@ index 35364f594e19..b5a765cbfc86 100644
VI6_DPR_NODE_UNUSED);
}
-diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c
-index 79f48a025546..1a98bc91d1e2 100644
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
-@@ -486,7 +486,12 @@ static int vsp1_video_pipeline_build_branch(struct vsp1_pipeline *pipe,
+@@ -486,7 +486,12 @@ static int vsp1_video_pipeline_build_bra
if (ret < 0)
return ret;
@@ -310,7 +298,7 @@ index 79f48a025546..1a98bc91d1e2 100644
while (1) {
if (pad == NULL) {
-@@ -539,14 +544,9 @@ static int vsp1_video_pipeline_build_branch(struct vsp1_pipeline *pipe,
+@@ -539,14 +544,9 @@ static int vsp1_video_pipeline_build_bra
: &input->entity;
}
@@ -327,7 +315,7 @@ index 79f48a025546..1a98bc91d1e2 100644
}
/* The last entity must be the output WPF. */
-@@ -800,7 +800,7 @@ static int vsp1_video_setup_pipeline(struct vsp1_pipeline *pipe)
+@@ -800,7 +800,7 @@ static int vsp1_video_setup_pipeline(str
}
list_for_each_entry(entity, &pipe->entities, list_pipe) {
@@ -336,6 +324,3 @@ index 79f48a025546..1a98bc91d1e2 100644
if (entity->ops->configure)
entity->ops->configure(entity, pipe, pipe->dl,
---
-2.13.3
-
diff --git a/patches.renesas/0210-media-v4l-vsp1-Fix-HGO-and-HGT-routing-register-addr.patch b/patches.renesas/0210-media-v4l-vsp1-Fix-HGO-and-HGT-routing-register-addr.patch
index d830c9668d7a52..ed9d6279ae8f1f 100644
--- a/patches.renesas/0210-media-v4l-vsp1-Fix-HGO-and-HGT-routing-register-addr.patch
+++ b/patches.renesas/0210-media-v4l-vsp1-Fix-HGO-and-HGT-routing-register-addr.patch
@@ -11,11 +11,9 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 98eee2550f7b5e800641e90469f400a8c06fde73)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_regs.h | 4 ++--
+ drivers/media/platform/vsp1/vsp1_regs.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/media/platform/vsp1/vsp1_regs.h b/drivers/media/platform/vsp1/vsp1_regs.h
-index 47b1dee044fb..61369e267667 100644
--- a/drivers/media/platform/vsp1/vsp1_regs.h
+++ b/drivers/media/platform/vsp1/vsp1_regs.h
@@ -328,8 +328,8 @@
@@ -29,6 +27,3 @@ index 47b1dee044fb..61369e267667 100644
#define VI6_DPR_SMPPT_TGW_MASK (7 << 8)
#define VI6_DPR_SMPPT_TGW_SHIFT 8
#define VI6_DPR_SMPPT_PT_MASK (0x3f << 0)
---
-2.13.3
-
diff --git a/patches.renesas/0211-media-v4l-Define-a-pixel-format-for-the-R-Car-VSP1-1.patch b/patches.renesas/0211-media-v4l-Define-a-pixel-format-for-the-R-Car-VSP1-1.patch
index 56f1870b08515f..3ffc34d2dbdae1 100644
--- a/patches.renesas/0211-media-v4l-Define-a-pixel-format-for-the-R-Car-VSP1-1.patch
+++ b/patches.renesas/0211-media-v4l-Define-a-pixel-format-for-the-R-Car-VSP1-1.patch
@@ -13,18 +13,15 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 14d66538716574f8899b22bff24a68301e65f08d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- Documentation/media/uapi/v4l/meta-formats.rst | 15 ++
- .../media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst | 168 +++++++++++++++++++++
- Documentation/media/uapi/v4l/pixfmt.rst | 1 +
- drivers/media/v4l2-core/v4l2-ioctl.c | 1 +
- include/uapi/linux/videodev2.h | 3 +
+ Documentation/media/uapi/v4l/meta-formats.rst | 15 +
+ Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst | 168 ++++++++++++++++++
+ Documentation/media/uapi/v4l/pixfmt.rst | 1
+ drivers/media/v4l2-core/v4l2-ioctl.c | 1
+ include/uapi/linux/videodev2.h | 3
5 files changed, 188 insertions(+)
create mode 100644 Documentation/media/uapi/v4l/meta-formats.rst
create mode 100644 Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst
-diff --git a/Documentation/media/uapi/v4l/meta-formats.rst b/Documentation/media/uapi/v4l/meta-formats.rst
-new file mode 100644
-index 000000000000..05ab91e12f10
--- /dev/null
+++ b/Documentation/media/uapi/v4l/meta-formats.rst
@@ -0,0 +1,15 @@
@@ -43,9 +40,6 @@ index 000000000000..05ab91e12f10
+ :maxdepth: 1
+
+ pixfmt-meta-vsp1-hgo
-diff --git a/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst b/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst
-new file mode 100644
-index 000000000000..8d37bb313493
--- /dev/null
+++ b/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst
@@ -0,0 +1,168 @@
@@ -217,21 +211,17 @@ index 000000000000..8d37bb313493
+ - :cspan:`4` ...
+ * - 1028
+ - :cspan:`4` max(R,G,B) bin 255 [31:0]
-diff --git a/Documentation/media/uapi/v4l/pixfmt.rst b/Documentation/media/uapi/v4l/pixfmt.rst
-index 4d297f6eb5f1..126fcd0faa7f 100644
--- a/Documentation/media/uapi/v4l/pixfmt.rst
+++ b/Documentation/media/uapi/v4l/pixfmt.rst
-@@ -33,4 +33,5 @@ see also :ref:`VIDIOC_G_FBUF <VIDIOC_G_FBUF>`.)
+@@ -33,4 +33,5 @@ see also :ref:`VIDIOC_G_FBUF <VIDIOC_G_F
pixfmt-013
sdr-formats
tch-formats
+ meta-formats
pixfmt-reserved
-diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
-index b1e4fff556f0..9f51ae56e4c3 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
-@@ -1265,6 +1265,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
+@@ -1265,6 +1265,7 @@ static void v4l_fill_fmtdesc(struct v4l2
case V4L2_TCH_FMT_DELTA_TD08: descr = "8-bit signed deltas"; break;
case V4L2_TCH_FMT_TU16: descr = "16-bit unsigned touch data"; break;
case V4L2_TCH_FMT_TU08: descr = "8-bit unsigned touch data"; break;
@@ -239,8 +229,6 @@ index b1e4fff556f0..9f51ae56e4c3 100644
default:
/* Compressed formats */
-diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
-index 2e0c8a9df8af..b4dc1bea942c 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -672,6 +672,9 @@ struct v4l2_pix_format {
@@ -253,6 +241,3 @@ index 2e0c8a9df8af..b4dc1bea942c 100644
/* priv field value to indicates that subsequent fields are valid. */
#define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
---
-2.13.3
-
diff --git a/patches.renesas/0212-media-v4l-vsp1-Add-HGO-support.patch b/patches.renesas/0212-media-v4l-vsp1-Add-HGO-support.patch
index 1f8e2dd9a60a7d..a92dcd4de39f29 100644
--- a/patches.renesas/0212-media-v4l-vsp1-Add-HGO-support.patch
+++ b/patches.renesas/0212-media-v4l-vsp1-Add-HGO-support.patch
@@ -12,25 +12,23 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit f2421521de185c0281799712863db8e23d29a375)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/Makefile | 2 +-
- drivers/media/platform/vsp1/vsp1.h | 3 +
- drivers/media/platform/vsp1/vsp1_drv.c | 42 ++++--
- drivers/media/platform/vsp1/vsp1_entity.c | 16 +++
- drivers/media/platform/vsp1/vsp1_hgo.c | 228 ++++++++++++++++++++++++++++++
- drivers/media/platform/vsp1/vsp1_hgo.h | 45 ++++++
- drivers/media/platform/vsp1/vsp1_pipe.c | 16 +++
- drivers/media/platform/vsp1/vsp1_pipe.h | 2 +
- drivers/media/platform/vsp1/vsp1_regs.h | 20 ++-
- drivers/media/platform/vsp1/vsp1_video.c | 6 +
+ drivers/media/platform/vsp1/Makefile | 2
+ drivers/media/platform/vsp1/vsp1.h | 3
+ drivers/media/platform/vsp1/vsp1_drv.c | 42 ++++-
+ drivers/media/platform/vsp1/vsp1_entity.c | 16 ++
+ drivers/media/platform/vsp1/vsp1_hgo.c | 228 ++++++++++++++++++++++++++++++
+ drivers/media/platform/vsp1/vsp1_hgo.h | 45 +++++
+ drivers/media/platform/vsp1/vsp1_pipe.c | 16 ++
+ drivers/media/platform/vsp1/vsp1_pipe.h | 2
+ drivers/media/platform/vsp1/vsp1_regs.h | 20 ++
+ drivers/media/platform/vsp1/vsp1_video.c | 6
10 files changed, 367 insertions(+), 13 deletions(-)
create mode 100644 drivers/media/platform/vsp1/vsp1_hgo.c
create mode 100644 drivers/media/platform/vsp1/vsp1_hgo.h
-diff --git a/drivers/media/platform/vsp1/Makefile b/drivers/media/platform/vsp1/Makefile
-index c559536f7867..8ab6a063569e 100644
--- a/drivers/media/platform/vsp1/Makefile
+++ b/drivers/media/platform/vsp1/Makefile
-@@ -3,7 +3,7 @@ vsp1-y += vsp1_dl.o vsp1_drm.o vsp1_video.o
+@@ -3,7 +3,7 @@ vsp1-y += vsp1_dl.o vsp1_drm.o vsp1_
vsp1-y += vsp1_rpf.o vsp1_rwpf.o vsp1_wpf.o
vsp1-y += vsp1_clu.o vsp1_hsit.o vsp1_lut.o
vsp1-y += vsp1_bru.o vsp1_sru.o vsp1_uds.o
@@ -39,8 +37,6 @@ index c559536f7867..8ab6a063569e 100644
vsp1-y += vsp1_lif.o
obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1.o
-diff --git a/drivers/media/platform/vsp1/vsp1.h b/drivers/media/platform/vsp1/vsp1.h
-index b23fa879a9aa..0ba7521c01b4 100644
--- a/drivers/media/platform/vsp1/vsp1.h
+++ b/drivers/media/platform/vsp1/vsp1.h
@@ -32,6 +32,7 @@ struct vsp1_entity;
@@ -67,8 +63,6 @@ index b23fa879a9aa..0ba7521c01b4 100644
struct vsp1_hsit *hsi;
struct vsp1_hsit *hst;
struct vsp1_lif *lif;
-diff --git a/drivers/media/platform/vsp1/vsp1_drv.c b/drivers/media/platform/vsp1/vsp1_drv.c
-index 83a6669a6328..0acc8ed6ac59 100644
--- a/drivers/media/platform/vsp1/vsp1_drv.c
+++ b/drivers/media/platform/vsp1/vsp1_drv.c
@@ -30,6 +30,7 @@
@@ -79,7 +73,7 @@ index 83a6669a6328..0acc8ed6ac59 100644
#include "vsp1_hsit.h"
#include "vsp1_lif.h"
#include "vsp1_lut.h"
-@@ -150,6 +151,16 @@ static int vsp1_uapi_create_links(struct vsp1_device *vsp1)
+@@ -150,6 +151,16 @@ static int vsp1_uapi_create_links(struct
return ret;
}
@@ -96,7 +90,7 @@ index 83a6669a6328..0acc8ed6ac59 100644
if (vsp1->lif) {
ret = media_create_pad_link(&vsp1->wpf[0]->entity.subdev.entity,
RWPF_PAD_SOURCE,
-@@ -283,6 +294,17 @@ static int vsp1_create_entities(struct vsp1_device *vsp1)
+@@ -283,6 +294,17 @@ static int vsp1_create_entities(struct v
list_add_tail(&vsp1->hst->entity.list_dev, &vsp1->entities);
@@ -114,7 +108,7 @@ index 83a6669a6328..0acc8ed6ac59 100644
/*
* The LIF is only supported when used in conjunction with the DU, in
* which case the userspace API is disabled. If the userspace API is
-@@ -568,8 +590,8 @@ static const struct vsp1_device_info vsp1_device_infos[] = {
+@@ -568,8 +590,8 @@ static const struct vsp1_device_info vsp
.version = VI6_IP_VERSION_MODEL_VSPS_H2,
.model = "VSP1-S",
.gen = 2,
@@ -125,7 +119,7 @@ index 83a6669a6328..0acc8ed6ac59 100644
.rpf_count = 5,
.uds_count = 3,
.wpf_count = 4,
-@@ -589,7 +611,8 @@ static const struct vsp1_device_info vsp1_device_infos[] = {
+@@ -589,7 +611,8 @@ static const struct vsp1_device_info vsp
.version = VI6_IP_VERSION_MODEL_VSPD_GEN2,
.model = "VSP1-D",
.gen = 2,
@@ -135,7 +129,7 @@ index 83a6669a6328..0acc8ed6ac59 100644
.rpf_count = 4,
.uds_count = 1,
.wpf_count = 1,
-@@ -599,8 +622,8 @@ static const struct vsp1_device_info vsp1_device_infos[] = {
+@@ -599,8 +622,8 @@ static const struct vsp1_device_info vsp
.version = VI6_IP_VERSION_MODEL_VSPS_M2,
.model = "VSP1-S",
.gen = 2,
@@ -146,7 +140,7 @@ index 83a6669a6328..0acc8ed6ac59 100644
.rpf_count = 5,
.uds_count = 1,
.wpf_count = 4,
-@@ -632,8 +655,9 @@ static const struct vsp1_device_info vsp1_device_infos[] = {
+@@ -632,8 +655,9 @@ static const struct vsp1_device_info vsp
.version = VI6_IP_VERSION_MODEL_VSPI_GEN3,
.model = "VSP2-I",
.gen = 3,
@@ -158,7 +152,7 @@ index 83a6669a6328..0acc8ed6ac59 100644
.rpf_count = 1,
.uds_count = 1,
.wpf_count = 1,
-@@ -651,8 +675,8 @@ static const struct vsp1_device_info vsp1_device_infos[] = {
+@@ -651,8 +675,8 @@ static const struct vsp1_device_info vsp
.version = VI6_IP_VERSION_MODEL_VSPBC_GEN3,
.model = "VSP2-BC",
.gen = 3,
@@ -169,11 +163,9 @@ index 83a6669a6328..0acc8ed6ac59 100644
.rpf_count = 5,
.wpf_count = 1,
.num_bru_inputs = 5,
-diff --git a/drivers/media/platform/vsp1/vsp1_entity.c b/drivers/media/platform/vsp1/vsp1_entity.c
-index 88a2aae182ba..c1587e3f01cb 100644
--- a/drivers/media/platform/vsp1/vsp1_entity.c
+++ b/drivers/media/platform/vsp1/vsp1_entity.c
-@@ -37,6 +37,21 @@ void vsp1_entity_route_setup(struct vsp1_entity *entity,
+@@ -37,6 +37,21 @@ void vsp1_entity_route_setup(struct vsp1
struct vsp1_entity *source;
struct vsp1_entity *sink;
@@ -195,7 +187,7 @@ index 88a2aae182ba..c1587e3f01cb 100644
source = entity;
if (source->route->reg == 0)
return;
-@@ -427,6 +442,7 @@ static const struct vsp1_route vsp1_routes[] = {
+@@ -427,6 +442,7 @@ static const struct vsp1_route vsp1_rout
VI6_DPR_NODE_BRU_IN(2), VI6_DPR_NODE_BRU_IN(3),
VI6_DPR_NODE_BRU_IN(4) }, VI6_DPR_NODE_BRU_OUT },
VSP1_ENTITY_ROUTE(CLU),
@@ -203,9 +195,6 @@ index 88a2aae182ba..c1587e3f01cb 100644
VSP1_ENTITY_ROUTE(HSI),
VSP1_ENTITY_ROUTE(HST),
{ VSP1_ENTITY_LIF, 0, 0, { VI6_DPR_NODE_LIF, }, VI6_DPR_NODE_LIF },
-diff --git a/drivers/media/platform/vsp1/vsp1_hgo.c b/drivers/media/platform/vsp1/vsp1_hgo.c
-new file mode 100644
-index 000000000000..a138c6b7fb05
--- /dev/null
+++ b/drivers/media/platform/vsp1/vsp1_hgo.c
@@ -0,0 +1,228 @@
@@ -437,9 +426,6 @@ index 000000000000..a138c6b7fb05
+
+ return hgo;
+}
-diff --git a/drivers/media/platform/vsp1/vsp1_hgo.h b/drivers/media/platform/vsp1/vsp1_hgo.h
-new file mode 100644
-index 000000000000..c6c0b7a80e0c
--- /dev/null
+++ b/drivers/media/platform/vsp1/vsp1_hgo.h
@@ -0,0 +1,45 @@
@@ -488,8 +474,6 @@ index 000000000000..c6c0b7a80e0c
+void vsp1_hgo_frame_end(struct vsp1_entity *hgo);
+
+#endif /* __VSP1_HGO_H__ */
-diff --git a/drivers/media/platform/vsp1/vsp1_pipe.c b/drivers/media/platform/vsp1/vsp1_pipe.c
-index b5a765cbfc86..bc0460c24397 100644
--- a/drivers/media/platform/vsp1/vsp1_pipe.c
+++ b/drivers/media/platform/vsp1/vsp1_pipe.c
@@ -23,6 +23,7 @@
@@ -500,7 +484,7 @@ index b5a765cbfc86..bc0460c24397 100644
#include "vsp1_pipe.h"
#include "vsp1_rwpf.h"
#include "vsp1_uds.h"
-@@ -204,11 +205,18 @@ void vsp1_pipeline_reset(struct vsp1_pipeline *pipe)
+@@ -204,11 +205,18 @@ void vsp1_pipeline_reset(struct vsp1_pip
pipe->output = NULL;
}
@@ -519,7 +503,7 @@ index b5a765cbfc86..bc0460c24397 100644
pipe->lif = NULL;
pipe->uds = NULL;
}
-@@ -286,6 +294,11 @@ int vsp1_pipeline_stop(struct vsp1_pipeline *pipe)
+@@ -286,6 +294,11 @@ int vsp1_pipeline_stop(struct vsp1_pipel
VI6_DPR_NODE_UNUSED);
}
@@ -531,7 +515,7 @@ index b5a765cbfc86..bc0460c24397 100644
v4l2_subdev_call(&pipe->output->entity.subdev, video, s_stream, 0);
return ret;
-@@ -309,6 +322,9 @@ void vsp1_pipeline_frame_end(struct vsp1_pipeline *pipe)
+@@ -309,6 +322,9 @@ void vsp1_pipeline_frame_end(struct vsp1
vsp1_dlm_irq_frame_end(pipe->output->dlm);
@@ -541,8 +525,6 @@ index b5a765cbfc86..bc0460c24397 100644
if (pipe->frame_end)
pipe->frame_end(pipe);
-diff --git a/drivers/media/platform/vsp1/vsp1_pipe.h b/drivers/media/platform/vsp1/vsp1_pipe.h
-index 1144bf1e671a..4d91088c386b 100644
--- a/drivers/media/platform/vsp1/vsp1_pipe.h
+++ b/drivers/media/platform/vsp1/vsp1_pipe.h
@@ -73,6 +73,7 @@ enum vsp1_pipeline_state {
@@ -561,8 +543,6 @@ index 1144bf1e671a..4d91088c386b 100644
struct vsp1_entity *lif;
struct vsp1_entity *uds;
struct vsp1_entity *uds_input;
-diff --git a/drivers/media/platform/vsp1/vsp1_regs.h b/drivers/media/platform/vsp1/vsp1_regs.h
-index 61369e267667..5414e519f7d8 100644
--- a/drivers/media/platform/vsp1/vsp1_regs.h
+++ b/drivers/media/platform/vsp1/vsp1_regs.h
@@ -590,24 +590,38 @@
@@ -607,8 +587,6 @@ index 61369e267667..5414e519f7d8 100644
/* -----------------------------------------------------------------------------
* HGT Control Registers
-diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c
-index 1a98bc91d1e2..d47b93f2af79 100644
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
@@ -31,6 +31,7 @@
@@ -619,7 +597,7 @@ index 1a98bc91d1e2..d47b93f2af79 100644
#include "vsp1_pipe.h"
#include "vsp1_rwpf.h"
#include "vsp1_uds.h"
-@@ -601,6 +602,11 @@ static int vsp1_video_pipeline_build(struct vsp1_pipeline *pipe,
+@@ -601,6 +602,11 @@ static int vsp1_video_pipeline_build(str
pipe->lif = e;
} else if (e->type == VSP1_ENTITY_BRU) {
pipe->bru = e;
@@ -631,6 +609,3 @@ index 1a98bc91d1e2..d47b93f2af79 100644
}
}
---
-2.13.3
-
diff --git a/patches.renesas/0213-media-v4l-Define-a-pixel-format-for-the-R-Car-VSP1-2.patch b/patches.renesas/0213-media-v4l-Define-a-pixel-format-for-the-R-Car-VSP1-2.patch
index ae9d9606a4522c..fb4ed2e55e4fd6 100644
--- a/patches.renesas/0213-media-v4l-Define-a-pixel-format-for-the-R-Car-VSP1-2.patch
+++ b/patches.renesas/0213-media-v4l-Define-a-pixel-format-for-the-R-Car-VSP1-2.patch
@@ -18,25 +18,20 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 5deb1c04c9f2cc3fe4b355a55a8fad244683a54a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- Documentation/media/uapi/v4l/meta-formats.rst | 1 +
- .../media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst | 120 +++++++++++++++++++++
- drivers/media/v4l2-core/v4l2-ioctl.c | 1 +
- include/uapi/linux/videodev2.h | 3 +-
+ Documentation/media/uapi/v4l/meta-formats.rst | 1
+ Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst | 120 ++++++++++++++++++
+ drivers/media/v4l2-core/v4l2-ioctl.c | 1
+ include/uapi/linux/videodev2.h | 3
4 files changed, 124 insertions(+), 1 deletion(-)
create mode 100644 Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst
-diff --git a/Documentation/media/uapi/v4l/meta-formats.rst b/Documentation/media/uapi/v4l/meta-formats.rst
-index 05ab91e12f10..01e24e3df571 100644
--- a/Documentation/media/uapi/v4l/meta-formats.rst
+++ b/Documentation/media/uapi/v4l/meta-formats.rst
-@@ -13,3 +13,4 @@ These formats are used for the :ref:`metadata` interface only.
+@@ -13,3 +13,4 @@ These formats are used for the :ref:`met
:maxdepth: 1
pixfmt-meta-vsp1-hgo
+ pixfmt-meta-vsp1-hgt
-diff --git a/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst b/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst
-new file mode 100644
-index 000000000000..fb9f79466319
--- /dev/null
+++ b/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst
@@ -0,0 +1,120 @@
@@ -160,11 +155,9 @@ index 000000000000..fb9f79466319
+ - :cspan:`4` ...
+ * - 772
+ - :cspan:`4` Histogram bucket (m=5, n=31) [31:0]
-diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
-index 9f51ae56e4c3..89567468f4e8 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
-@@ -1266,6 +1266,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
+@@ -1266,6 +1266,7 @@ static void v4l_fill_fmtdesc(struct v4l2
case V4L2_TCH_FMT_TU16: descr = "16-bit unsigned touch data"; break;
case V4L2_TCH_FMT_TU08: descr = "8-bit unsigned touch data"; break;
case V4L2_META_FMT_VSP1_HGO: descr = "R-Car VSP1 1-D Histogram"; break;
@@ -172,8 +165,6 @@ index 9f51ae56e4c3..89567468f4e8 100644
default:
/* Compressed formats */
-diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
-index b4dc1bea942c..0a875bab5c54 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -673,7 +673,8 @@ struct v4l2_pix_format {
@@ -186,6 +177,3 @@ index b4dc1bea942c..0a875bab5c54 100644
/* priv field value to indicates that subsequent fields are valid. */
#define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
---
-2.13.3
-
diff --git a/patches.renesas/0214-media-v4l-vsp1-Add-HGT-support.patch b/patches.renesas/0214-media-v4l-vsp1-Add-HGT-support.patch
index 7fb6aef488a9f2..d7c385fca8f1ce 100644
--- a/patches.renesas/0214-media-v4l-vsp1-Add-HGT-support.patch
+++ b/patches.renesas/0214-media-v4l-vsp1-Add-HGT-support.patch
@@ -18,25 +18,23 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 0ac702d5b903d441ef64e61f453de7c0ce1322fa)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/Makefile | 2 +-
- drivers/media/platform/vsp1/vsp1.h | 3 +
- drivers/media/platform/vsp1/vsp1_drv.c | 32 ++++-
- drivers/media/platform/vsp1/vsp1_entity.c | 14 ++
- drivers/media/platform/vsp1/vsp1_hgt.c | 222 ++++++++++++++++++++++++++++++
- drivers/media/platform/vsp1/vsp1_hgt.h | 42 ++++++
- drivers/media/platform/vsp1/vsp1_pipe.c | 16 +++
- drivers/media/platform/vsp1/vsp1_pipe.h | 2 +
- drivers/media/platform/vsp1/vsp1_regs.h | 9 ++
- drivers/media/platform/vsp1/vsp1_video.c | 6 +
+ drivers/media/platform/vsp1/Makefile | 2
+ drivers/media/platform/vsp1/vsp1.h | 3
+ drivers/media/platform/vsp1/vsp1_drv.c | 32 +++-
+ drivers/media/platform/vsp1/vsp1_entity.c | 14 +
+ drivers/media/platform/vsp1/vsp1_hgt.c | 222 ++++++++++++++++++++++++++++++
+ drivers/media/platform/vsp1/vsp1_hgt.h | 42 +++++
+ drivers/media/platform/vsp1/vsp1_pipe.c | 16 ++
+ drivers/media/platform/vsp1/vsp1_pipe.h | 2
+ drivers/media/platform/vsp1/vsp1_regs.h | 9 +
+ drivers/media/platform/vsp1/vsp1_video.c | 6
10 files changed, 343 insertions(+), 5 deletions(-)
create mode 100644 drivers/media/platform/vsp1/vsp1_hgt.c
create mode 100644 drivers/media/platform/vsp1/vsp1_hgt.h
-diff --git a/drivers/media/platform/vsp1/Makefile b/drivers/media/platform/vsp1/Makefile
-index 8ab6a063569e..a33afc385a48 100644
--- a/drivers/media/platform/vsp1/Makefile
+++ b/drivers/media/platform/vsp1/Makefile
-@@ -3,7 +3,7 @@ vsp1-y += vsp1_dl.o vsp1_drm.o vsp1_video.o
+@@ -3,7 +3,7 @@ vsp1-y += vsp1_dl.o vsp1_drm.o vsp1_
vsp1-y += vsp1_rpf.o vsp1_rwpf.o vsp1_wpf.o
vsp1-y += vsp1_clu.o vsp1_hsit.o vsp1_lut.o
vsp1-y += vsp1_bru.o vsp1_sru.o vsp1_uds.o
@@ -45,8 +43,6 @@ index 8ab6a063569e..a33afc385a48 100644
vsp1-y += vsp1_lif.o
obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1.o
-diff --git a/drivers/media/platform/vsp1/vsp1.h b/drivers/media/platform/vsp1/vsp1.h
-index 0ba7521c01b4..85387a64179a 100644
--- a/drivers/media/platform/vsp1/vsp1.h
+++ b/drivers/media/platform/vsp1/vsp1.h
@@ -33,6 +33,7 @@ struct vsp1_platform_data;
@@ -73,8 +69,6 @@ index 0ba7521c01b4..85387a64179a 100644
struct vsp1_hsit *hsi;
struct vsp1_hsit *hst;
struct vsp1_lif *lif;
-diff --git a/drivers/media/platform/vsp1/vsp1_drv.c b/drivers/media/platform/vsp1/vsp1_drv.c
-index 0acc8ed6ac59..048446af5ae7 100644
--- a/drivers/media/platform/vsp1/vsp1_drv.c
+++ b/drivers/media/platform/vsp1/vsp1_drv.c
@@ -31,6 +31,7 @@
@@ -85,7 +79,7 @@ index 0acc8ed6ac59..048446af5ae7 100644
#include "vsp1_hsit.h"
#include "vsp1_lif.h"
#include "vsp1_lut.h"
-@@ -161,6 +162,16 @@ static int vsp1_uapi_create_links(struct vsp1_device *vsp1)
+@@ -161,6 +162,16 @@ static int vsp1_uapi_create_links(struct
return ret;
}
@@ -102,7 +96,7 @@ index 0acc8ed6ac59..048446af5ae7 100644
if (vsp1->lif) {
ret = media_create_pad_link(&vsp1->wpf[0]->entity.subdev.entity,
RWPF_PAD_SOURCE,
-@@ -305,6 +316,17 @@ static int vsp1_create_entities(struct vsp1_device *vsp1)
+@@ -305,6 +316,17 @@ static int vsp1_create_entities(struct v
&vsp1->entities);
}
@@ -120,7 +114,7 @@ index 0acc8ed6ac59..048446af5ae7 100644
/*
* The LIF is only supported when used in conjunction with the DU, in
* which case the userspace API is disabled. If the userspace API is
-@@ -591,7 +613,8 @@ static const struct vsp1_device_info vsp1_device_infos[] = {
+@@ -591,7 +613,8 @@ static const struct vsp1_device_info vsp
.model = "VSP1-S",
.gen = 2,
.features = VSP1_HAS_BRU | VSP1_HAS_CLU | VSP1_HAS_HGO
@@ -130,7 +124,7 @@ index 0acc8ed6ac59..048446af5ae7 100644
.rpf_count = 5,
.uds_count = 3,
.wpf_count = 4,
-@@ -623,7 +646,8 @@ static const struct vsp1_device_info vsp1_device_infos[] = {
+@@ -623,7 +646,8 @@ static const struct vsp1_device_info vsp
.model = "VSP1-S",
.gen = 2,
.features = VSP1_HAS_BRU | VSP1_HAS_CLU | VSP1_HAS_HGO
@@ -140,7 +134,7 @@ index 0acc8ed6ac59..048446af5ae7 100644
.rpf_count = 5,
.uds_count = 1,
.wpf_count = 4,
-@@ -655,8 +679,8 @@ static const struct vsp1_device_info vsp1_device_infos[] = {
+@@ -655,8 +679,8 @@ static const struct vsp1_device_info vsp
.version = VI6_IP_VERSION_MODEL_VSPI_GEN3,
.model = "VSP2-I",
.gen = 3,
@@ -151,11 +145,9 @@ index 0acc8ed6ac59..048446af5ae7 100644
| VSP1_HAS_WPF_VFLIP,
.rpf_count = 1,
.uds_count = 1,
-diff --git a/drivers/media/platform/vsp1/vsp1_entity.c b/drivers/media/platform/vsp1/vsp1_entity.c
-index c1587e3f01cb..4bdb3b141611 100644
--- a/drivers/media/platform/vsp1/vsp1_entity.c
+++ b/drivers/media/platform/vsp1/vsp1_entity.c
-@@ -50,6 +50,19 @@ void vsp1_entity_route_setup(struct vsp1_entity *entity,
+@@ -50,6 +50,19 @@ void vsp1_entity_route_setup(struct vsp1
vsp1_dl_list_write(dl, VI6_DPR_HGO_SMPPT, smppt);
return;
@@ -175,7 +167,7 @@ index c1587e3f01cb..4bdb3b141611 100644
}
source = entity;
-@@ -443,6 +456,7 @@ static const struct vsp1_route vsp1_routes[] = {
+@@ -443,6 +456,7 @@ static const struct vsp1_route vsp1_rout
VI6_DPR_NODE_BRU_IN(4) }, VI6_DPR_NODE_BRU_OUT },
VSP1_ENTITY_ROUTE(CLU),
{ VSP1_ENTITY_HGO, 0, 0, { 0, }, 0 },
@@ -183,9 +175,6 @@ index c1587e3f01cb..4bdb3b141611 100644
VSP1_ENTITY_ROUTE(HSI),
VSP1_ENTITY_ROUTE(HST),
{ VSP1_ENTITY_LIF, 0, 0, { VI6_DPR_NODE_LIF, }, VI6_DPR_NODE_LIF },
-diff --git a/drivers/media/platform/vsp1/vsp1_hgt.c b/drivers/media/platform/vsp1/vsp1_hgt.c
-new file mode 100644
-index 000000000000..b5ce305e3e6f
--- /dev/null
+++ b/drivers/media/platform/vsp1/vsp1_hgt.c
@@ -0,0 +1,222 @@
@@ -411,9 +400,6 @@ index 000000000000..b5ce305e3e6f
+
+ return hgt;
+}
-diff --git a/drivers/media/platform/vsp1/vsp1_hgt.h b/drivers/media/platform/vsp1/vsp1_hgt.h
-new file mode 100644
-index 000000000000..83f2e130942a
--- /dev/null
+++ b/drivers/media/platform/vsp1/vsp1_hgt.h
@@ -0,0 +1,42 @@
@@ -459,8 +445,6 @@ index 000000000000..83f2e130942a
+void vsp1_hgt_frame_end(struct vsp1_entity *hgt);
+
+#endif /* __VSP1_HGT_H__ */
-diff --git a/drivers/media/platform/vsp1/vsp1_pipe.c b/drivers/media/platform/vsp1/vsp1_pipe.c
-index bc0460c24397..edebf3fa926f 100644
--- a/drivers/media/platform/vsp1/vsp1_pipe.c
+++ b/drivers/media/platform/vsp1/vsp1_pipe.c
@@ -24,6 +24,7 @@
@@ -471,7 +455,7 @@ index bc0460c24397..edebf3fa926f 100644
#include "vsp1_pipe.h"
#include "vsp1_rwpf.h"
#include "vsp1_uds.h"
-@@ -211,12 +212,19 @@ void vsp1_pipeline_reset(struct vsp1_pipeline *pipe)
+@@ -211,12 +212,19 @@ void vsp1_pipeline_reset(struct vsp1_pip
hgo->histo.pipe = NULL;
}
@@ -491,7 +475,7 @@ index bc0460c24397..edebf3fa926f 100644
pipe->lif = NULL;
pipe->uds = NULL;
}
-@@ -299,6 +307,11 @@ int vsp1_pipeline_stop(struct vsp1_pipeline *pipe)
+@@ -299,6 +307,11 @@ int vsp1_pipeline_stop(struct vsp1_pipel
(7 << VI6_DPR_SMPPT_TGW_SHIFT) |
(VI6_DPR_NODE_UNUSED << VI6_DPR_SMPPT_PT_SHIFT));
@@ -503,7 +487,7 @@ index bc0460c24397..edebf3fa926f 100644
v4l2_subdev_call(&pipe->output->entity.subdev, video, s_stream, 0);
return ret;
-@@ -325,6 +338,9 @@ void vsp1_pipeline_frame_end(struct vsp1_pipeline *pipe)
+@@ -325,6 +338,9 @@ void vsp1_pipeline_frame_end(struct vsp1
if (pipe->hgo)
vsp1_hgo_frame_end(pipe->hgo);
@@ -513,8 +497,6 @@ index bc0460c24397..edebf3fa926f 100644
if (pipe->frame_end)
pipe->frame_end(pipe);
-diff --git a/drivers/media/platform/vsp1/vsp1_pipe.h b/drivers/media/platform/vsp1/vsp1_pipe.h
-index 4d91088c386b..91a784a13422 100644
--- a/drivers/media/platform/vsp1/vsp1_pipe.h
+++ b/drivers/media/platform/vsp1/vsp1_pipe.h
@@ -74,6 +74,7 @@ enum vsp1_pipeline_state {
@@ -533,8 +515,6 @@ index 4d91088c386b..91a784a13422 100644
struct vsp1_entity *lif;
struct vsp1_entity *uds;
struct vsp1_entity *uds_input;
-diff --git a/drivers/media/platform/vsp1/vsp1_regs.h b/drivers/media/platform/vsp1/vsp1_regs.h
-index 5414e519f7d8..cd3e32af6e3b 100644
--- a/drivers/media/platform/vsp1/vsp1_regs.h
+++ b/drivers/media/platform/vsp1/vsp1_regs.h
@@ -628,9 +628,17 @@
@@ -563,8 +543,6 @@ index 5414e519f7d8..cd3e32af6e3b 100644
/* -----------------------------------------------------------------------------
* LIF Control Registers
-diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c
-index d47b93f2af79..58593f13d246 100644
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
@@ -32,6 +32,7 @@
@@ -575,7 +553,7 @@ index d47b93f2af79..58593f13d246 100644
#include "vsp1_pipe.h"
#include "vsp1_rwpf.h"
#include "vsp1_uds.h"
-@@ -607,6 +608,11 @@ static int vsp1_video_pipeline_build(struct vsp1_pipeline *pipe,
+@@ -607,6 +608,11 @@ static int vsp1_video_pipeline_build(str
pipe->hgo = e;
hgo->histo.pipe = pipe;
@@ -587,6 +565,3 @@ index d47b93f2af79..58593f13d246 100644
}
}
---
-2.13.3
-
diff --git a/patches.renesas/0215-media-videodev.h-add-V4L2_CTRL_FLAG_MODIFY_LAYOUT.patch b/patches.renesas/0215-media-videodev.h-add-V4L2_CTRL_FLAG_MODIFY_LAYOUT.patch
index 15daae101e730d..53cb195cd2395e 100644
--- a/patches.renesas/0215-media-videodev.h-add-V4L2_CTRL_FLAG_MODIFY_LAYOUT.patch
+++ b/patches.renesas/0215-media-videodev.h-add-V4L2_CTRL_FLAG_MODIFY_LAYOUT.patch
@@ -12,11 +12,9 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 6df8be763115a0ce6b486ea304742e5646f74287)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- include/uapi/linux/videodev2.h | 1 +
+ include/uapi/linux/videodev2.h | 1 +
1 file changed, 1 insertion(+)
-diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
-index 0a875bab5c54..dd3778256d0d 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -1622,6 +1622,7 @@ struct v4l2_querymenu {
@@ -27,6 +25,3 @@ index 0a875bab5c54..dd3778256d0d 100644
/* Query flags, to be ORed with the control ID */
#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000
---
-2.13.3
-
diff --git a/patches.renesas/0216-media-vsp1-set-V4L2_CTRL_FLAG_MODIFY_LAYOUT-for-hist.patch b/patches.renesas/0216-media-vsp1-set-V4L2_CTRL_FLAG_MODIFY_LAYOUT-for-hist.patch
index ab2de7a4cbe257..42ca18eb21f8dd 100644
--- a/patches.renesas/0216-media-vsp1-set-V4L2_CTRL_FLAG_MODIFY_LAYOUT-for-hist.patch
+++ b/patches.renesas/0216-media-vsp1-set-V4L2_CTRL_FLAG_MODIFY_LAYOUT-for-hist.patch
@@ -13,14 +13,12 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 6c1c0afd19317a15d6f2ae4965a73be7240aba18)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/media/platform/vsp1/vsp1_hgo.c | 2 ++
+ drivers/media/platform/vsp1/vsp1_hgo.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/drivers/media/platform/vsp1/vsp1_hgo.c b/drivers/media/platform/vsp1/vsp1_hgo.c
-index a138c6b7fb05..50309c053b78 100644
--- a/drivers/media/platform/vsp1/vsp1_hgo.c
+++ b/drivers/media/platform/vsp1/vsp1_hgo.c
-@@ -111,6 +111,7 @@ static const struct v4l2_ctrl_config hgo_max_rgb_control = {
+@@ -111,6 +111,7 @@ static const struct v4l2_ctrl_config hgo
.max = 1,
.def = 0,
.step = 1,
@@ -28,7 +26,7 @@ index a138c6b7fb05..50309c053b78 100644
};
static const s64 hgo_num_bins[] = {
-@@ -125,6 +126,7 @@ static const struct v4l2_ctrl_config hgo_num_bins_control = {
+@@ -125,6 +126,7 @@ static const struct v4l2_ctrl_config hgo
.max = 1,
.def = 0,
.qmenu_int = hgo_num_bins,
@@ -36,6 +34,3 @@ index a138c6b7fb05..50309c053b78 100644
};
/* -----------------------------------------------------------------------------
---
-2.13.3
-
diff --git a/patches.renesas/0217-media-pixfmt-meta-vsp1-hgo.rst-remove-spurious.patch b/patches.renesas/0217-media-pixfmt-meta-vsp1-hgo.rst-remove-spurious.patch
index 920fa28004b098..ad77623d21f55b 100644
--- a/patches.renesas/0217-media-pixfmt-meta-vsp1-hgo.rst-remove-spurious.patch
+++ b/patches.renesas/0217-media-pixfmt-meta-vsp1-hgo.rst-remove-spurious.patch
@@ -17,11 +17,9 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 242b0c4cc96f97d0a3b96343acd21613b63fa4a6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- .../media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst | 24 +++++++++++-----------
+ Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst | 24 +++++++++---------
1 file changed, 12 insertions(+), 12 deletions(-)
-diff --git a/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst b/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst
-index 8d37bb313493..67796594fd48 100644
--- a/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst
+++ b/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst
@@ -53,19 +53,19 @@ contains one byte.
@@ -86,6 +84,3 @@ index 8d37bb313493..67796594fd48 100644
- max(R,G,B) min [7:0]
* - 4
- :cspan:`4` max(R,G,B) sum [31:0]
---
-2.13.3
-
diff --git a/patches.renesas/0218-USB-host-xhci-use-max-port-define.patch b/patches.renesas/0218-USB-host-xhci-use-max-port-define.patch
index d6664e82f4e70e..76ea11cb071645 100644
--- a/patches.renesas/0218-USB-host-xhci-use-max-port-define.patch
+++ b/patches.renesas/0218-USB-host-xhci-use-max-port-define.patch
@@ -11,14 +11,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 5120a266928a07231d198bb518f6fe73148786a3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-mem.c | 7 ++++---
+ drivers/usb/host/xhci-mem.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index ea1308a7b814..66e67355d84d 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -2310,10 +2310,11 @@ static int xhci_setup_port_arrays(struct xhci_hcd *xhci, gfp_t flags)
+@@ -2310,10 +2310,11 @@ static int xhci_setup_port_arrays(struct
/* Place limits on the number of roothub ports so that the hub
* descriptors aren't longer than the USB core will allocate.
*/
@@ -33,6 +31,3 @@ index ea1308a7b814..66e67355d84d 100644
}
if (xhci->num_usb2_ports > USB_MAXCHILDREN) {
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
---
-2.13.3
-
diff --git a/patches.renesas/0219-usb-xhci-trace-URB-before-giving-it-back-instead-of-.patch b/patches.renesas/0219-usb-xhci-trace-URB-before-giving-it-back-instead-of-.patch
index 5545e441638707..e274449e8886e7 100644
--- a/patches.renesas/0219-usb-xhci-trace-URB-before-giving-it-back-instead-of-.patch
+++ b/patches.renesas/0219-usb-xhci-trace-URB-before-giving-it-back-instead-of-.patch
@@ -12,14 +12,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 7bc5d5aff356f3ba16c4d1e9eaf95cc99b7574ab)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-ring.c | 2 +-
+ drivers/usb/host/xhci-ring.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index 74bf5c60a260..507ba7734b94 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -641,8 +641,8 @@ static void xhci_giveback_urb_in_irq(struct xhci_hcd *xhci,
+@@ -641,8 +641,8 @@ static void xhci_giveback_urb_in_irq(str
xhci_urb_free_priv(urb_priv);
usb_hcd_unlink_urb_from_ep(hcd, urb);
spin_unlock(&xhci->lock);
@@ -29,6 +27,3 @@ index 74bf5c60a260..507ba7734b94 100644
spin_lock(&xhci->lock);
}
---
-2.13.3
-
diff --git a/patches.renesas/0220-usb-host-xhci-ring-don-t-need-to-clear-interrupt-pen.patch b/patches.renesas/0220-usb-host-xhci-ring-don-t-need-to-clear-interrupt-pen.patch
index 1c31e960b60345..a41bb1d80958e8 100644
--- a/patches.renesas/0220-usb-host-xhci-ring-don-t-need-to-clear-interrupt-pen.patch
+++ b/patches.renesas/0220-usb-host-xhci-ring-don-t-need-to-clear-interrupt-pen.patch
@@ -23,16 +23,14 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 6a29beef9d1b16c762e469d77e28c3de3f5c3dbb)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-ring.c | 5 +----
- drivers/usb/host/xhci.c | 5 +++--
- include/linux/usb/hcd.h | 1 +
+ drivers/usb/host/xhci-ring.c | 5 +----
+ drivers/usb/host/xhci.c | 5 +++--
+ include/linux/usb/hcd.h | 1 +
3 files changed, 5 insertions(+), 6 deletions(-)
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index 507ba7734b94..0830b25f9499 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -2707,12 +2707,9 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd)
+@@ -2710,12 +2710,9 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
*/
status |= STS_EINT;
writel(status, &xhci->op_regs->status);
@@ -46,11 +44,9 @@ index 507ba7734b94..0830b25f9499 100644
irq_pending = readl(&xhci->ir_set->irq_pending);
irq_pending |= IMAN_IP;
writel(irq_pending, &xhci->ir_set->irq_pending);
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index dd2b42f52d99..716bd2e7e674 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -398,9 +398,10 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd)
+@@ -401,9 +401,10 @@ static int xhci_try_enable_msi(struct us
/* fall back to msi*/
ret = xhci_setup_msi(xhci);
@@ -63,8 +59,6 @@ index dd2b42f52d99..716bd2e7e674 100644
if (!pdev->irq) {
xhci_err(xhci, "No msi-x/msi found and no IRQ in BIOS\n");
-diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h
-index 66fc13705ab7..287cb491a887 100644
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
@@ -148,6 +148,7 @@ struct usb_hcd {
@@ -75,6 +69,3 @@ index 66fc13705ab7..287cb491a887 100644
unsigned remove_phy:1; /* auto-remove USB phy */
/* The next flag is a stopgap, to be removed when all the HCDs
---
-2.13.3
-
diff --git a/patches.renesas/0221-USB-xhci-fix-lock-inversion-problem.patch b/patches.renesas/0221-USB-xhci-fix-lock-inversion-problem.patch
index 34a8b71b24c199..9eeacf558829de 100644
--- a/patches.renesas/0221-USB-xhci-fix-lock-inversion-problem.patch
+++ b/patches.renesas/0221-USB-xhci-fix-lock-inversion-problem.patch
@@ -60,14 +60,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 63aea0dbab90a2461faaae357cbc8cfd6c8de9fe)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-ring.c | 5 +++--
+ drivers/usb/host/xhci-ring.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index 0830b25f9499..6d2492c1c643 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -2677,11 +2677,12 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd)
+@@ -2680,11 +2680,12 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
union xhci_trb *event_ring_deq;
irqreturn_t ret = IRQ_NONE;
@@ -81,7 +79,7 @@ index 0830b25f9499..6d2492c1c643 100644
/* Check if the xHC generated the interrupt, or the irq is shared */
status = readl(&xhci->op_regs->status);
if (status == ~(u32)0) {
-@@ -2754,7 +2755,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd)
+@@ -2757,7 +2758,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
ret = IRQ_HANDLED;
out:
@@ -90,6 +88,3 @@ index 0830b25f9499..6d2492c1c643 100644
return ret;
}
---
-2.13.3
-
diff --git a/patches.renesas/0222-xhci-Fix-command-ring-stop-regression-in-4.11.patch b/patches.renesas/0222-xhci-Fix-command-ring-stop-regression-in-4.11.patch
index 4c1b718890e31c..daf00bdd903449 100644
--- a/patches.renesas/0222-xhci-Fix-command-ring-stop-regression-in-4.11.patch
+++ b/patches.renesas/0222-xhci-Fix-command-ring-stop-regression-in-4.11.patch
@@ -17,16 +17,14 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 604d02a2a66ab7f93fd3b2bde3698c29ef057b65)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/usb/host/xhci-hub.c | 2 +-
- drivers/usb/host/xhci-ring.c | 8 ++++----
- drivers/usb/host/xhci.c | 8 ++++----
+ drivers/usb/host/xhci-hub.c | 2 +-
+ drivers/usb/host/xhci-ring.c | 8 ++++----
+ drivers/usb/host/xhci.c | 8 ++++----
3 files changed, 9 insertions(+), 9 deletions(-)
-diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
-index 5e3e9d4c6956..0dde49c35dd2 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
-@@ -419,7 +419,7 @@ static int xhci_stop_device(struct xhci_hcd *xhci, int slot_id, int suspend)
+@@ -419,7 +419,7 @@ static int xhci_stop_device(struct xhci_
wait_for_completion(cmd->completion);
if (cmd->status == COMP_COMMAND_ABORTED ||
@@ -35,11 +33,9 @@ index 5e3e9d4c6956..0dde49c35dd2 100644
xhci_warn(xhci, "Timeout while waiting for stop endpoint command\n");
ret = -ETIME;
}
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index 6d2492c1c643..03f63f50afb6 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -323,7 +323,7 @@ static void xhci_handle_stopped_cmd_ring(struct xhci_hcd *xhci,
+@@ -323,7 +323,7 @@ static void xhci_handle_stopped_cmd_ring
if (i_cmd->status != COMP_COMMAND_ABORTED)
continue;
@@ -48,7 +44,7 @@ index 6d2492c1c643..03f63f50afb6 100644
xhci_dbg(xhci, "Turn aborted command %p to no-op\n",
i_cmd->command_trb);
-@@ -1380,7 +1380,7 @@ static void handle_cmd_completion(struct xhci_hcd *xhci,
+@@ -1383,7 +1383,7 @@ static void handle_cmd_completion(struct
cmd_comp_code = GET_COMP_CODE(le32_to_cpu(event->status));
/* If CMD ring stopped we own the trbs between enqueue and dequeue */
@@ -57,7 +53,7 @@ index 6d2492c1c643..03f63f50afb6 100644
complete_all(&xhci->cmd_ring_stop_completion);
return;
}
-@@ -1436,8 +1436,8 @@ static void handle_cmd_completion(struct xhci_hcd *xhci,
+@@ -1439,8 +1439,8 @@ static void handle_cmd_completion(struct
break;
case TRB_CMD_NOOP:
/* Is this an aborted command turned to NO-OP? */
@@ -68,11 +64,9 @@ index 6d2492c1c643..03f63f50afb6 100644
break;
case TRB_RESET_EP:
WARN_ON(slot_id != TRB_TO_SLOT_ID(
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 716bd2e7e674..5c9e69cb8ea6 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1803,7 +1803,7 @@ static int xhci_configure_endpoint_result(struct xhci_hcd *xhci,
+@@ -1809,7 +1809,7 @@ static int xhci_configure_endpoint_resul
switch (*cmd_status) {
case COMP_COMMAND_ABORTED:
@@ -81,7 +75,7 @@ index 716bd2e7e674..5c9e69cb8ea6 100644
xhci_warn(xhci, "Timeout while waiting for configure endpoint command\n");
ret = -ETIME;
break;
-@@ -1853,7 +1853,7 @@ static int xhci_evaluate_context_result(struct xhci_hcd *xhci,
+@@ -1859,7 +1859,7 @@ static int xhci_evaluate_context_result(
switch (*cmd_status) {
case COMP_COMMAND_ABORTED:
@@ -90,7 +84,7 @@ index 716bd2e7e674..5c9e69cb8ea6 100644
xhci_warn(xhci, "Timeout while waiting for evaluate context command\n");
ret = -ETIME;
break;
-@@ -3472,7 +3472,7 @@ static int xhci_discover_or_reset_device(struct usb_hcd *hcd,
+@@ -3478,7 +3478,7 @@ static int xhci_discover_or_reset_device
ret = reset_device_cmd->status;
switch (ret) {
case COMP_COMMAND_ABORTED:
@@ -99,7 +93,7 @@ index 716bd2e7e674..5c9e69cb8ea6 100644
xhci_warn(xhci, "Timeout waiting for reset device command\n");
ret = -ETIME;
goto command_cleanup;
-@@ -3857,7 +3857,7 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -3863,7 +3863,7 @@ static int xhci_setup_device(struct usb_
*/
switch (command->status) {
case COMP_COMMAND_ABORTED:
@@ -108,6 +102,3 @@ index 716bd2e7e674..5c9e69cb8ea6 100644
xhci_warn(xhci, "Timeout while waiting for setup device command\n");
ret = -ETIME;
break;
---
-2.13.3
-
diff --git a/patches.renesas/0223-dt-bindings-net-sms911x-Add-missing-optional-VDD-reg.patch b/patches.renesas/0223-dt-bindings-net-sms911x-Add-missing-optional-VDD-reg.patch
index ec77dd5d40d8a9..f26f1b2296101b 100644
--- a/patches.renesas/0223-dt-bindings-net-sms911x-Add-missing-optional-VDD-reg.patch
+++ b/patches.renesas/0223-dt-bindings-net-sms911x-Add-missing-optional-VDD-reg.patch
@@ -15,11 +15,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 7e113321eccba2b52c0e9d11129d370c9511e4db)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- Documentation/devicetree/bindings/net/smsc911x.txt | 1 +
+ Documentation/devicetree/bindings/net/smsc911x.txt | 1 +
1 file changed, 1 insertion(+)
-diff --git a/Documentation/devicetree/bindings/net/smsc911x.txt b/Documentation/devicetree/bindings/net/smsc911x.txt
-index 16c3a9501f5d..acfafc8e143c 100644
--- a/Documentation/devicetree/bindings/net/smsc911x.txt
+++ b/Documentation/devicetree/bindings/net/smsc911x.txt
@@ -27,6 +27,7 @@ Optional properties:
@@ -30,6 +28,3 @@ index 16c3a9501f5d..acfafc8e143c 100644
Examples:
---
-2.13.3
-
diff --git a/patches.renesas/0224-net-phy-micrel-configure-intterupts-after-autoneg-wo.patch b/patches.renesas/0224-net-phy-micrel-configure-intterupts-after-autoneg-wo.patch
deleted file mode 100644
index a6f1e5788cfb7f..00000000000000
--- a/patches.renesas/0224-net-phy-micrel-configure-intterupts-after-autoneg-wo.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 042ca95f3db3b29670607a3afe3e360a60ad6300 Mon Sep 17 00:00:00 2001
-From: Zach Brown <zach.brown@ni.com>
-Date: Tue, 20 Jun 2017 12:48:11 -0500
-Subject: [PATCH 224/286] net/phy: micrel: configure intterupts after autoneg
- workaround
-
-The commit ("net/phy: micrel: Add workaround for bad autoneg") fixes an
-autoneg failure case by resetting the hardware. This turns off
-intterupts. Things will work themselves out if the phy polls, as it will
-figure out it's state during a poll. However if the phy uses only
-intterupts, the phy will stall, since interrupts are off. This patch
-fixes the issue by calling config_intr after resetting the phy.
-
-Fixes: d2fd719bcb0e ("net/phy: micrel: Add workaround for bad autoneg ")
-Signed-off-by: Zach Brown <zach.brown@ni.com>
-Reviewed-by: Andrew Lunn <andrew@lunn.ch>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-(cherry picked from commit b866203d872d5deeafcecd25ea429d6748b5bd56)
-Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
----
- drivers/net/phy/micrel.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
-index d18d631c9fed..a630728fa430 100644
---- a/drivers/net/phy/micrel.c
-+++ b/drivers/net/phy/micrel.c
-@@ -619,6 +619,8 @@ static int ksz9031_read_status(struct phy_device *phydev)
- if ((regval & 0xFF) == 0xFF) {
- phy_init_hw(phydev);
- phydev->link = 0;
-+ if (phydev->drv->config_intr && phy_interrupt_is_valid(phydev))
-+ phydev->drv->config_intr(phydev);
- }
-
- return 0;
---
-2.13.3
-
diff --git a/patches.renesas/0225-drm-bridge-dw-hdmi-Remove-unused-functions.patch b/patches.renesas/0225-drm-bridge-dw-hdmi-Remove-unused-functions.patch
index 37b387876d6266..c2f3c6a910276a 100644
--- a/patches.renesas/0225-drm-bridge-dw-hdmi-Remove-unused-functions.patch
+++ b/patches.renesas/0225-drm-bridge-dw-hdmi-Remove-unused-functions.patch
@@ -14,14 +14,12 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170303172007.26541-2-lauren
(cherry picked from commit 12a3a328eeb1467ef7170b9a710c0b53ee0273eb)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/dw-hdmi.c | 26 --------------------------
+ drivers/gpu/drm/bridge/dw-hdmi.c | 26 --------------------------
1 file changed, 26 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
-index 9a9ec27d9e28..ce7496399ccf 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
-@@ -837,32 +837,6 @@ static inline void hdmi_phy_test_clear(struct dw_hdmi *hdmi,
+@@ -837,32 +837,6 @@ static inline void hdmi_phy_test_clear(s
HDMI_PHY_TST0_TSTCLR_MASK, HDMI_PHY_TST0);
}
@@ -54,6 +52,3 @@ index 9a9ec27d9e28..ce7496399ccf 100644
static bool hdmi_phy_wait_i2c_done(struct dw_hdmi *hdmi, int msec)
{
u32 val;
---
-2.13.3
-
diff --git a/patches.renesas/0226-drm-bridge-dw-hdmi-Move-CSC-configuration-out-of-PHY.patch b/patches.renesas/0226-drm-bridge-dw-hdmi-Move-CSC-configuration-out-of-PHY.patch
index 03f94d1cb3de2d..108d5c19c924e8 100644
--- a/patches.renesas/0226-drm-bridge-dw-hdmi-Move-CSC-configuration-out-of-PHY.patch
+++ b/patches.renesas/0226-drm-bridge-dw-hdmi-Move-CSC-configuration-out-of-PHY.patch
@@ -15,14 +15,12 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170303172007.26541-3-lauren
(cherry picked from commit 8b9e1c0de3d81c7b2118f8c403a84fad758c3305)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/dw-hdmi.c | 25 ++++++++++---------------
+ drivers/gpu/drm/bridge/dw-hdmi.c | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
-index ce7496399ccf..906583beb08b 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
-@@ -914,7 +914,7 @@ static void dw_hdmi_phy_sel_interface_control(struct dw_hdmi *hdmi, u8 enable)
+@@ -914,7 +914,7 @@ static void dw_hdmi_phy_sel_interface_co
HDMI_PHY_CONF0_SELDIPIF_MASK);
}
@@ -31,7 +29,7 @@ index ce7496399ccf..906583beb08b 100644
{
u8 val, msec;
const struct dw_hdmi_plat_data *pdata = hdmi->plat_data;
-@@ -946,14 +946,6 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi, int cscon)
+@@ -946,14 +946,6 @@ static int hdmi_phy_configure(struct dw_
return -EINVAL;
}
@@ -46,7 +44,7 @@ index ce7496399ccf..906583beb08b 100644
/* gen2 tx power off */
dw_hdmi_phy_gen2_txpwron(hdmi, 0);
-@@ -1028,10 +1020,6 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi, int cscon)
+@@ -1028,10 +1020,6 @@ static int hdmi_phy_configure(struct dw_
static int dw_hdmi_phy_init(struct dw_hdmi *hdmi)
{
int i, ret;
@@ -57,7 +55,7 @@ index ce7496399ccf..906583beb08b 100644
/* HDMI Phy spec says to do the phy initialization sequence twice */
for (i = 0; i < 2; i++) {
-@@ -1040,8 +1028,7 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi)
+@@ -1040,8 +1028,7 @@ static int dw_hdmi_phy_init(struct dw_hd
dw_hdmi_phy_enable_tmds(hdmi, 0);
dw_hdmi_phy_enable_powerdown(hdmi, true);
@@ -67,7 +65,7 @@ index ce7496399ccf..906583beb08b 100644
if (ret)
return ret;
}
-@@ -1303,6 +1290,14 @@ static void dw_hdmi_enable_video_path(struct dw_hdmi *hdmi)
+@@ -1303,6 +1290,14 @@ static void dw_hdmi_enable_video_path(st
clkdis &= ~HDMI_MC_CLKDIS_CSCCLK_DISABLE;
hdmi_writeb(hdmi, clkdis, HDMI_MC_CLKDIS);
}
@@ -82,6 +80,3 @@ index ce7496399ccf..906583beb08b 100644
}
static void hdmi_enable_audio_clk(struct dw_hdmi *hdmi)
---
-2.13.3
-
diff --git a/patches.renesas/0227-drm-bridge-dw-hdmi-Enable-CSC-even-for-DVI.patch b/patches.renesas/0227-drm-bridge-dw-hdmi-Enable-CSC-even-for-DVI.patch
index 226b39215a41e0..ba192cd8ca3ec6 100644
--- a/patches.renesas/0227-drm-bridge-dw-hdmi-Enable-CSC-even-for-DVI.patch
+++ b/patches.renesas/0227-drm-bridge-dw-hdmi-Enable-CSC-even-for-DVI.patch
@@ -16,14 +16,12 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170303172007.26541-4-lauren
(cherry picked from commit 14247d7ce769cfc2269a8b6a58157abb26813f3e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/dw-hdmi.c | 4 ++--
+ drivers/gpu/drm/bridge/dw-hdmi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
-index 906583beb08b..d863b3393aee 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
-@@ -1291,8 +1291,8 @@ static void dw_hdmi_enable_video_path(struct dw_hdmi *hdmi)
+@@ -1291,8 +1291,8 @@ static void dw_hdmi_enable_video_path(st
hdmi_writeb(hdmi, clkdis, HDMI_MC_CLKDIS);
}
@@ -34,6 +32,3 @@ index 906583beb08b..d863b3393aee 100644
hdmi_writeb(hdmi, HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_IN_PATH,
HDMI_MC_FLOWCTRL);
else
---
-2.13.3
-
diff --git a/patches.renesas/0228-drm-bridge-dw-hdmi-Fix-the-PHY-power-down-sequence.patch b/patches.renesas/0228-drm-bridge-dw-hdmi-Fix-the-PHY-power-down-sequence.patch
index f880fafbdc24fe..7a060438264fc2 100644
--- a/patches.renesas/0228-drm-bridge-dw-hdmi-Fix-the-PHY-power-down-sequence.patch
+++ b/patches.renesas/0228-drm-bridge-dw-hdmi-Fix-the-PHY-power-down-sequence.patch
@@ -29,11 +29,9 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170305233539.11898-1-lauren
(cherry picked from commit b0e583e5b6b90eed40456c394410c154a5160814)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/dw-hdmi.c | 52 +++++++++++++++++++++++++++++++++-------
+ drivers/gpu/drm/bridge/dw-hdmi.c | 52 ++++++++++++++++++++++++++++++++-------
1 file changed, 43 insertions(+), 9 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
-index d863b3393aee..3a1cd4c7ac64 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
@@ -116,6 +116,7 @@ struct dw_hdmi_i2c {
@@ -44,7 +42,7 @@ index d863b3393aee..3a1cd4c7ac64 100644
bool has_svsret;
};
-@@ -914,6 +915,40 @@ static void dw_hdmi_phy_sel_interface_control(struct dw_hdmi *hdmi, u8 enable)
+@@ -914,6 +915,40 @@ static void dw_hdmi_phy_sel_interface_co
HDMI_PHY_CONF0_SELDIPIF_MASK);
}
@@ -85,7 +83,7 @@ index d863b3393aee..3a1cd4c7ac64 100644
static int hdmi_phy_configure(struct dw_hdmi *hdmi)
{
u8 val, msec;
-@@ -946,11 +981,7 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi)
+@@ -946,11 +981,7 @@ static int hdmi_phy_configure(struct dw_
return -EINVAL;
}
@@ -98,7 +96,7 @@ index d863b3393aee..3a1cd4c7ac64 100644
/* Leave low power consumption mode by asserting SVSRET. */
if (hdmi->phy->has_svsret)
-@@ -1025,8 +1056,6 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi)
+@@ -1025,8 +1056,6 @@ static int dw_hdmi_phy_init(struct dw_hd
for (i = 0; i < 2; i++) {
dw_hdmi_phy_sel_data_en_pol(hdmi, 1);
dw_hdmi_phy_sel_interface_control(hdmi, 0);
@@ -107,7 +105,7 @@ index d863b3393aee..3a1cd4c7ac64 100644
ret = hdmi_phy_configure(hdmi);
if (ret)
-@@ -1256,8 +1285,7 @@ static void dw_hdmi_phy_disable(struct dw_hdmi *hdmi)
+@@ -1256,8 +1285,7 @@ static void dw_hdmi_phy_disable(struct d
if (!hdmi->phy_enabled)
return;
@@ -117,7 +115,7 @@ index d863b3393aee..3a1cd4c7ac64 100644
hdmi->phy_enabled = false;
}
-@@ -1827,23 +1855,29 @@ static const struct dw_hdmi_phy_data dw_hdmi_phys[] = {
+@@ -1827,23 +1855,29 @@ static const struct dw_hdmi_phy_data dw_
{
.type = DW_HDMI_PHY_DWC_HDMI_TX_PHY,
.name = "DWC HDMI TX PHY",
@@ -147,6 +145,3 @@ index d863b3393aee..3a1cd4c7ac64 100644
.has_svsret = true,
}
};
---
-2.13.3
-
diff --git a/patches.renesas/0229-drm-bridge-dw-hdmi-Fix-the-PHY-power-up-sequence.patch b/patches.renesas/0229-drm-bridge-dw-hdmi-Fix-the-PHY-power-up-sequence.patch
index 0f3ab2e5c10493..4ba2b7a37caef8 100644
--- a/patches.renesas/0229-drm-bridge-dw-hdmi-Fix-the-PHY-power-up-sequence.patch
+++ b/patches.renesas/0229-drm-bridge-dw-hdmi-Fix-the-PHY-power-up-sequence.patch
@@ -22,14 +22,12 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170305233557.11945-1-lauren
(cherry picked from commit 181e0ef092a4952aa523c5b9cb21394cf43bcd46)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/dw-hdmi.c | 65 +++++++++++++++++++++++-----------------
+ drivers/gpu/drm/bridge/dw-hdmi.c | 65 ++++++++++++++++++++++-----------------
1 file changed, 37 insertions(+), 28 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
-index 3a1cd4c7ac64..c25eac8ba47b 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
-@@ -949,9 +949,44 @@ static void dw_hdmi_phy_power_off(struct dw_hdmi *hdmi)
+@@ -949,9 +949,44 @@ static void dw_hdmi_phy_power_off(struct
dw_hdmi_phy_gen2_pddq(hdmi, 1);
}
@@ -75,7 +73,7 @@ index 3a1cd4c7ac64..c25eac8ba47b 100644
const struct dw_hdmi_plat_data *pdata = hdmi->plat_data;
const struct dw_hdmi_mpll_config *mpll_config = pdata->mpll_cfg;
const struct dw_hdmi_curr_ctrl *curr_ctrl = pdata->cur_ctr;
-@@ -1019,33 +1054,7 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi)
+@@ -1019,33 +1054,7 @@ static int hdmi_phy_configure(struct dw_
hdmi_phy_i2c_write(hdmi, HDMI_3D_TX_PHY_CKCALCTRL_OVERRIDE,
HDMI_3D_TX_PHY_CKCALCTRL);
@@ -110,6 +108,3 @@ index 3a1cd4c7ac64..c25eac8ba47b 100644
}
static int dw_hdmi_phy_init(struct dw_hdmi *hdmi)
---
-2.13.3
-
diff --git a/patches.renesas/0230-drm-bridge-dw-hdmi-Create-PHY-operations.patch b/patches.renesas/0230-drm-bridge-dw-hdmi-Create-PHY-operations.patch
index 79de9bb26c456a..b9571c711a302b 100644
--- a/patches.renesas/0230-drm-bridge-dw-hdmi-Create-PHY-operations.patch
+++ b/patches.renesas/0230-drm-bridge-dw-hdmi-Create-PHY-operations.patch
@@ -19,12 +19,10 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170305233615.11993-1-lauren
(cherry picked from commit f1585f6e29f5aba34e2cd6e3db9f0dd33b046809)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/dw-hdmi.c | 95 ++++++++++++++++++++++++++++------------
- include/drm/bridge/dw_hdmi.h | 18 +++++++-
+ drivers/gpu/drm/bridge/dw-hdmi.c | 95 +++++++++++++++++++++++++++------------
+ include/drm/bridge/dw_hdmi.h | 18 ++++++-
2 files changed, 82 insertions(+), 31 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
-index c25eac8ba47b..cb2703862be2 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
@@ -141,8 +141,12 @@ struct dw_hdmi {
@@ -42,7 +40,7 @@ index c25eac8ba47b..cb2703862be2 100644
struct drm_display_mode previous_mode;
-@@ -831,6 +835,10 @@ static void hdmi_video_packetize(struct dw_hdmi *hdmi)
+@@ -831,6 +835,10 @@ static void hdmi_video_packetize(struct
HDMI_VP_CONF);
}
@@ -53,7 +51,7 @@ index c25eac8ba47b..cb2703862be2 100644
static inline void hdmi_phy_test_clear(struct dw_hdmi *hdmi,
unsigned char bit)
{
-@@ -917,7 +925,7 @@ static void dw_hdmi_phy_sel_interface_control(struct dw_hdmi *hdmi, u8 enable)
+@@ -917,7 +925,7 @@ static void dw_hdmi_phy_sel_interface_co
static void dw_hdmi_phy_power_off(struct dw_hdmi *hdmi)
{
@@ -62,7 +60,7 @@ index c25eac8ba47b..cb2703862be2 100644
unsigned int i;
u16 val;
-@@ -951,7 +959,7 @@ static void dw_hdmi_phy_power_off(struct dw_hdmi *hdmi)
+@@ -951,7 +959,7 @@ static void dw_hdmi_phy_power_off(struct
static int dw_hdmi_phy_power_on(struct dw_hdmi *hdmi)
{
@@ -71,7 +69,7 @@ index c25eac8ba47b..cb2703862be2 100644
unsigned int i;
u8 val;
-@@ -987,6 +995,7 @@ static int dw_hdmi_phy_power_on(struct dw_hdmi *hdmi)
+@@ -987,6 +995,7 @@ static int dw_hdmi_phy_power_on(struct d
static int hdmi_phy_configure(struct dw_hdmi *hdmi)
{
@@ -79,7 +77,7 @@ index c25eac8ba47b..cb2703862be2 100644
const struct dw_hdmi_plat_data *pdata = hdmi->plat_data;
const struct dw_hdmi_mpll_config *mpll_config = pdata->mpll_cfg;
const struct dw_hdmi_curr_ctrl *curr_ctrl = pdata->cur_ctr;
-@@ -1019,7 +1028,7 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi)
+@@ -1019,7 +1028,7 @@ static int hdmi_phy_configure(struct dw_
dw_hdmi_phy_power_off(hdmi);
/* Leave low power consumption mode by asserting SVSRET. */
@@ -88,7 +86,7 @@ index c25eac8ba47b..cb2703862be2 100644
dw_hdmi_phy_enable_svsret(hdmi, 1);
/* PHY reset. The reset signal is active high on Gen2 PHYs. */
-@@ -1057,7 +1066,8 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi)
+@@ -1057,7 +1066,8 @@ static int hdmi_phy_configure(struct dw_
return dw_hdmi_phy_power_on(hdmi);
}
@@ -98,7 +96,7 @@ index c25eac8ba47b..cb2703862be2 100644
{
int i, ret;
-@@ -1071,10 +1081,31 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi)
+@@ -1071,10 +1081,31 @@ static int dw_hdmi_phy_init(struct dw_hd
return ret;
}
@@ -131,7 +129,7 @@ index c25eac8ba47b..cb2703862be2 100644
static void hdmi_tx_hdcp_config(struct dw_hdmi *hdmi)
{
u8 de;
-@@ -1289,16 +1320,6 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
+@@ -1289,16 +1320,6 @@ static void hdmi_av_composer(struct dw_h
hdmi_writeb(hdmi, vsync_len, HDMI_FC_VSYNCINWIDTH);
}
@@ -148,7 +146,7 @@ index c25eac8ba47b..cb2703862be2 100644
/* HDMI Initialization Step B.4 */
static void dw_hdmi_enable_video_path(struct dw_hdmi *hdmi)
{
-@@ -1431,9 +1452,10 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+@@ -1431,9 +1452,10 @@ static int dw_hdmi_setup(struct dw_hdmi
hdmi_av_composer(hdmi, mode);
/* HDMI Initializateion Step B.2 */
@@ -160,7 +158,7 @@ index c25eac8ba47b..cb2703862be2 100644
/* HDMI Initialization Step B.3 */
dw_hdmi_enable_video_path(hdmi);
-@@ -1548,7 +1570,11 @@ static void dw_hdmi_poweron(struct dw_hdmi *hdmi)
+@@ -1548,7 +1570,11 @@ static void dw_hdmi_poweron(struct dw_hd
static void dw_hdmi_poweroff(struct dw_hdmi *hdmi)
{
@@ -173,7 +171,7 @@ index c25eac8ba47b..cb2703862be2 100644
hdmi->bridge_is_on = false;
}
-@@ -1611,8 +1637,7 @@ dw_hdmi_connector_detect(struct drm_connector *connector, bool force)
+@@ -1611,8 +1637,7 @@ dw_hdmi_connector_detect(struct drm_conn
dw_hdmi_update_phy_mask(hdmi);
mutex_unlock(&hdmi->mutex);
@@ -183,7 +181,7 @@ index c25eac8ba47b..cb2703862be2 100644
}
static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
-@@ -1898,19 +1923,31 @@ static int dw_hdmi_detect_phy(struct dw_hdmi *hdmi)
+@@ -1898,19 +1923,31 @@ static int dw_hdmi_detect_phy(struct dw_
phy_type = hdmi_readb(hdmi, HDMI_CONFIG2_ID);
@@ -222,7 +220,7 @@ index c25eac8ba47b..cb2703862be2 100644
return -ENODEV;
}
-@@ -2031,7 +2068,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
+@@ -2031,7 +2068,7 @@ __dw_hdmi_probe(struct platform_device *
dev_info(dev, "Detected HDMI TX controller v%x.%03x %s HDCP (%s)\n",
hdmi->version >> 12, hdmi->version & 0xfff,
prod_id1 & HDMI_PRODUCT_ID1_HDCP ? "with" : "without",
@@ -231,8 +229,6 @@ index c25eac8ba47b..cb2703862be2 100644
initialize_hdmi_ih_mutes(hdmi);
-diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
-index b080a171a23f..0f583ca7e66e 100644
--- a/include/drm/bridge/dw_hdmi.h
+++ b/include/drm/bridge/dw_hdmi.h
@@ -57,13 +57,27 @@ struct dw_hdmi_phy_config {
@@ -265,6 +261,3 @@ index b080a171a23f..0f583ca7e66e 100644
};
int dw_hdmi_probe(struct platform_device *pdev,
---
-2.13.3
-
diff --git a/patches.renesas/0231-drm-bridge-dw-hdmi-Add-support-for-custom-PHY-config.patch b/patches.renesas/0231-drm-bridge-dw-hdmi-Add-support-for-custom-PHY-config.patch
index bdd286429cb129..6cbfc5fbb75bf7 100644
--- a/patches.renesas/0231-drm-bridge-dw-hdmi-Add-support-for-custom-PHY-config.patch
+++ b/patches.renesas/0231-drm-bridge-dw-hdmi-Add-support-for-custom-PHY-config.patch
@@ -23,12 +23,10 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170303172007.26541-8-lauren
(cherry picked from commit 2ef9dfedefd60a12d2b02b1ee0a42be3506c43f2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/dw-hdmi.c | 109 ++++++++++++++++++++++++++-------------
- include/drm/bridge/dw_hdmi.h | 7 +++
+ drivers/gpu/drm/bridge/dw-hdmi.c | 109 ++++++++++++++++++++++++++-------------
+ include/drm/bridge/dw_hdmi.h | 7 ++
2 files changed, 81 insertions(+), 35 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
-index cb2703862be2..b835d81bb471 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
@@ -118,6 +118,9 @@ struct dw_hdmi_phy_data {
@@ -41,7 +39,7 @@ index cb2703862be2..b835d81bb471 100644
};
struct dw_hdmi {
-@@ -860,8 +863,8 @@ static bool hdmi_phy_wait_i2c_done(struct dw_hdmi *hdmi, int msec)
+@@ -860,8 +863,8 @@ static bool hdmi_phy_wait_i2c_done(struc
return true;
}
@@ -52,7 +50,7 @@ index cb2703862be2..b835d81bb471 100644
{
hdmi_writeb(hdmi, 0xFF, HDMI_IH_I2CMPHY_STAT0);
hdmi_writeb(hdmi, addr, HDMI_PHY_I2CM_ADDRESS_ADDR);
-@@ -873,6 +876,7 @@ static void hdmi_phy_i2c_write(struct dw_hdmi *hdmi, unsigned short data,
+@@ -873,6 +876,7 @@ static void hdmi_phy_i2c_write(struct dw
HDMI_PHY_I2CM_OPERATION_ADDR);
hdmi_phy_wait_i2c_done(hdmi, 1000);
}
@@ -60,7 +58,7 @@ index cb2703862be2..b835d81bb471 100644
static void dw_hdmi_phy_enable_powerdown(struct dw_hdmi *hdmi, bool enable)
{
-@@ -993,37 +997,67 @@ static int dw_hdmi_phy_power_on(struct dw_hdmi *hdmi)
+@@ -993,37 +997,67 @@ static int dw_hdmi_phy_power_on(struct d
return 0;
}
@@ -141,7 +139,7 @@ index cb2703862be2..b835d81bb471 100644
dw_hdmi_phy_power_off(hdmi);
-@@ -1042,26 +1076,16 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi)
+@@ -1042,26 +1076,16 @@ static int hdmi_phy_configure(struct dw_
HDMI_PHY_I2CM_SLAVE_ADDR);
hdmi_phy_test_clear(hdmi, 0);
@@ -178,7 +176,7 @@ index cb2703862be2..b835d81bb471 100644
return dw_hdmi_phy_power_on(hdmi);
}
-@@ -1895,24 +1919,31 @@ static const struct dw_hdmi_phy_data dw_hdmi_phys[] = {
+@@ -1895,24 +1919,31 @@ static const struct dw_hdmi_phy_data dw_
.name = "DWC MHL PHY + HEAC PHY",
.gen = 2,
.has_svsret = true,
@@ -210,7 +208,7 @@ index cb2703862be2..b835d81bb471 100644
}
};
-@@ -1943,6 +1974,14 @@ static int dw_hdmi_detect_phy(struct dw_hdmi *hdmi)
+@@ -1943,6 +1974,14 @@ static int dw_hdmi_detect_phy(struct dw_
hdmi->phy.ops = &dw_hdmi_synopsys_phy_ops;
hdmi->phy.name = dw_hdmi_phys[i].name;
hdmi->phy.data = (void *)&dw_hdmi_phys[i];
@@ -225,8 +223,6 @@ index cb2703862be2..b835d81bb471 100644
return 0;
}
}
-diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
-index 0f583ca7e66e..dd330259a3dc 100644
--- a/include/drm/bridge/dw_hdmi.h
+++ b/include/drm/bridge/dw_hdmi.h
@@ -78,6 +78,9 @@ struct dw_hdmi_plat_data {
@@ -239,7 +235,7 @@ index 0f583ca7e66e..dd330259a3dc 100644
};
int dw_hdmi_probe(struct platform_device *pdev,
-@@ -91,4 +94,8 @@ void dw_hdmi_set_sample_rate(struct dw_hdmi *hdmi, unsigned int rate);
+@@ -91,4 +94,8 @@ void dw_hdmi_set_sample_rate(struct dw_h
void dw_hdmi_audio_enable(struct dw_hdmi *hdmi);
void dw_hdmi_audio_disable(struct dw_hdmi *hdmi);
@@ -248,6 +244,3 @@ index 0f583ca7e66e..dd330259a3dc 100644
+ unsigned char addr);
+
#endif /* __IMX_HDMI_H__ */
---
-2.13.3
-
diff --git a/patches.renesas/0232-drm-bridge-dw-hdmi-Remove-device-type-from-platform-.patch b/patches.renesas/0232-drm-bridge-dw-hdmi-Remove-device-type-from-platform-.patch
index 0ed18e124c15af..0fc5fb8688a4b4 100644
--- a/patches.renesas/0232-drm-bridge-dw-hdmi-Remove-device-type-from-platform-.patch
+++ b/patches.renesas/0232-drm-bridge-dw-hdmi-Remove-device-type-from-platform-.patch
@@ -17,14 +17,12 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170303172007.26541-9-lauren
(cherry picked from commit 2e6777e8d5dd883b983c8de8797ff92bcb158f7c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/dw-hdmi.c | 2 --
- drivers/gpu/drm/imx/dw_hdmi-imx.c | 2 --
- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 1 -
- include/drm/bridge/dw_hdmi.h | 7 -------
+ drivers/gpu/drm/bridge/dw-hdmi.c | 2 --
+ drivers/gpu/drm/imx/dw_hdmi-imx.c | 2 --
+ drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 1 -
+ include/drm/bridge/dw_hdmi.h | 7 -------
4 files changed, 12 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
-index b835d81bb471..132c00685796 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
@@ -127,7 +127,6 @@ struct dw_hdmi {
@@ -35,7 +33,7 @@ index b835d81bb471..132c00685796 100644
unsigned int version;
struct platform_device *audio;
-@@ -2014,7 +2013,6 @@ __dw_hdmi_probe(struct platform_device *pdev,
+@@ -2014,7 +2013,6 @@ __dw_hdmi_probe(struct platform_device *
hdmi->plat_data = plat_data;
hdmi->dev = dev;
@@ -43,11 +41,9 @@ index b835d81bb471..132c00685796 100644
hdmi->sample_rate = 48000;
hdmi->disabled = true;
hdmi->rxsense = true;
-diff --git a/drivers/gpu/drm/imx/dw_hdmi-imx.c b/drivers/gpu/drm/imx/dw_hdmi-imx.c
-index f645275e6e63..f039641070ac 100644
--- a/drivers/gpu/drm/imx/dw_hdmi-imx.c
+++ b/drivers/gpu/drm/imx/dw_hdmi-imx.c
-@@ -175,7 +175,6 @@ static struct dw_hdmi_plat_data imx6q_hdmi_drv_data = {
+@@ -175,7 +175,6 @@ static struct dw_hdmi_plat_data imx6q_hd
.mpll_cfg = imx_mpll_cfg,
.cur_ctr = imx_cur_ctr,
.phy_config = imx_phy_config,
@@ -55,7 +51,7 @@ index f645275e6e63..f039641070ac 100644
.mode_valid = imx6q_hdmi_mode_valid,
};
-@@ -183,7 +182,6 @@ static struct dw_hdmi_plat_data imx6dl_hdmi_drv_data = {
+@@ -183,7 +182,6 @@ static struct dw_hdmi_plat_data imx6dl_h
.mpll_cfg = imx_mpll_cfg,
.cur_ctr = imx_cur_ctr,
.phy_config = imx_phy_config,
@@ -63,11 +59,9 @@ index f645275e6e63..f039641070ac 100644
.mode_valid = imx6dl_hdmi_mode_valid,
};
-diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
-index a6d4a0236e8f..d53827413996 100644
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
-@@ -237,7 +237,6 @@ static const struct dw_hdmi_plat_data rockchip_hdmi_drv_data = {
+@@ -237,7 +237,6 @@ static const struct dw_hdmi_plat_data ro
.mpll_cfg = rockchip_mpll_cfg,
.cur_ctr = rockchip_cur_ctr,
.phy_config = rockchip_phy_config,
@@ -75,8 +69,6 @@ index a6d4a0236e8f..d53827413996 100644
};
static const struct of_device_id dw_hdmi_rockchip_dt_ids[] = {
-diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
-index dd330259a3dc..545f04fae3b6 100644
--- a/include/drm/bridge/dw_hdmi.h
+++ b/include/drm/bridge/dw_hdmi.h
@@ -21,12 +21,6 @@ enum {
@@ -100,6 +92,3 @@ index dd330259a3dc..545f04fae3b6 100644
enum drm_mode_status (*mode_valid)(struct drm_connector *connector,
struct drm_display_mode *mode);
---
-2.13.3
-
diff --git a/patches.renesas/0233-drm-bridge-dw-hdmi-Switch-to-regmap-for-register-acc.patch b/patches.renesas/0233-drm-bridge-dw-hdmi-Switch-to-regmap-for-register-acc.patch
index 0f953fcd92c649..6bd772c936f14e 100644
--- a/patches.renesas/0233-drm-bridge-dw-hdmi-Switch-to-regmap-for-register-acc.patch
+++ b/patches.renesas/0233-drm-bridge-dw-hdmi-Switch-to-regmap-for-register-acc.patch
@@ -29,12 +29,10 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170303172007.26541-10-laure
(cherry picked from commit 80e2f97968b537fc9c1789fce1b7f61609a5aae4)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/dw-hdmi.c | 109 +++++++++++++++++++++------------------
- include/drm/bridge/dw_hdmi.h | 1 +
+ drivers/gpu/drm/bridge/dw-hdmi.c | 109 ++++++++++++++++++++-------------------
+ include/drm/bridge/dw_hdmi.h | 1
2 files changed, 59 insertions(+), 51 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
-index 132c00685796..026a0dce7661 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
@@ -19,6 +19,7 @@
@@ -106,7 +104,7 @@ index 132c00685796..026a0dce7661 100644
}
static void hdmi_mask_writeb(struct dw_hdmi *hdmi, u8 data, unsigned int reg,
-@@ -1989,6 +1971,20 @@ static int dw_hdmi_detect_phy(struct dw_hdmi *hdmi)
+@@ -1989,6 +1971,20 @@ static int dw_hdmi_detect_phy(struct dw_
return -ENODEV;
}
@@ -127,7 +125,7 @@ index 132c00685796..026a0dce7661 100644
static struct dw_hdmi *
__dw_hdmi_probe(struct platform_device *pdev,
const struct dw_hdmi_plat_data *plat_data)
-@@ -1998,7 +1994,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
+@@ -1998,7 +1994,7 @@ __dw_hdmi_probe(struct platform_device *
struct platform_device_info pdevinfo;
struct device_node *ddc_node;
struct dw_hdmi *hdmi;
@@ -136,7 +134,7 @@ index 132c00685796..026a0dce7661 100644
int irq;
int ret;
u32 val = 1;
-@@ -2022,22 +2018,6 @@ __dw_hdmi_probe(struct platform_device *pdev,
+@@ -2022,22 +2018,6 @@ __dw_hdmi_probe(struct platform_device *
mutex_init(&hdmi->audio_mutex);
spin_lock_init(&hdmi->audio_lock);
@@ -159,7 +157,7 @@ index 132c00685796..026a0dce7661 100644
ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
if (ddc_node) {
hdmi->ddc = of_get_i2c_adapter_by_node(ddc_node);
-@@ -2051,11 +2031,38 @@ __dw_hdmi_probe(struct platform_device *pdev,
+@@ -2051,11 +2031,38 @@ __dw_hdmi_probe(struct platform_device *
dev_dbg(hdmi->dev, "no ddc property found\n");
}
@@ -203,7 +201,7 @@ index 132c00685796..026a0dce7661 100644
}
hdmi->isfr_clk = devm_clk_get(hdmi->dev, "isfr");
-@@ -2165,7 +2172,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
+@@ -2165,7 +2172,7 @@ __dw_hdmi_probe(struct platform_device *
config0 = hdmi_readb(hdmi, HDMI_CONFIG0_ID);
config3 = hdmi_readb(hdmi, HDMI_CONFIG3_ID);
@@ -212,8 +210,6 @@ index 132c00685796..026a0dce7661 100644
struct dw_hdmi_audio_data audio;
audio.phys = iores->start;
-diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
-index 545f04fae3b6..bcceee8114a4 100644
--- a/include/drm/bridge/dw_hdmi.h
+++ b/include/drm/bridge/dw_hdmi.h
@@ -59,6 +59,7 @@ struct dw_hdmi_phy_ops {
@@ -224,6 +220,3 @@ index 545f04fae3b6..bcceee8114a4 100644
enum drm_mode_status (*mode_valid)(struct drm_connector *connector,
struct drm_display_mode *mode);
---
-2.13.3
-
diff --git a/patches.renesas/0234-drm-bridge-dw-hdmi-Move-the-driver-to-a-separate-dir.patch b/patches.renesas/0234-drm-bridge-dw-hdmi-Move-the-driver-to-a-separate-dir.patch
index c9f773322aed38..08baa24c5d88d3 100644
--- a/patches.renesas/0234-drm-bridge-dw-hdmi-Move-the-driver-to-a-separate-dir.patch
+++ b/patches.renesas/0234-drm-bridge-dw-hdmi-Move-the-driver-to-a-separate-dir.patch
@@ -26,7 +26,21 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
.../drm/bridge/{ => synopsys}/dw-hdmi-i2s-audio.c | 0
drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.c | 0
drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.h | 0
- 9 files changed, 31 insertions(+), 26 deletions(-)
+ drivers/gpu/drm/bridge/Kconfig | 25
+ drivers/gpu/drm/bridge/Makefile | 4
+ drivers/gpu/drm/bridge/dw-hdmi-ahb-audio.c | 652 -----
+ drivers/gpu/drm/bridge/dw-hdmi-audio.h | 21
+ drivers/gpu/drm/bridge/dw-hdmi-i2s-audio.c | 141 -
+ drivers/gpu/drm/bridge/dw-hdmi.c | 2314 --------------------
+ drivers/gpu/drm/bridge/dw-hdmi.h | 1153 ---------
+ drivers/gpu/drm/bridge/synopsys/Kconfig | 23
+ drivers/gpu/drm/bridge/synopsys/Makefile | 5
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 652 +++++
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h | 21
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 141 +
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2314 ++++++++++++++++++++
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.h | 1153 +++++++++
+ 14 files changed, 4312 insertions(+), 4307 deletions(-)
create mode 100644 drivers/gpu/drm/bridge/synopsys/Kconfig
create mode 100644 drivers/gpu/drm/bridge/synopsys/Makefile
rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi-ahb-audio.c (100%)
@@ -35,8 +49,6 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.c (100%)
rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.h (100%)
-diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
-index 3129f8d988fb..ae9bd851fc8b 100644
--- a/drivers/gpu/drm/bridge/Kconfig
+++ b/drivers/gpu/drm/bridge/Kconfig
@@ -24,29 +24,6 @@ config DRM_DUMB_VGA_DAC
@@ -69,15 +81,13 @@ index 3129f8d988fb..ae9bd851fc8b 100644
config DRM_NXP_PTN3460
tristate "NXP PTN3460 DP/LVDS bridge"
depends on OF
-@@ -86,4 +63,6 @@ source "drivers/gpu/drm/bridge/analogix/Kconfig"
+@@ -86,4 +63,6 @@ source "drivers/gpu/drm/bridge/analogix/
source "drivers/gpu/drm/bridge/adv7511/Kconfig"
+source "drivers/gpu/drm/bridge/synopsys/Kconfig"
+
endmenu
-diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile
-index 9a54f2ada2c2..4df86e927416 100644
--- a/drivers/gpu/drm/bridge/Makefile
+++ b/drivers/gpu/drm/bridge/Makefile
@@ -2,12 +2,10 @@ ccflags-y := -Iinclude/drm
@@ -94,9 +104,4302 @@ index 9a54f2ada2c2..4df86e927416 100644
obj-$(CONFIG_DRM_ANALOGIX_DP) += analogix/
obj-$(CONFIG_DRM_I2C_ADV7511) += adv7511/
+obj-y += synopsys/
-diff --git a/drivers/gpu/drm/bridge/synopsys/Kconfig b/drivers/gpu/drm/bridge/synopsys/Kconfig
-new file mode 100644
-index 000000000000..40d2827a6d19
+--- a/drivers/gpu/drm/bridge/dw-hdmi-ahb-audio.c
++++ /dev/null
+@@ -1,652 +0,0 @@
+-/*
+- * DesignWare HDMI audio driver
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License version 2 as
+- * published by the Free Software Foundation.
+- *
+- * Written and tested against the Designware HDMI Tx found in iMX6.
+- */
+-#include <linux/io.h>
+-#include <linux/interrupt.h>
+-#include <linux/module.h>
+-#include <linux/platform_device.h>
+-#include <drm/bridge/dw_hdmi.h>
+-#include <drm/drm_edid.h>
+-
+-#include <sound/asoundef.h>
+-#include <sound/core.h>
+-#include <sound/initval.h>
+-#include <sound/pcm.h>
+-#include <sound/pcm_drm_eld.h>
+-#include <sound/pcm_iec958.h>
+-
+-#include "dw-hdmi-audio.h"
+-
+-#define DRIVER_NAME "dw-hdmi-ahb-audio"
+-
+-/* Provide some bits rather than bit offsets */
+-enum {
+- HDMI_AHB_DMA_CONF0_SW_FIFO_RST = BIT(7),
+- HDMI_AHB_DMA_CONF0_EN_HLOCK = BIT(3),
+- HDMI_AHB_DMA_START_START = BIT(0),
+- HDMI_AHB_DMA_STOP_STOP = BIT(0),
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_ERROR = BIT(5),
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_LOST = BIT(4),
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_RETRY = BIT(3),
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_DONE = BIT(2),
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFFULL = BIT(1),
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFEMPTY = BIT(0),
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_ALL =
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_ERROR |
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_LOST |
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_RETRY |
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_DONE |
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFFULL |
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFEMPTY,
+- HDMI_IH_AHBDMAAUD_STAT0_ERROR = BIT(5),
+- HDMI_IH_AHBDMAAUD_STAT0_LOST = BIT(4),
+- HDMI_IH_AHBDMAAUD_STAT0_RETRY = BIT(3),
+- HDMI_IH_AHBDMAAUD_STAT0_DONE = BIT(2),
+- HDMI_IH_AHBDMAAUD_STAT0_BUFFFULL = BIT(1),
+- HDMI_IH_AHBDMAAUD_STAT0_BUFFEMPTY = BIT(0),
+- HDMI_IH_AHBDMAAUD_STAT0_ALL =
+- HDMI_IH_AHBDMAAUD_STAT0_ERROR |
+- HDMI_IH_AHBDMAAUD_STAT0_LOST |
+- HDMI_IH_AHBDMAAUD_STAT0_RETRY |
+- HDMI_IH_AHBDMAAUD_STAT0_DONE |
+- HDMI_IH_AHBDMAAUD_STAT0_BUFFFULL |
+- HDMI_IH_AHBDMAAUD_STAT0_BUFFEMPTY,
+- HDMI_AHB_DMA_CONF0_INCR16 = 2 << 1,
+- HDMI_AHB_DMA_CONF0_INCR8 = 1 << 1,
+- HDMI_AHB_DMA_CONF0_INCR4 = 0,
+- HDMI_AHB_DMA_CONF0_BURST_MODE = BIT(0),
+- HDMI_AHB_DMA_MASK_DONE = BIT(7),
+-
+- HDMI_REVISION_ID = 0x0001,
+- HDMI_IH_AHBDMAAUD_STAT0 = 0x0109,
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0 = 0x0189,
+- HDMI_FC_AUDICONF2 = 0x1027,
+- HDMI_FC_AUDSCONF = 0x1063,
+- HDMI_FC_AUDSCONF_LAYOUT1 = 1 << 0,
+- HDMI_FC_AUDSCONF_LAYOUT0 = 0 << 0,
+- HDMI_AHB_DMA_CONF0 = 0x3600,
+- HDMI_AHB_DMA_START = 0x3601,
+- HDMI_AHB_DMA_STOP = 0x3602,
+- HDMI_AHB_DMA_THRSLD = 0x3603,
+- HDMI_AHB_DMA_STRADDR0 = 0x3604,
+- HDMI_AHB_DMA_STPADDR0 = 0x3608,
+- HDMI_AHB_DMA_MASK = 0x3614,
+- HDMI_AHB_DMA_POL = 0x3615,
+- HDMI_AHB_DMA_CONF1 = 0x3616,
+- HDMI_AHB_DMA_BUFFPOL = 0x361a,
+-};
+-
+-struct dw_hdmi_channel_conf {
+- u8 conf1;
+- u8 ca;
+-};
+-
+-/*
+- * The default mapping of ALSA channels to HDMI channels and speaker
+- * allocation bits. Note that we can't do channel remapping here -
+- * channels must be in the same order.
+- *
+- * Mappings for alsa-lib pcm/surround*.conf files:
+- *
+- * Front Sur4.0 Sur4.1 Sur5.0 Sur5.1 Sur7.1
+- * Channels 2 4 6 6 6 8
+- *
+- * Our mapping from ALSA channel to CEA686D speaker name and HDMI channel:
+- *
+- * Number of ALSA channels
+- * ALSA Channel 2 3 4 5 6 7 8
+- * 0 FL:0 = = = = = =
+- * 1 FR:1 = = = = = =
+- * 2 FC:3 RL:4 LFE:2 = = =
+- * 3 RR:5 RL:4 FC:3 = =
+- * 4 RR:5 RL:4 = =
+- * 5 RR:5 = =
+- * 6 RC:6 =
+- * 7 RLC/FRC RLC/FRC
+- */
+-static struct dw_hdmi_channel_conf default_hdmi_channel_config[7] = {
+- { 0x03, 0x00 }, /* FL,FR */
+- { 0x0b, 0x02 }, /* FL,FR,FC */
+- { 0x33, 0x08 }, /* FL,FR,RL,RR */
+- { 0x37, 0x09 }, /* FL,FR,LFE,RL,RR */
+- { 0x3f, 0x0b }, /* FL,FR,LFE,FC,RL,RR */
+- { 0x7f, 0x0f }, /* FL,FR,LFE,FC,RL,RR,RC */
+- { 0xff, 0x13 }, /* FL,FR,LFE,FC,RL,RR,[FR]RC,[FR]LC */
+-};
+-
+-struct snd_dw_hdmi {
+- struct snd_card *card;
+- struct snd_pcm *pcm;
+- spinlock_t lock;
+- struct dw_hdmi_audio_data data;
+- struct snd_pcm_substream *substream;
+- void (*reformat)(struct snd_dw_hdmi *, size_t, size_t);
+- void *buf_src;
+- void *buf_dst;
+- dma_addr_t buf_addr;
+- unsigned buf_offset;
+- unsigned buf_period;
+- unsigned buf_size;
+- unsigned channels;
+- u8 revision;
+- u8 iec_offset;
+- u8 cs[192][8];
+-};
+-
+-static void dw_hdmi_writel(u32 val, void __iomem *ptr)
+-{
+- writeb_relaxed(val, ptr);
+- writeb_relaxed(val >> 8, ptr + 1);
+- writeb_relaxed(val >> 16, ptr + 2);
+- writeb_relaxed(val >> 24, ptr + 3);
+-}
+-
+-/*
+- * Convert to hardware format: The userspace buffer contains IEC958 samples,
+- * with the PCUV bits in bits 31..28 and audio samples in bits 27..4. We
+- * need these to be in bits 27..24, with the IEC B bit in bit 28, and audio
+- * samples in 23..0.
+- *
+- * Default preamble in bits 3..0: 8 = block start, 4 = even 2 = odd
+- *
+- * Ideally, we could do with having the data properly formatted in userspace.
+- */
+-static void dw_hdmi_reformat_iec958(struct snd_dw_hdmi *dw,
+- size_t offset, size_t bytes)
+-{
+- u32 *src = dw->buf_src + offset;
+- u32 *dst = dw->buf_dst + offset;
+- u32 *end = dw->buf_src + offset + bytes;
+-
+- do {
+- u32 b, sample = *src++;
+-
+- b = (sample & 8) << (28 - 3);
+-
+- sample >>= 4;
+-
+- *dst++ = sample | b;
+- } while (src < end);
+-}
+-
+-static u32 parity(u32 sample)
+-{
+- sample ^= sample >> 16;
+- sample ^= sample >> 8;
+- sample ^= sample >> 4;
+- sample ^= sample >> 2;
+- sample ^= sample >> 1;
+- return (sample & 1) << 27;
+-}
+-
+-static void dw_hdmi_reformat_s24(struct snd_dw_hdmi *dw,
+- size_t offset, size_t bytes)
+-{
+- u32 *src = dw->buf_src + offset;
+- u32 *dst = dw->buf_dst + offset;
+- u32 *end = dw->buf_src + offset + bytes;
+-
+- do {
+- unsigned i;
+- u8 *cs;
+-
+- cs = dw->cs[dw->iec_offset++];
+- if (dw->iec_offset >= 192)
+- dw->iec_offset = 0;
+-
+- i = dw->channels;
+- do {
+- u32 sample = *src++;
+-
+- sample &= ~0xff000000;
+- sample |= *cs++ << 24;
+- sample |= parity(sample & ~0xf8000000);
+-
+- *dst++ = sample;
+- } while (--i);
+- } while (src < end);
+-}
+-
+-static void dw_hdmi_create_cs(struct snd_dw_hdmi *dw,
+- struct snd_pcm_runtime *runtime)
+-{
+- u8 cs[4];
+- unsigned ch, i, j;
+-
+- snd_pcm_create_iec958_consumer(runtime, cs, sizeof(cs));
+-
+- memset(dw->cs, 0, sizeof(dw->cs));
+-
+- for (ch = 0; ch < 8; ch++) {
+- cs[2] &= ~IEC958_AES2_CON_CHANNEL;
+- cs[2] |= (ch + 1) << 4;
+-
+- for (i = 0; i < ARRAY_SIZE(cs); i++) {
+- unsigned c = cs[i];
+-
+- for (j = 0; j < 8; j++, c >>= 1)
+- dw->cs[i * 8 + j][ch] = (c & 1) << 2;
+- }
+- }
+- dw->cs[0][0] |= BIT(4);
+-}
+-
+-static void dw_hdmi_start_dma(struct snd_dw_hdmi *dw)
+-{
+- void __iomem *base = dw->data.base;
+- unsigned offset = dw->buf_offset;
+- unsigned period = dw->buf_period;
+- u32 start, stop;
+-
+- dw->reformat(dw, offset, period);
+-
+- /* Clear all irqs before enabling irqs and starting DMA */
+- writeb_relaxed(HDMI_IH_AHBDMAAUD_STAT0_ALL,
+- base + HDMI_IH_AHBDMAAUD_STAT0);
+-
+- start = dw->buf_addr + offset;
+- stop = start + period - 1;
+-
+- /* Setup the hardware start/stop addresses */
+- dw_hdmi_writel(start, base + HDMI_AHB_DMA_STRADDR0);
+- dw_hdmi_writel(stop, base + HDMI_AHB_DMA_STPADDR0);
+-
+- writeb_relaxed((u8)~HDMI_AHB_DMA_MASK_DONE, base + HDMI_AHB_DMA_MASK);
+- writeb(HDMI_AHB_DMA_START_START, base + HDMI_AHB_DMA_START);
+-
+- offset += period;
+- if (offset >= dw->buf_size)
+- offset = 0;
+- dw->buf_offset = offset;
+-}
+-
+-static void dw_hdmi_stop_dma(struct snd_dw_hdmi *dw)
+-{
+- /* Disable interrupts before disabling DMA */
+- writeb_relaxed(~0, dw->data.base + HDMI_AHB_DMA_MASK);
+- writeb_relaxed(HDMI_AHB_DMA_STOP_STOP, dw->data.base + HDMI_AHB_DMA_STOP);
+-}
+-
+-static irqreturn_t snd_dw_hdmi_irq(int irq, void *data)
+-{
+- struct snd_dw_hdmi *dw = data;
+- struct snd_pcm_substream *substream;
+- unsigned stat;
+-
+- stat = readb_relaxed(dw->data.base + HDMI_IH_AHBDMAAUD_STAT0);
+- if (!stat)
+- return IRQ_NONE;
+-
+- writeb_relaxed(stat, dw->data.base + HDMI_IH_AHBDMAAUD_STAT0);
+-
+- substream = dw->substream;
+- if (stat & HDMI_IH_AHBDMAAUD_STAT0_DONE && substream) {
+- snd_pcm_period_elapsed(substream);
+-
+- spin_lock(&dw->lock);
+- if (dw->substream)
+- dw_hdmi_start_dma(dw);
+- spin_unlock(&dw->lock);
+- }
+-
+- return IRQ_HANDLED;
+-}
+-
+-static struct snd_pcm_hardware dw_hdmi_hw = {
+- .info = SNDRV_PCM_INFO_INTERLEAVED |
+- SNDRV_PCM_INFO_BLOCK_TRANSFER |
+- SNDRV_PCM_INFO_MMAP |
+- SNDRV_PCM_INFO_MMAP_VALID,
+- .formats = SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE |
+- SNDRV_PCM_FMTBIT_S24_LE,
+- .rates = SNDRV_PCM_RATE_32000 |
+- SNDRV_PCM_RATE_44100 |
+- SNDRV_PCM_RATE_48000 |
+- SNDRV_PCM_RATE_88200 |
+- SNDRV_PCM_RATE_96000 |
+- SNDRV_PCM_RATE_176400 |
+- SNDRV_PCM_RATE_192000,
+- .channels_min = 2,
+- .channels_max = 8,
+- .buffer_bytes_max = 1024 * 1024,
+- .period_bytes_min = 256,
+- .period_bytes_max = 8192, /* ERR004323: must limit to 8k */
+- .periods_min = 2,
+- .periods_max = 16,
+- .fifo_size = 0,
+-};
+-
+-static int dw_hdmi_open(struct snd_pcm_substream *substream)
+-{
+- struct snd_pcm_runtime *runtime = substream->runtime;
+- struct snd_dw_hdmi *dw = substream->private_data;
+- void __iomem *base = dw->data.base;
+- int ret;
+-
+- runtime->hw = dw_hdmi_hw;
+-
+- ret = snd_pcm_hw_constraint_eld(runtime, dw->data.eld);
+- if (ret < 0)
+- return ret;
+-
+- ret = snd_pcm_limit_hw_rates(runtime);
+- if (ret < 0)
+- return ret;
+-
+- ret = snd_pcm_hw_constraint_integer(runtime,
+- SNDRV_PCM_HW_PARAM_PERIODS);
+- if (ret < 0)
+- return ret;
+-
+- /* Limit the buffer size to the size of the preallocated buffer */
+- ret = snd_pcm_hw_constraint_minmax(runtime,
+- SNDRV_PCM_HW_PARAM_BUFFER_SIZE,
+- 0, substream->dma_buffer.bytes);
+- if (ret < 0)
+- return ret;
+-
+- /* Clear FIFO */
+- writeb_relaxed(HDMI_AHB_DMA_CONF0_SW_FIFO_RST,
+- base + HDMI_AHB_DMA_CONF0);
+-
+- /* Configure interrupt polarities */
+- writeb_relaxed(~0, base + HDMI_AHB_DMA_POL);
+- writeb_relaxed(~0, base + HDMI_AHB_DMA_BUFFPOL);
+-
+- /* Keep interrupts masked, and clear any pending */
+- writeb_relaxed(~0, base + HDMI_AHB_DMA_MASK);
+- writeb_relaxed(~0, base + HDMI_IH_AHBDMAAUD_STAT0);
+-
+- ret = request_irq(dw->data.irq, snd_dw_hdmi_irq, IRQF_SHARED,
+- "dw-hdmi-audio", dw);
+- if (ret)
+- return ret;
+-
+- /* Un-mute done interrupt */
+- writeb_relaxed(HDMI_IH_MUTE_AHBDMAAUD_STAT0_ALL &
+- ~HDMI_IH_MUTE_AHBDMAAUD_STAT0_DONE,
+- base + HDMI_IH_MUTE_AHBDMAAUD_STAT0);
+-
+- return 0;
+-}
+-
+-static int dw_hdmi_close(struct snd_pcm_substream *substream)
+-{
+- struct snd_dw_hdmi *dw = substream->private_data;
+-
+- /* Mute all interrupts */
+- writeb_relaxed(HDMI_IH_MUTE_AHBDMAAUD_STAT0_ALL,
+- dw->data.base + HDMI_IH_MUTE_AHBDMAAUD_STAT0);
+-
+- free_irq(dw->data.irq, dw);
+-
+- return 0;
+-}
+-
+-static int dw_hdmi_hw_free(struct snd_pcm_substream *substream)
+-{
+- return snd_pcm_lib_free_vmalloc_buffer(substream);
+-}
+-
+-static int dw_hdmi_hw_params(struct snd_pcm_substream *substream,
+- struct snd_pcm_hw_params *params)
+-{
+- /* Allocate the PCM runtime buffer, which is exposed to userspace. */
+- return snd_pcm_lib_alloc_vmalloc_buffer(substream,
+- params_buffer_bytes(params));
+-}
+-
+-static int dw_hdmi_prepare(struct snd_pcm_substream *substream)
+-{
+- struct snd_pcm_runtime *runtime = substream->runtime;
+- struct snd_dw_hdmi *dw = substream->private_data;
+- u8 threshold, conf0, conf1, layout, ca;
+-
+- /* Setup as per 3.0.5 FSL 4.1.0 BSP */
+- switch (dw->revision) {
+- case 0x0a:
+- conf0 = HDMI_AHB_DMA_CONF0_BURST_MODE |
+- HDMI_AHB_DMA_CONF0_INCR4;
+- if (runtime->channels == 2)
+- threshold = 126;
+- else
+- threshold = 124;
+- break;
+- case 0x1a:
+- conf0 = HDMI_AHB_DMA_CONF0_BURST_MODE |
+- HDMI_AHB_DMA_CONF0_INCR8;
+- threshold = 128;
+- break;
+- default:
+- /* NOTREACHED */
+- return -EINVAL;
+- }
+-
+- dw_hdmi_set_sample_rate(dw->data.hdmi, runtime->rate);
+-
+- /* Minimum number of bytes in the fifo. */
+- runtime->hw.fifo_size = threshold * 32;
+-
+- conf0 |= HDMI_AHB_DMA_CONF0_EN_HLOCK;
+- conf1 = default_hdmi_channel_config[runtime->channels - 2].conf1;
+- ca = default_hdmi_channel_config[runtime->channels - 2].ca;
+-
+- /*
+- * For >2 channel PCM audio, we need to select layout 1
+- * and set an appropriate channel map.
+- */
+- if (runtime->channels > 2)
+- layout = HDMI_FC_AUDSCONF_LAYOUT1;
+- else
+- layout = HDMI_FC_AUDSCONF_LAYOUT0;
+-
+- writeb_relaxed(threshold, dw->data.base + HDMI_AHB_DMA_THRSLD);
+- writeb_relaxed(conf0, dw->data.base + HDMI_AHB_DMA_CONF0);
+- writeb_relaxed(conf1, dw->data.base + HDMI_AHB_DMA_CONF1);
+- writeb_relaxed(layout, dw->data.base + HDMI_FC_AUDSCONF);
+- writeb_relaxed(ca, dw->data.base + HDMI_FC_AUDICONF2);
+-
+- switch (runtime->format) {
+- case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE:
+- dw->reformat = dw_hdmi_reformat_iec958;
+- break;
+- case SNDRV_PCM_FORMAT_S24_LE:
+- dw_hdmi_create_cs(dw, runtime);
+- dw->reformat = dw_hdmi_reformat_s24;
+- break;
+- }
+- dw->iec_offset = 0;
+- dw->channels = runtime->channels;
+- dw->buf_src = runtime->dma_area;
+- dw->buf_dst = substream->dma_buffer.area;
+- dw->buf_addr = substream->dma_buffer.addr;
+- dw->buf_period = snd_pcm_lib_period_bytes(substream);
+- dw->buf_size = snd_pcm_lib_buffer_bytes(substream);
+-
+- return 0;
+-}
+-
+-static int dw_hdmi_trigger(struct snd_pcm_substream *substream, int cmd)
+-{
+- struct snd_dw_hdmi *dw = substream->private_data;
+- unsigned long flags;
+- int ret = 0;
+-
+- switch (cmd) {
+- case SNDRV_PCM_TRIGGER_START:
+- spin_lock_irqsave(&dw->lock, flags);
+- dw->buf_offset = 0;
+- dw->substream = substream;
+- dw_hdmi_start_dma(dw);
+- dw_hdmi_audio_enable(dw->data.hdmi);
+- spin_unlock_irqrestore(&dw->lock, flags);
+- substream->runtime->delay = substream->runtime->period_size;
+- break;
+-
+- case SNDRV_PCM_TRIGGER_STOP:
+- spin_lock_irqsave(&dw->lock, flags);
+- dw->substream = NULL;
+- dw_hdmi_stop_dma(dw);
+- dw_hdmi_audio_disable(dw->data.hdmi);
+- spin_unlock_irqrestore(&dw->lock, flags);
+- break;
+-
+- default:
+- ret = -EINVAL;
+- break;
+- }
+-
+- return ret;
+-}
+-
+-static snd_pcm_uframes_t dw_hdmi_pointer(struct snd_pcm_substream *substream)
+-{
+- struct snd_pcm_runtime *runtime = substream->runtime;
+- struct snd_dw_hdmi *dw = substream->private_data;
+-
+- /*
+- * We are unable to report the exact hardware position as
+- * reading the 32-bit DMA position using 8-bit reads is racy.
+- */
+- return bytes_to_frames(runtime, dw->buf_offset);
+-}
+-
+-static struct snd_pcm_ops snd_dw_hdmi_ops = {
+- .open = dw_hdmi_open,
+- .close = dw_hdmi_close,
+- .ioctl = snd_pcm_lib_ioctl,
+- .hw_params = dw_hdmi_hw_params,
+- .hw_free = dw_hdmi_hw_free,
+- .prepare = dw_hdmi_prepare,
+- .trigger = dw_hdmi_trigger,
+- .pointer = dw_hdmi_pointer,
+- .page = snd_pcm_lib_get_vmalloc_page,
+-};
+-
+-static int snd_dw_hdmi_probe(struct platform_device *pdev)
+-{
+- const struct dw_hdmi_audio_data *data = pdev->dev.platform_data;
+- struct device *dev = pdev->dev.parent;
+- struct snd_dw_hdmi *dw;
+- struct snd_card *card;
+- struct snd_pcm *pcm;
+- unsigned revision;
+- int ret;
+-
+- writeb_relaxed(HDMI_IH_MUTE_AHBDMAAUD_STAT0_ALL,
+- data->base + HDMI_IH_MUTE_AHBDMAAUD_STAT0);
+- revision = readb_relaxed(data->base + HDMI_REVISION_ID);
+- if (revision != 0x0a && revision != 0x1a) {
+- dev_err(dev, "dw-hdmi-audio: unknown revision 0x%02x\n",
+- revision);
+- return -ENXIO;
+- }
+-
+- ret = snd_card_new(dev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
+- THIS_MODULE, sizeof(struct snd_dw_hdmi), &card);
+- if (ret < 0)
+- return ret;
+-
+- strlcpy(card->driver, DRIVER_NAME, sizeof(card->driver));
+- strlcpy(card->shortname, "DW-HDMI", sizeof(card->shortname));
+- snprintf(card->longname, sizeof(card->longname),
+- "%s rev 0x%02x, irq %d", card->shortname, revision,
+- data->irq);
+-
+- dw = card->private_data;
+- dw->card = card;
+- dw->data = *data;
+- dw->revision = revision;
+-
+- spin_lock_init(&dw->lock);
+-
+- ret = snd_pcm_new(card, "DW HDMI", 0, 1, 0, &pcm);
+- if (ret < 0)
+- goto err;
+-
+- dw->pcm = pcm;
+- pcm->private_data = dw;
+- strlcpy(pcm->name, DRIVER_NAME, sizeof(pcm->name));
+- snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_dw_hdmi_ops);
+-
+- /*
+- * To support 8-channel 96kHz audio reliably, we need 512k
+- * to satisfy alsa with our restricted period (ERR004323).
+- */
+- snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
+- dev, 128 * 1024, 1024 * 1024);
+-
+- ret = snd_card_register(card);
+- if (ret < 0)
+- goto err;
+-
+- platform_set_drvdata(pdev, dw);
+-
+- return 0;
+-
+-err:
+- snd_card_free(card);
+- return ret;
+-}
+-
+-static int snd_dw_hdmi_remove(struct platform_device *pdev)
+-{
+- struct snd_dw_hdmi *dw = platform_get_drvdata(pdev);
+-
+- snd_card_free(dw->card);
+-
+- return 0;
+-}
+-
+-#if defined(CONFIG_PM_SLEEP) && defined(IS_NOT_BROKEN)
+-/*
+- * This code is fine, but requires implementation in the dw_hdmi_trigger()
+- * method which is currently missing as I have no way to test this.
+- */
+-static int snd_dw_hdmi_suspend(struct device *dev)
+-{
+- struct snd_dw_hdmi *dw = dev_get_drvdata(dev);
+-
+- snd_power_change_state(dw->card, SNDRV_CTL_POWER_D3cold);
+- snd_pcm_suspend_all(dw->pcm);
+-
+- return 0;
+-}
+-
+-static int snd_dw_hdmi_resume(struct device *dev)
+-{
+- struct snd_dw_hdmi *dw = dev_get_drvdata(dev);
+-
+- snd_power_change_state(dw->card, SNDRV_CTL_POWER_D0);
+-
+- return 0;
+-}
+-
+-static SIMPLE_DEV_PM_OPS(snd_dw_hdmi_pm, snd_dw_hdmi_suspend,
+- snd_dw_hdmi_resume);
+-#define PM_OPS &snd_dw_hdmi_pm
+-#else
+-#define PM_OPS NULL
+-#endif
+-
+-static struct platform_driver snd_dw_hdmi_driver = {
+- .probe = snd_dw_hdmi_probe,
+- .remove = snd_dw_hdmi_remove,
+- .driver = {
+- .name = DRIVER_NAME,
+- .pm = PM_OPS,
+- },
+-};
+-
+-module_platform_driver(snd_dw_hdmi_driver);
+-
+-MODULE_AUTHOR("Russell King <rmk+kernel@arm.linux.org.uk>");
+-MODULE_DESCRIPTION("Synopsis Designware HDMI AHB ALSA interface");
+-MODULE_LICENSE("GPL v2");
+-MODULE_ALIAS("platform:" DRIVER_NAME);
+--- a/drivers/gpu/drm/bridge/dw-hdmi-audio.h
++++ /dev/null
+@@ -1,21 +0,0 @@
+-#ifndef DW_HDMI_AUDIO_H
+-#define DW_HDMI_AUDIO_H
+-
+-struct dw_hdmi;
+-
+-struct dw_hdmi_audio_data {
+- phys_addr_t phys;
+- void __iomem *base;
+- int irq;
+- struct dw_hdmi *hdmi;
+- u8 *eld;
+-};
+-
+-struct dw_hdmi_i2s_audio_data {
+- struct dw_hdmi *hdmi;
+-
+- void (*write)(struct dw_hdmi *hdmi, u8 val, int offset);
+- u8 (*read)(struct dw_hdmi *hdmi, int offset);
+-};
+-
+-#endif
+--- a/drivers/gpu/drm/bridge/dw-hdmi-i2s-audio.c
++++ /dev/null
+@@ -1,141 +0,0 @@
+-/*
+- * dw-hdmi-i2s-audio.c
+- *
+- * Copyright (c) 2016 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License version 2 as
+- * published by the Free Software Foundation.
+- */
+-#include <drm/bridge/dw_hdmi.h>
+-
+-#include <sound/hdmi-codec.h>
+-
+-#include "dw-hdmi.h"
+-#include "dw-hdmi-audio.h"
+-
+-#define DRIVER_NAME "dw-hdmi-i2s-audio"
+-
+-static inline void hdmi_write(struct dw_hdmi_i2s_audio_data *audio,
+- u8 val, int offset)
+-{
+- struct dw_hdmi *hdmi = audio->hdmi;
+-
+- audio->write(hdmi, val, offset);
+-}
+-
+-static inline u8 hdmi_read(struct dw_hdmi_i2s_audio_data *audio, int offset)
+-{
+- struct dw_hdmi *hdmi = audio->hdmi;
+-
+- return audio->read(hdmi, offset);
+-}
+-
+-static int dw_hdmi_i2s_hw_params(struct device *dev, void *data,
+- struct hdmi_codec_daifmt *fmt,
+- struct hdmi_codec_params *hparms)
+-{
+- struct dw_hdmi_i2s_audio_data *audio = data;
+- struct dw_hdmi *hdmi = audio->hdmi;
+- u8 conf0 = 0;
+- u8 conf1 = 0;
+- u8 inputclkfs = 0;
+-
+- /* it cares I2S only */
+- if ((fmt->fmt != HDMI_I2S) ||
+- (fmt->bit_clk_master | fmt->frame_clk_master)) {
+- dev_err(dev, "unsupported format/settings\n");
+- return -EINVAL;
+- }
+-
+- inputclkfs = HDMI_AUD_INPUTCLKFS_64FS;
+- conf0 = HDMI_AUD_CONF0_I2S_ALL_ENABLE;
+-
+- switch (hparms->sample_width) {
+- case 16:
+- conf1 = HDMI_AUD_CONF1_WIDTH_16;
+- break;
+- case 24:
+- case 32:
+- conf1 = HDMI_AUD_CONF1_WIDTH_24;
+- break;
+- }
+-
+- dw_hdmi_set_sample_rate(hdmi, hparms->sample_rate);
+-
+- hdmi_write(audio, inputclkfs, HDMI_AUD_INPUTCLKFS);
+- hdmi_write(audio, conf0, HDMI_AUD_CONF0);
+- hdmi_write(audio, conf1, HDMI_AUD_CONF1);
+-
+- dw_hdmi_audio_enable(hdmi);
+-
+- return 0;
+-}
+-
+-static void dw_hdmi_i2s_audio_shutdown(struct device *dev, void *data)
+-{
+- struct dw_hdmi_i2s_audio_data *audio = data;
+- struct dw_hdmi *hdmi = audio->hdmi;
+-
+- dw_hdmi_audio_disable(hdmi);
+-
+- hdmi_write(audio, HDMI_AUD_CONF0_SW_RESET, HDMI_AUD_CONF0);
+-}
+-
+-static struct hdmi_codec_ops dw_hdmi_i2s_ops = {
+- .hw_params = dw_hdmi_i2s_hw_params,
+- .audio_shutdown = dw_hdmi_i2s_audio_shutdown,
+-};
+-
+-static int snd_dw_hdmi_probe(struct platform_device *pdev)
+-{
+- struct dw_hdmi_i2s_audio_data *audio = pdev->dev.platform_data;
+- struct platform_device_info pdevinfo;
+- struct hdmi_codec_pdata pdata;
+- struct platform_device *platform;
+-
+- pdata.ops = &dw_hdmi_i2s_ops;
+- pdata.i2s = 1;
+- pdata.max_i2s_channels = 6;
+- pdata.data = audio;
+-
+- memset(&pdevinfo, 0, sizeof(pdevinfo));
+- pdevinfo.parent = pdev->dev.parent;
+- pdevinfo.id = PLATFORM_DEVID_AUTO;
+- pdevinfo.name = HDMI_CODEC_DRV_NAME;
+- pdevinfo.data = &pdata;
+- pdevinfo.size_data = sizeof(pdata);
+- pdevinfo.dma_mask = DMA_BIT_MASK(32);
+-
+- platform = platform_device_register_full(&pdevinfo);
+- if (IS_ERR(platform))
+- return PTR_ERR(platform);
+-
+- dev_set_drvdata(&pdev->dev, platform);
+-
+- return 0;
+-}
+-
+-static int snd_dw_hdmi_remove(struct platform_device *pdev)
+-{
+- struct platform_device *platform = dev_get_drvdata(&pdev->dev);
+-
+- platform_device_unregister(platform);
+-
+- return 0;
+-}
+-
+-static struct platform_driver snd_dw_hdmi_driver = {
+- .probe = snd_dw_hdmi_probe,
+- .remove = snd_dw_hdmi_remove,
+- .driver = {
+- .name = DRIVER_NAME,
+- .owner = THIS_MODULE,
+- },
+-};
+-module_platform_driver(snd_dw_hdmi_driver);
+-
+-MODULE_AUTHOR("Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>");
+-MODULE_DESCRIPTION("Synopsis Designware HDMI I2S ALSA SoC interface");
+-MODULE_LICENSE("GPL v2");
+-MODULE_ALIAS("platform:" DRIVER_NAME);
+--- a/drivers/gpu/drm/bridge/dw-hdmi.c
++++ /dev/null
+@@ -1,2314 +0,0 @@
+-/*
+- * DesignWare High-Definition Multimedia Interface (HDMI) driver
+- *
+- * Copyright (C) 2013-2015 Mentor Graphics Inc.
+- * Copyright (C) 2011-2013 Freescale Semiconductor, Inc.
+- * Copyright (C) 2010, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- */
+-#include <linux/module.h>
+-#include <linux/irq.h>
+-#include <linux/delay.h>
+-#include <linux/err.h>
+-#include <linux/clk.h>
+-#include <linux/hdmi.h>
+-#include <linux/mutex.h>
+-#include <linux/of_device.h>
+-#include <linux/regmap.h>
+-#include <linux/spinlock.h>
+-
+-#include <drm/drm_of.h>
+-#include <drm/drmP.h>
+-#include <drm/drm_atomic_helper.h>
+-#include <drm/drm_crtc_helper.h>
+-#include <drm/drm_edid.h>
+-#include <drm/drm_encoder_slave.h>
+-#include <drm/bridge/dw_hdmi.h>
+-
+-#include "dw-hdmi.h"
+-#include "dw-hdmi-audio.h"
+-
+-#define HDMI_EDID_LEN 512
+-
+-#define RGB 0
+-#define YCBCR444 1
+-#define YCBCR422_16BITS 2
+-#define YCBCR422_8BITS 3
+-#define XVYCC444 4
+-
+-enum hdmi_datamap {
+- RGB444_8B = 0x01,
+- RGB444_10B = 0x03,
+- RGB444_12B = 0x05,
+- RGB444_16B = 0x07,
+- YCbCr444_8B = 0x09,
+- YCbCr444_10B = 0x0B,
+- YCbCr444_12B = 0x0D,
+- YCbCr444_16B = 0x0F,
+- YCbCr422_8B = 0x16,
+- YCbCr422_10B = 0x14,
+- YCbCr422_12B = 0x12,
+-};
+-
+-static const u16 csc_coeff_default[3][4] = {
+- { 0x2000, 0x0000, 0x0000, 0x0000 },
+- { 0x0000, 0x2000, 0x0000, 0x0000 },
+- { 0x0000, 0x0000, 0x2000, 0x0000 }
+-};
+-
+-static const u16 csc_coeff_rgb_out_eitu601[3][4] = {
+- { 0x2000, 0x6926, 0x74fd, 0x010e },
+- { 0x2000, 0x2cdd, 0x0000, 0x7e9a },
+- { 0x2000, 0x0000, 0x38b4, 0x7e3b }
+-};
+-
+-static const u16 csc_coeff_rgb_out_eitu709[3][4] = {
+- { 0x2000, 0x7106, 0x7a02, 0x00a7 },
+- { 0x2000, 0x3264, 0x0000, 0x7e6d },
+- { 0x2000, 0x0000, 0x3b61, 0x7e25 }
+-};
+-
+-static const u16 csc_coeff_rgb_in_eitu601[3][4] = {
+- { 0x2591, 0x1322, 0x074b, 0x0000 },
+- { 0x6535, 0x2000, 0x7acc, 0x0200 },
+- { 0x6acd, 0x7534, 0x2000, 0x0200 }
+-};
+-
+-static const u16 csc_coeff_rgb_in_eitu709[3][4] = {
+- { 0x2dc5, 0x0d9b, 0x049e, 0x0000 },
+- { 0x62f0, 0x2000, 0x7d11, 0x0200 },
+- { 0x6756, 0x78ab, 0x2000, 0x0200 }
+-};
+-
+-struct hdmi_vmode {
+- bool mdataenablepolarity;
+-
+- unsigned int mpixelclock;
+- unsigned int mpixelrepetitioninput;
+- unsigned int mpixelrepetitionoutput;
+-};
+-
+-struct hdmi_data_info {
+- unsigned int enc_in_format;
+- unsigned int enc_out_format;
+- unsigned int enc_color_depth;
+- unsigned int colorimetry;
+- unsigned int pix_repet_factor;
+- unsigned int hdcp_enable;
+- struct hdmi_vmode video_mode;
+-};
+-
+-struct dw_hdmi_i2c {
+- struct i2c_adapter adap;
+-
+- struct mutex lock; /* used to serialize data transfers */
+- struct completion cmp;
+- u8 stat;
+-
+- u8 slave_reg;
+- bool is_regaddr;
+-};
+-
+-struct dw_hdmi_phy_data {
+- enum dw_hdmi_phy_type type;
+- const char *name;
+- unsigned int gen;
+- bool has_svsret;
+- int (*configure)(struct dw_hdmi *hdmi,
+- const struct dw_hdmi_plat_data *pdata,
+- unsigned long mpixelclock);
+-};
+-
+-struct dw_hdmi {
+- struct drm_connector connector;
+- struct drm_bridge bridge;
+-
+- unsigned int version;
+-
+- struct platform_device *audio;
+- struct device *dev;
+- struct clk *isfr_clk;
+- struct clk *iahb_clk;
+- struct dw_hdmi_i2c *i2c;
+-
+- struct hdmi_data_info hdmi_data;
+- const struct dw_hdmi_plat_data *plat_data;
+-
+- int vic;
+-
+- u8 edid[HDMI_EDID_LEN];
+- bool cable_plugin;
+-
+- struct {
+- const struct dw_hdmi_phy_ops *ops;
+- const char *name;
+- void *data;
+- bool enabled;
+- } phy;
+-
+- struct drm_display_mode previous_mode;
+-
+- struct i2c_adapter *ddc;
+- void __iomem *regs;
+- bool sink_is_hdmi;
+- bool sink_has_audio;
+-
+- struct mutex mutex; /* for state below and previous_mode */
+- enum drm_connector_force force; /* mutex-protected force state */
+- bool disabled; /* DRM has disabled our bridge */
+- bool bridge_is_on; /* indicates the bridge is on */
+- bool rxsense; /* rxsense state */
+- u8 phy_mask; /* desired phy int mask settings */
+-
+- spinlock_t audio_lock;
+- struct mutex audio_mutex;
+- unsigned int sample_rate;
+- unsigned int audio_cts;
+- unsigned int audio_n;
+- bool audio_enable;
+-
+- unsigned int reg_shift;
+- struct regmap *regm;
+-};
+-
+-#define HDMI_IH_PHY_STAT0_RX_SENSE \
+- (HDMI_IH_PHY_STAT0_RX_SENSE0 | HDMI_IH_PHY_STAT0_RX_SENSE1 | \
+- HDMI_IH_PHY_STAT0_RX_SENSE2 | HDMI_IH_PHY_STAT0_RX_SENSE3)
+-
+-#define HDMI_PHY_RX_SENSE \
+- (HDMI_PHY_RX_SENSE0 | HDMI_PHY_RX_SENSE1 | \
+- HDMI_PHY_RX_SENSE2 | HDMI_PHY_RX_SENSE3)
+-
+-static inline void hdmi_writeb(struct dw_hdmi *hdmi, u8 val, int offset)
+-{
+- regmap_write(hdmi->regm, offset << hdmi->reg_shift, val);
+-}
+-
+-static inline u8 hdmi_readb(struct dw_hdmi *hdmi, int offset)
+-{
+- unsigned int val = 0;
+-
+- regmap_read(hdmi->regm, offset << hdmi->reg_shift, &val);
+-
+- return val;
+-}
+-
+-static void hdmi_modb(struct dw_hdmi *hdmi, u8 data, u8 mask, unsigned reg)
+-{
+- regmap_update_bits(hdmi->regm, reg << hdmi->reg_shift, mask, data);
+-}
+-
+-static void hdmi_mask_writeb(struct dw_hdmi *hdmi, u8 data, unsigned int reg,
+- u8 shift, u8 mask)
+-{
+- hdmi_modb(hdmi, data << shift, mask, reg);
+-}
+-
+-static void dw_hdmi_i2c_init(struct dw_hdmi *hdmi)
+-{
+- /* Software reset */
+- hdmi_writeb(hdmi, 0x00, HDMI_I2CM_SOFTRSTZ);
+-
+- /* Set Standard Mode speed (determined to be 100KHz on iMX6) */
+- hdmi_writeb(hdmi, 0x00, HDMI_I2CM_DIV);
+-
+- /* Set done, not acknowledged and arbitration interrupt polarities */
+- hdmi_writeb(hdmi, HDMI_I2CM_INT_DONE_POL, HDMI_I2CM_INT);
+- hdmi_writeb(hdmi, HDMI_I2CM_CTLINT_NAC_POL | HDMI_I2CM_CTLINT_ARB_POL,
+- HDMI_I2CM_CTLINT);
+-
+- /* Clear DONE and ERROR interrupts */
+- hdmi_writeb(hdmi, HDMI_IH_I2CM_STAT0_ERROR | HDMI_IH_I2CM_STAT0_DONE,
+- HDMI_IH_I2CM_STAT0);
+-
+- /* Mute DONE and ERROR interrupts */
+- hdmi_writeb(hdmi, HDMI_IH_I2CM_STAT0_ERROR | HDMI_IH_I2CM_STAT0_DONE,
+- HDMI_IH_MUTE_I2CM_STAT0);
+-}
+-
+-static int dw_hdmi_i2c_read(struct dw_hdmi *hdmi,
+- unsigned char *buf, unsigned int length)
+-{
+- struct dw_hdmi_i2c *i2c = hdmi->i2c;
+- int stat;
+-
+- if (!i2c->is_regaddr) {
+- dev_dbg(hdmi->dev, "set read register address to 0\n");
+- i2c->slave_reg = 0x00;
+- i2c->is_regaddr = true;
+- }
+-
+- while (length--) {
+- reinit_completion(&i2c->cmp);
+-
+- hdmi_writeb(hdmi, i2c->slave_reg++, HDMI_I2CM_ADDRESS);
+- hdmi_writeb(hdmi, HDMI_I2CM_OPERATION_READ,
+- HDMI_I2CM_OPERATION);
+-
+- stat = wait_for_completion_timeout(&i2c->cmp, HZ / 10);
+- if (!stat)
+- return -EAGAIN;
+-
+- /* Check for error condition on the bus */
+- if (i2c->stat & HDMI_IH_I2CM_STAT0_ERROR)
+- return -EIO;
+-
+- *buf++ = hdmi_readb(hdmi, HDMI_I2CM_DATAI);
+- }
+-
+- return 0;
+-}
+-
+-static int dw_hdmi_i2c_write(struct dw_hdmi *hdmi,
+- unsigned char *buf, unsigned int length)
+-{
+- struct dw_hdmi_i2c *i2c = hdmi->i2c;
+- int stat;
+-
+- if (!i2c->is_regaddr) {
+- /* Use the first write byte as register address */
+- i2c->slave_reg = buf[0];
+- length--;
+- buf++;
+- i2c->is_regaddr = true;
+- }
+-
+- while (length--) {
+- reinit_completion(&i2c->cmp);
+-
+- hdmi_writeb(hdmi, *buf++, HDMI_I2CM_DATAO);
+- hdmi_writeb(hdmi, i2c->slave_reg++, HDMI_I2CM_ADDRESS);
+- hdmi_writeb(hdmi, HDMI_I2CM_OPERATION_WRITE,
+- HDMI_I2CM_OPERATION);
+-
+- stat = wait_for_completion_timeout(&i2c->cmp, HZ / 10);
+- if (!stat)
+- return -EAGAIN;
+-
+- /* Check for error condition on the bus */
+- if (i2c->stat & HDMI_IH_I2CM_STAT0_ERROR)
+- return -EIO;
+- }
+-
+- return 0;
+-}
+-
+-static int dw_hdmi_i2c_xfer(struct i2c_adapter *adap,
+- struct i2c_msg *msgs, int num)
+-{
+- struct dw_hdmi *hdmi = i2c_get_adapdata(adap);
+- struct dw_hdmi_i2c *i2c = hdmi->i2c;
+- u8 addr = msgs[0].addr;
+- int i, ret = 0;
+-
+- dev_dbg(hdmi->dev, "xfer: num: %d, addr: %#x\n", num, addr);
+-
+- for (i = 0; i < num; i++) {
+- if (msgs[i].addr != addr) {
+- dev_warn(hdmi->dev,
+- "unsupported transfer, changed slave address\n");
+- return -EOPNOTSUPP;
+- }
+-
+- if (msgs[i].len == 0) {
+- dev_dbg(hdmi->dev,
+- "unsupported transfer %d/%d, no data\n",
+- i + 1, num);
+- return -EOPNOTSUPP;
+- }
+- }
+-
+- mutex_lock(&i2c->lock);
+-
+- /* Unmute DONE and ERROR interrupts */
+- hdmi_writeb(hdmi, 0x00, HDMI_IH_MUTE_I2CM_STAT0);
+-
+- /* Set slave device address taken from the first I2C message */
+- hdmi_writeb(hdmi, addr, HDMI_I2CM_SLAVE);
+-
+- /* Set slave device register address on transfer */
+- i2c->is_regaddr = false;
+-
+- for (i = 0; i < num; i++) {
+- dev_dbg(hdmi->dev, "xfer: num: %d/%d, len: %d, flags: %#x\n",
+- i + 1, num, msgs[i].len, msgs[i].flags);
+-
+- if (msgs[i].flags & I2C_M_RD)
+- ret = dw_hdmi_i2c_read(hdmi, msgs[i].buf, msgs[i].len);
+- else
+- ret = dw_hdmi_i2c_write(hdmi, msgs[i].buf, msgs[i].len);
+-
+- if (ret < 0)
+- break;
+- }
+-
+- if (!ret)
+- ret = num;
+-
+- /* Mute DONE and ERROR interrupts */
+- hdmi_writeb(hdmi, HDMI_IH_I2CM_STAT0_ERROR | HDMI_IH_I2CM_STAT0_DONE,
+- HDMI_IH_MUTE_I2CM_STAT0);
+-
+- mutex_unlock(&i2c->lock);
+-
+- return ret;
+-}
+-
+-static u32 dw_hdmi_i2c_func(struct i2c_adapter *adapter)
+-{
+- return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL;
+-}
+-
+-static const struct i2c_algorithm dw_hdmi_algorithm = {
+- .master_xfer = dw_hdmi_i2c_xfer,
+- .functionality = dw_hdmi_i2c_func,
+-};
+-
+-static struct i2c_adapter *dw_hdmi_i2c_adapter(struct dw_hdmi *hdmi)
+-{
+- struct i2c_adapter *adap;
+- struct dw_hdmi_i2c *i2c;
+- int ret;
+-
+- i2c = devm_kzalloc(hdmi->dev, sizeof(*i2c), GFP_KERNEL);
+- if (!i2c)
+- return ERR_PTR(-ENOMEM);
+-
+- mutex_init(&i2c->lock);
+- init_completion(&i2c->cmp);
+-
+- adap = &i2c->adap;
+- adap->class = I2C_CLASS_DDC;
+- adap->owner = THIS_MODULE;
+- adap->dev.parent = hdmi->dev;
+- adap->algo = &dw_hdmi_algorithm;
+- strlcpy(adap->name, "DesignWare HDMI", sizeof(adap->name));
+- i2c_set_adapdata(adap, hdmi);
+-
+- ret = i2c_add_adapter(adap);
+- if (ret) {
+- dev_warn(hdmi->dev, "cannot add %s I2C adapter\n", adap->name);
+- devm_kfree(hdmi->dev, i2c);
+- return ERR_PTR(ret);
+- }
+-
+- hdmi->i2c = i2c;
+-
+- dev_info(hdmi->dev, "registered %s I2C bus driver\n", adap->name);
+-
+- return adap;
+-}
+-
+-static void hdmi_set_cts_n(struct dw_hdmi *hdmi, unsigned int cts,
+- unsigned int n)
+-{
+- /* Must be set/cleared first */
+- hdmi_modb(hdmi, 0, HDMI_AUD_CTS3_CTS_MANUAL, HDMI_AUD_CTS3);
+-
+- /* nshift factor = 0 */
+- hdmi_modb(hdmi, 0, HDMI_AUD_CTS3_N_SHIFT_MASK, HDMI_AUD_CTS3);
+-
+- hdmi_writeb(hdmi, ((cts >> 16) & HDMI_AUD_CTS3_AUDCTS19_16_MASK) |
+- HDMI_AUD_CTS3_CTS_MANUAL, HDMI_AUD_CTS3);
+- hdmi_writeb(hdmi, (cts >> 8) & 0xff, HDMI_AUD_CTS2);
+- hdmi_writeb(hdmi, cts & 0xff, HDMI_AUD_CTS1);
+-
+- hdmi_writeb(hdmi, (n >> 16) & 0x0f, HDMI_AUD_N3);
+- hdmi_writeb(hdmi, (n >> 8) & 0xff, HDMI_AUD_N2);
+- hdmi_writeb(hdmi, n & 0xff, HDMI_AUD_N1);
+-}
+-
+-static unsigned int hdmi_compute_n(unsigned int freq, unsigned long pixel_clk)
+-{
+- unsigned int n = (128 * freq) / 1000;
+- unsigned int mult = 1;
+-
+- while (freq > 48000) {
+- mult *= 2;
+- freq /= 2;
+- }
+-
+- switch (freq) {
+- case 32000:
+- if (pixel_clk == 25175000)
+- n = 4576;
+- else if (pixel_clk == 27027000)
+- n = 4096;
+- else if (pixel_clk == 74176000 || pixel_clk == 148352000)
+- n = 11648;
+- else
+- n = 4096;
+- n *= mult;
+- break;
+-
+- case 44100:
+- if (pixel_clk == 25175000)
+- n = 7007;
+- else if (pixel_clk == 74176000)
+- n = 17836;
+- else if (pixel_clk == 148352000)
+- n = 8918;
+- else
+- n = 6272;
+- n *= mult;
+- break;
+-
+- case 48000:
+- if (pixel_clk == 25175000)
+- n = 6864;
+- else if (pixel_clk == 27027000)
+- n = 6144;
+- else if (pixel_clk == 74176000)
+- n = 11648;
+- else if (pixel_clk == 148352000)
+- n = 5824;
+- else
+- n = 6144;
+- n *= mult;
+- break;
+-
+- default:
+- break;
+- }
+-
+- return n;
+-}
+-
+-static void hdmi_set_clk_regenerator(struct dw_hdmi *hdmi,
+- unsigned long pixel_clk, unsigned int sample_rate)
+-{
+- unsigned long ftdms = pixel_clk;
+- unsigned int n, cts;
+- u64 tmp;
+-
+- n = hdmi_compute_n(sample_rate, pixel_clk);
+-
+- /*
+- * Compute the CTS value from the N value. Note that CTS and N
+- * can be up to 20 bits in total, so we need 64-bit math. Also
+- * note that our TDMS clock is not fully accurate; it is accurate
+- * to kHz. This can introduce an unnecessary remainder in the
+- * calculation below, so we don't try to warn about that.
+- */
+- tmp = (u64)ftdms * n;
+- do_div(tmp, 128 * sample_rate);
+- cts = tmp;
+-
+- dev_dbg(hdmi->dev, "%s: fs=%uHz ftdms=%lu.%03luMHz N=%d cts=%d\n",
+- __func__, sample_rate, ftdms / 1000000, (ftdms / 1000) % 1000,
+- n, cts);
+-
+- spin_lock_irq(&hdmi->audio_lock);
+- hdmi->audio_n = n;
+- hdmi->audio_cts = cts;
+- hdmi_set_cts_n(hdmi, cts, hdmi->audio_enable ? n : 0);
+- spin_unlock_irq(&hdmi->audio_lock);
+-}
+-
+-static void hdmi_init_clk_regenerator(struct dw_hdmi *hdmi)
+-{
+- mutex_lock(&hdmi->audio_mutex);
+- hdmi_set_clk_regenerator(hdmi, 74250000, hdmi->sample_rate);
+- mutex_unlock(&hdmi->audio_mutex);
+-}
+-
+-static void hdmi_clk_regenerator_update_pixel_clock(struct dw_hdmi *hdmi)
+-{
+- mutex_lock(&hdmi->audio_mutex);
+- hdmi_set_clk_regenerator(hdmi, hdmi->hdmi_data.video_mode.mpixelclock,
+- hdmi->sample_rate);
+- mutex_unlock(&hdmi->audio_mutex);
+-}
+-
+-void dw_hdmi_set_sample_rate(struct dw_hdmi *hdmi, unsigned int rate)
+-{
+- mutex_lock(&hdmi->audio_mutex);
+- hdmi->sample_rate = rate;
+- hdmi_set_clk_regenerator(hdmi, hdmi->hdmi_data.video_mode.mpixelclock,
+- hdmi->sample_rate);
+- mutex_unlock(&hdmi->audio_mutex);
+-}
+-EXPORT_SYMBOL_GPL(dw_hdmi_set_sample_rate);
+-
+-void dw_hdmi_audio_enable(struct dw_hdmi *hdmi)
+-{
+- unsigned long flags;
+-
+- spin_lock_irqsave(&hdmi->audio_lock, flags);
+- hdmi->audio_enable = true;
+- hdmi_set_cts_n(hdmi, hdmi->audio_cts, hdmi->audio_n);
+- spin_unlock_irqrestore(&hdmi->audio_lock, flags);
+-}
+-EXPORT_SYMBOL_GPL(dw_hdmi_audio_enable);
+-
+-void dw_hdmi_audio_disable(struct dw_hdmi *hdmi)
+-{
+- unsigned long flags;
+-
+- spin_lock_irqsave(&hdmi->audio_lock, flags);
+- hdmi->audio_enable = false;
+- hdmi_set_cts_n(hdmi, hdmi->audio_cts, 0);
+- spin_unlock_irqrestore(&hdmi->audio_lock, flags);
+-}
+-EXPORT_SYMBOL_GPL(dw_hdmi_audio_disable);
+-
+-/*
+- * this submodule is responsible for the video data synchronization.
+- * for example, for RGB 4:4:4 input, the data map is defined as
+- * pin{47~40} <==> R[7:0]
+- * pin{31~24} <==> G[7:0]
+- * pin{15~8} <==> B[7:0]
+- */
+-static void hdmi_video_sample(struct dw_hdmi *hdmi)
+-{
+- int color_format = 0;
+- u8 val;
+-
+- if (hdmi->hdmi_data.enc_in_format == RGB) {
+- if (hdmi->hdmi_data.enc_color_depth == 8)
+- color_format = 0x01;
+- else if (hdmi->hdmi_data.enc_color_depth == 10)
+- color_format = 0x03;
+- else if (hdmi->hdmi_data.enc_color_depth == 12)
+- color_format = 0x05;
+- else if (hdmi->hdmi_data.enc_color_depth == 16)
+- color_format = 0x07;
+- else
+- return;
+- } else if (hdmi->hdmi_data.enc_in_format == YCBCR444) {
+- if (hdmi->hdmi_data.enc_color_depth == 8)
+- color_format = 0x09;
+- else if (hdmi->hdmi_data.enc_color_depth == 10)
+- color_format = 0x0B;
+- else if (hdmi->hdmi_data.enc_color_depth == 12)
+- color_format = 0x0D;
+- else if (hdmi->hdmi_data.enc_color_depth == 16)
+- color_format = 0x0F;
+- else
+- return;
+- } else if (hdmi->hdmi_data.enc_in_format == YCBCR422_8BITS) {
+- if (hdmi->hdmi_data.enc_color_depth == 8)
+- color_format = 0x16;
+- else if (hdmi->hdmi_data.enc_color_depth == 10)
+- color_format = 0x14;
+- else if (hdmi->hdmi_data.enc_color_depth == 12)
+- color_format = 0x12;
+- else
+- return;
+- }
+-
+- val = HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_DISABLE |
+- ((color_format << HDMI_TX_INVID0_VIDEO_MAPPING_OFFSET) &
+- HDMI_TX_INVID0_VIDEO_MAPPING_MASK);
+- hdmi_writeb(hdmi, val, HDMI_TX_INVID0);
+-
+- /* Enable TX stuffing: When DE is inactive, fix the output data to 0 */
+- val = HDMI_TX_INSTUFFING_BDBDATA_STUFFING_ENABLE |
+- HDMI_TX_INSTUFFING_RCRDATA_STUFFING_ENABLE |
+- HDMI_TX_INSTUFFING_GYDATA_STUFFING_ENABLE;
+- hdmi_writeb(hdmi, val, HDMI_TX_INSTUFFING);
+- hdmi_writeb(hdmi, 0x0, HDMI_TX_GYDATA0);
+- hdmi_writeb(hdmi, 0x0, HDMI_TX_GYDATA1);
+- hdmi_writeb(hdmi, 0x0, HDMI_TX_RCRDATA0);
+- hdmi_writeb(hdmi, 0x0, HDMI_TX_RCRDATA1);
+- hdmi_writeb(hdmi, 0x0, HDMI_TX_BCBDATA0);
+- hdmi_writeb(hdmi, 0x0, HDMI_TX_BCBDATA1);
+-}
+-
+-static int is_color_space_conversion(struct dw_hdmi *hdmi)
+-{
+- return hdmi->hdmi_data.enc_in_format != hdmi->hdmi_data.enc_out_format;
+-}
+-
+-static int is_color_space_decimation(struct dw_hdmi *hdmi)
+-{
+- if (hdmi->hdmi_data.enc_out_format != YCBCR422_8BITS)
+- return 0;
+- if (hdmi->hdmi_data.enc_in_format == RGB ||
+- hdmi->hdmi_data.enc_in_format == YCBCR444)
+- return 1;
+- return 0;
+-}
+-
+-static int is_color_space_interpolation(struct dw_hdmi *hdmi)
+-{
+- if (hdmi->hdmi_data.enc_in_format != YCBCR422_8BITS)
+- return 0;
+- if (hdmi->hdmi_data.enc_out_format == RGB ||
+- hdmi->hdmi_data.enc_out_format == YCBCR444)
+- return 1;
+- return 0;
+-}
+-
+-static void dw_hdmi_update_csc_coeffs(struct dw_hdmi *hdmi)
+-{
+- const u16 (*csc_coeff)[3][4] = &csc_coeff_default;
+- unsigned i;
+- u32 csc_scale = 1;
+-
+- if (is_color_space_conversion(hdmi)) {
+- if (hdmi->hdmi_data.enc_out_format == RGB) {
+- if (hdmi->hdmi_data.colorimetry ==
+- HDMI_COLORIMETRY_ITU_601)
+- csc_coeff = &csc_coeff_rgb_out_eitu601;
+- else
+- csc_coeff = &csc_coeff_rgb_out_eitu709;
+- } else if (hdmi->hdmi_data.enc_in_format == RGB) {
+- if (hdmi->hdmi_data.colorimetry ==
+- HDMI_COLORIMETRY_ITU_601)
+- csc_coeff = &csc_coeff_rgb_in_eitu601;
+- else
+- csc_coeff = &csc_coeff_rgb_in_eitu709;
+- csc_scale = 0;
+- }
+- }
+-
+- /* The CSC registers are sequential, alternating MSB then LSB */
+- for (i = 0; i < ARRAY_SIZE(csc_coeff_default[0]); i++) {
+- u16 coeff_a = (*csc_coeff)[0][i];
+- u16 coeff_b = (*csc_coeff)[1][i];
+- u16 coeff_c = (*csc_coeff)[2][i];
+-
+- hdmi_writeb(hdmi, coeff_a & 0xff, HDMI_CSC_COEF_A1_LSB + i * 2);
+- hdmi_writeb(hdmi, coeff_a >> 8, HDMI_CSC_COEF_A1_MSB + i * 2);
+- hdmi_writeb(hdmi, coeff_b & 0xff, HDMI_CSC_COEF_B1_LSB + i * 2);
+- hdmi_writeb(hdmi, coeff_b >> 8, HDMI_CSC_COEF_B1_MSB + i * 2);
+- hdmi_writeb(hdmi, coeff_c & 0xff, HDMI_CSC_COEF_C1_LSB + i * 2);
+- hdmi_writeb(hdmi, coeff_c >> 8, HDMI_CSC_COEF_C1_MSB + i * 2);
+- }
+-
+- hdmi_modb(hdmi, csc_scale, HDMI_CSC_SCALE_CSCSCALE_MASK,
+- HDMI_CSC_SCALE);
+-}
+-
+-static void hdmi_video_csc(struct dw_hdmi *hdmi)
+-{
+- int color_depth = 0;
+- int interpolation = HDMI_CSC_CFG_INTMODE_DISABLE;
+- int decimation = 0;
+-
+- /* YCC422 interpolation to 444 mode */
+- if (is_color_space_interpolation(hdmi))
+- interpolation = HDMI_CSC_CFG_INTMODE_CHROMA_INT_FORMULA1;
+- else if (is_color_space_decimation(hdmi))
+- decimation = HDMI_CSC_CFG_DECMODE_CHROMA_INT_FORMULA3;
+-
+- if (hdmi->hdmi_data.enc_color_depth == 8)
+- color_depth = HDMI_CSC_SCALE_CSC_COLORDE_PTH_24BPP;
+- else if (hdmi->hdmi_data.enc_color_depth == 10)
+- color_depth = HDMI_CSC_SCALE_CSC_COLORDE_PTH_30BPP;
+- else if (hdmi->hdmi_data.enc_color_depth == 12)
+- color_depth = HDMI_CSC_SCALE_CSC_COLORDE_PTH_36BPP;
+- else if (hdmi->hdmi_data.enc_color_depth == 16)
+- color_depth = HDMI_CSC_SCALE_CSC_COLORDE_PTH_48BPP;
+- else
+- return;
+-
+- /* Configure the CSC registers */
+- hdmi_writeb(hdmi, interpolation | decimation, HDMI_CSC_CFG);
+- hdmi_modb(hdmi, color_depth, HDMI_CSC_SCALE_CSC_COLORDE_PTH_MASK,
+- HDMI_CSC_SCALE);
+-
+- dw_hdmi_update_csc_coeffs(hdmi);
+-}
+-
+-/*
+- * HDMI video packetizer is used to packetize the data.
+- * for example, if input is YCC422 mode or repeater is used,
+- * data should be repacked this module can be bypassed.
+- */
+-static void hdmi_video_packetize(struct dw_hdmi *hdmi)
+-{
+- unsigned int color_depth = 0;
+- unsigned int remap_size = HDMI_VP_REMAP_YCC422_16bit;
+- unsigned int output_select = HDMI_VP_CONF_OUTPUT_SELECTOR_PP;
+- struct hdmi_data_info *hdmi_data = &hdmi->hdmi_data;
+- u8 val, vp_conf;
+-
+- if (hdmi_data->enc_out_format == RGB ||
+- hdmi_data->enc_out_format == YCBCR444) {
+- if (!hdmi_data->enc_color_depth) {
+- output_select = HDMI_VP_CONF_OUTPUT_SELECTOR_BYPASS;
+- } else if (hdmi_data->enc_color_depth == 8) {
+- color_depth = 4;
+- output_select = HDMI_VP_CONF_OUTPUT_SELECTOR_BYPASS;
+- } else if (hdmi_data->enc_color_depth == 10) {
+- color_depth = 5;
+- } else if (hdmi_data->enc_color_depth == 12) {
+- color_depth = 6;
+- } else if (hdmi_data->enc_color_depth == 16) {
+- color_depth = 7;
+- } else {
+- return;
+- }
+- } else if (hdmi_data->enc_out_format == YCBCR422_8BITS) {
+- if (!hdmi_data->enc_color_depth ||
+- hdmi_data->enc_color_depth == 8)
+- remap_size = HDMI_VP_REMAP_YCC422_16bit;
+- else if (hdmi_data->enc_color_depth == 10)
+- remap_size = HDMI_VP_REMAP_YCC422_20bit;
+- else if (hdmi_data->enc_color_depth == 12)
+- remap_size = HDMI_VP_REMAP_YCC422_24bit;
+- else
+- return;
+- output_select = HDMI_VP_CONF_OUTPUT_SELECTOR_YCC422;
+- } else {
+- return;
+- }
+-
+- /* set the packetizer registers */
+- val = ((color_depth << HDMI_VP_PR_CD_COLOR_DEPTH_OFFSET) &
+- HDMI_VP_PR_CD_COLOR_DEPTH_MASK) |
+- ((hdmi_data->pix_repet_factor <<
+- HDMI_VP_PR_CD_DESIRED_PR_FACTOR_OFFSET) &
+- HDMI_VP_PR_CD_DESIRED_PR_FACTOR_MASK);
+- hdmi_writeb(hdmi, val, HDMI_VP_PR_CD);
+-
+- hdmi_modb(hdmi, HDMI_VP_STUFF_PR_STUFFING_STUFFING_MODE,
+- HDMI_VP_STUFF_PR_STUFFING_MASK, HDMI_VP_STUFF);
+-
+- /* Data from pixel repeater block */
+- if (hdmi_data->pix_repet_factor > 1) {
+- vp_conf = HDMI_VP_CONF_PR_EN_ENABLE |
+- HDMI_VP_CONF_BYPASS_SELECT_PIX_REPEATER;
+- } else { /* data from packetizer block */
+- vp_conf = HDMI_VP_CONF_PR_EN_DISABLE |
+- HDMI_VP_CONF_BYPASS_SELECT_VID_PACKETIZER;
+- }
+-
+- hdmi_modb(hdmi, vp_conf,
+- HDMI_VP_CONF_PR_EN_MASK |
+- HDMI_VP_CONF_BYPASS_SELECT_MASK, HDMI_VP_CONF);
+-
+- hdmi_modb(hdmi, 1 << HDMI_VP_STUFF_IDEFAULT_PHASE_OFFSET,
+- HDMI_VP_STUFF_IDEFAULT_PHASE_MASK, HDMI_VP_STUFF);
+-
+- hdmi_writeb(hdmi, remap_size, HDMI_VP_REMAP);
+-
+- if (output_select == HDMI_VP_CONF_OUTPUT_SELECTOR_PP) {
+- vp_conf = HDMI_VP_CONF_BYPASS_EN_DISABLE |
+- HDMI_VP_CONF_PP_EN_ENABLE |
+- HDMI_VP_CONF_YCC422_EN_DISABLE;
+- } else if (output_select == HDMI_VP_CONF_OUTPUT_SELECTOR_YCC422) {
+- vp_conf = HDMI_VP_CONF_BYPASS_EN_DISABLE |
+- HDMI_VP_CONF_PP_EN_DISABLE |
+- HDMI_VP_CONF_YCC422_EN_ENABLE;
+- } else if (output_select == HDMI_VP_CONF_OUTPUT_SELECTOR_BYPASS) {
+- vp_conf = HDMI_VP_CONF_BYPASS_EN_ENABLE |
+- HDMI_VP_CONF_PP_EN_DISABLE |
+- HDMI_VP_CONF_YCC422_EN_DISABLE;
+- } else {
+- return;
+- }
+-
+- hdmi_modb(hdmi, vp_conf,
+- HDMI_VP_CONF_BYPASS_EN_MASK | HDMI_VP_CONF_PP_EN_ENMASK |
+- HDMI_VP_CONF_YCC422_EN_MASK, HDMI_VP_CONF);
+-
+- hdmi_modb(hdmi, HDMI_VP_STUFF_PP_STUFFING_STUFFING_MODE |
+- HDMI_VP_STUFF_YCC422_STUFFING_STUFFING_MODE,
+- HDMI_VP_STUFF_PP_STUFFING_MASK |
+- HDMI_VP_STUFF_YCC422_STUFFING_MASK, HDMI_VP_STUFF);
+-
+- hdmi_modb(hdmi, output_select, HDMI_VP_CONF_OUTPUT_SELECTOR_MASK,
+- HDMI_VP_CONF);
+-}
+-
+-/* -----------------------------------------------------------------------------
+- * Synopsys PHY Handling
+- */
+-
+-static inline void hdmi_phy_test_clear(struct dw_hdmi *hdmi,
+- unsigned char bit)
+-{
+- hdmi_modb(hdmi, bit << HDMI_PHY_TST0_TSTCLR_OFFSET,
+- HDMI_PHY_TST0_TSTCLR_MASK, HDMI_PHY_TST0);
+-}
+-
+-static bool hdmi_phy_wait_i2c_done(struct dw_hdmi *hdmi, int msec)
+-{
+- u32 val;
+-
+- while ((val = hdmi_readb(hdmi, HDMI_IH_I2CMPHY_STAT0) & 0x3) == 0) {
+- if (msec-- == 0)
+- return false;
+- udelay(1000);
+- }
+- hdmi_writeb(hdmi, val, HDMI_IH_I2CMPHY_STAT0);
+-
+- return true;
+-}
+-
+-void dw_hdmi_phy_i2c_write(struct dw_hdmi *hdmi, unsigned short data,
+- unsigned char addr)
+-{
+- hdmi_writeb(hdmi, 0xFF, HDMI_IH_I2CMPHY_STAT0);
+- hdmi_writeb(hdmi, addr, HDMI_PHY_I2CM_ADDRESS_ADDR);
+- hdmi_writeb(hdmi, (unsigned char)(data >> 8),
+- HDMI_PHY_I2CM_DATAO_1_ADDR);
+- hdmi_writeb(hdmi, (unsigned char)(data >> 0),
+- HDMI_PHY_I2CM_DATAO_0_ADDR);
+- hdmi_writeb(hdmi, HDMI_PHY_I2CM_OPERATION_ADDR_WRITE,
+- HDMI_PHY_I2CM_OPERATION_ADDR);
+- hdmi_phy_wait_i2c_done(hdmi, 1000);
+-}
+-EXPORT_SYMBOL_GPL(dw_hdmi_phy_i2c_write);
+-
+-static void dw_hdmi_phy_enable_powerdown(struct dw_hdmi *hdmi, bool enable)
+-{
+- hdmi_mask_writeb(hdmi, !enable, HDMI_PHY_CONF0,
+- HDMI_PHY_CONF0_PDZ_OFFSET,
+- HDMI_PHY_CONF0_PDZ_MASK);
+-}
+-
+-static void dw_hdmi_phy_enable_tmds(struct dw_hdmi *hdmi, u8 enable)
+-{
+- hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
+- HDMI_PHY_CONF0_ENTMDS_OFFSET,
+- HDMI_PHY_CONF0_ENTMDS_MASK);
+-}
+-
+-static void dw_hdmi_phy_enable_svsret(struct dw_hdmi *hdmi, u8 enable)
+-{
+- hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
+- HDMI_PHY_CONF0_SVSRET_OFFSET,
+- HDMI_PHY_CONF0_SVSRET_MASK);
+-}
+-
+-static void dw_hdmi_phy_gen2_pddq(struct dw_hdmi *hdmi, u8 enable)
+-{
+- hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
+- HDMI_PHY_CONF0_GEN2_PDDQ_OFFSET,
+- HDMI_PHY_CONF0_GEN2_PDDQ_MASK);
+-}
+-
+-static void dw_hdmi_phy_gen2_txpwron(struct dw_hdmi *hdmi, u8 enable)
+-{
+- hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
+- HDMI_PHY_CONF0_GEN2_TXPWRON_OFFSET,
+- HDMI_PHY_CONF0_GEN2_TXPWRON_MASK);
+-}
+-
+-static void dw_hdmi_phy_sel_data_en_pol(struct dw_hdmi *hdmi, u8 enable)
+-{
+- hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
+- HDMI_PHY_CONF0_SELDATAENPOL_OFFSET,
+- HDMI_PHY_CONF0_SELDATAENPOL_MASK);
+-}
+-
+-static void dw_hdmi_phy_sel_interface_control(struct dw_hdmi *hdmi, u8 enable)
+-{
+- hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
+- HDMI_PHY_CONF0_SELDIPIF_OFFSET,
+- HDMI_PHY_CONF0_SELDIPIF_MASK);
+-}
+-
+-static void dw_hdmi_phy_power_off(struct dw_hdmi *hdmi)
+-{
+- const struct dw_hdmi_phy_data *phy = hdmi->phy.data;
+- unsigned int i;
+- u16 val;
+-
+- if (phy->gen == 1) {
+- dw_hdmi_phy_enable_tmds(hdmi, 0);
+- dw_hdmi_phy_enable_powerdown(hdmi, true);
+- return;
+- }
+-
+- dw_hdmi_phy_gen2_txpwron(hdmi, 0);
+-
+- /*
+- * Wait for TX_PHY_LOCK to be deasserted to indicate that the PHY went
+- * to low power mode.
+- */
+- for (i = 0; i < 5; ++i) {
+- val = hdmi_readb(hdmi, HDMI_PHY_STAT0);
+- if (!(val & HDMI_PHY_TX_PHY_LOCK))
+- break;
+-
+- usleep_range(1000, 2000);
+- }
+-
+- if (val & HDMI_PHY_TX_PHY_LOCK)
+- dev_warn(hdmi->dev, "PHY failed to power down\n");
+- else
+- dev_dbg(hdmi->dev, "PHY powered down in %u iterations\n", i);
+-
+- dw_hdmi_phy_gen2_pddq(hdmi, 1);
+-}
+-
+-static int dw_hdmi_phy_power_on(struct dw_hdmi *hdmi)
+-{
+- const struct dw_hdmi_phy_data *phy = hdmi->phy.data;
+- unsigned int i;
+- u8 val;
+-
+- if (phy->gen == 1) {
+- dw_hdmi_phy_enable_powerdown(hdmi, false);
+-
+- /* Toggle TMDS enable. */
+- dw_hdmi_phy_enable_tmds(hdmi, 0);
+- dw_hdmi_phy_enable_tmds(hdmi, 1);
+- return 0;
+- }
+-
+- dw_hdmi_phy_gen2_txpwron(hdmi, 1);
+- dw_hdmi_phy_gen2_pddq(hdmi, 0);
+-
+- /* Wait for PHY PLL lock */
+- for (i = 0; i < 5; ++i) {
+- val = hdmi_readb(hdmi, HDMI_PHY_STAT0) & HDMI_PHY_TX_PHY_LOCK;
+- if (val)
+- break;
+-
+- usleep_range(1000, 2000);
+- }
+-
+- if (!val) {
+- dev_err(hdmi->dev, "PHY PLL failed to lock\n");
+- return -ETIMEDOUT;
+- }
+-
+- dev_dbg(hdmi->dev, "PHY PLL locked %u iterations\n", i);
+- return 0;
+-}
+-
+-/*
+- * PHY configuration function for the DWC HDMI 3D TX PHY. Based on the available
+- * information the DWC MHL PHY has the same register layout and is thus also
+- * supported by this function.
+- */
+-static int hdmi_phy_configure_dwc_hdmi_3d_tx(struct dw_hdmi *hdmi,
+- const struct dw_hdmi_plat_data *pdata,
+- unsigned long mpixelclock)
+-{
+- const struct dw_hdmi_mpll_config *mpll_config = pdata->mpll_cfg;
+- const struct dw_hdmi_curr_ctrl *curr_ctrl = pdata->cur_ctr;
+- const struct dw_hdmi_phy_config *phy_config = pdata->phy_config;
+-
+- /* PLL/MPLL Cfg - always match on final entry */
+- for (; mpll_config->mpixelclock != ~0UL; mpll_config++)
+- if (mpixelclock <= mpll_config->mpixelclock)
+- break;
+-
+- for (; curr_ctrl->mpixelclock != ~0UL; curr_ctrl++)
+- if (mpixelclock <= curr_ctrl->mpixelclock)
+- break;
+-
+- for (; phy_config->mpixelclock != ~0UL; phy_config++)
+- if (mpixelclock <= phy_config->mpixelclock)
+- break;
+-
+- if (mpll_config->mpixelclock == ~0UL ||
+- curr_ctrl->mpixelclock == ~0UL ||
+- phy_config->mpixelclock == ~0UL)
+- return -EINVAL;
+-
+- dw_hdmi_phy_i2c_write(hdmi, mpll_config->res[0].cpce,
+- HDMI_3D_TX_PHY_CPCE_CTRL);
+- dw_hdmi_phy_i2c_write(hdmi, mpll_config->res[0].gmp,
+- HDMI_3D_TX_PHY_GMPCTRL);
+- dw_hdmi_phy_i2c_write(hdmi, curr_ctrl->curr[0],
+- HDMI_3D_TX_PHY_CURRCTRL);
+-
+- dw_hdmi_phy_i2c_write(hdmi, 0, HDMI_3D_TX_PHY_PLLPHBYCTRL);
+- dw_hdmi_phy_i2c_write(hdmi, HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_FB_CLK,
+- HDMI_3D_TX_PHY_MSM_CTRL);
+-
+- dw_hdmi_phy_i2c_write(hdmi, phy_config->term, HDMI_3D_TX_PHY_TXTERM);
+- dw_hdmi_phy_i2c_write(hdmi, phy_config->sym_ctr,
+- HDMI_3D_TX_PHY_CKSYMTXCTRL);
+- dw_hdmi_phy_i2c_write(hdmi, phy_config->vlev_ctr,
+- HDMI_3D_TX_PHY_VLEVCTRL);
+-
+- /* Override and disable clock termination. */
+- dw_hdmi_phy_i2c_write(hdmi, HDMI_3D_TX_PHY_CKCALCTRL_OVERRIDE,
+- HDMI_3D_TX_PHY_CKCALCTRL);
+-
+- return 0;
+-}
+-
+-static int hdmi_phy_configure(struct dw_hdmi *hdmi)
+-{
+- const struct dw_hdmi_phy_data *phy = hdmi->phy.data;
+- const struct dw_hdmi_plat_data *pdata = hdmi->plat_data;
+- unsigned long mpixelclock = hdmi->hdmi_data.video_mode.mpixelclock;
+- int ret;
+-
+- dw_hdmi_phy_power_off(hdmi);
+-
+- /* Leave low power consumption mode by asserting SVSRET. */
+- if (phy->has_svsret)
+- dw_hdmi_phy_enable_svsret(hdmi, 1);
+-
+- /* PHY reset. The reset signal is active high on Gen2 PHYs. */
+- hdmi_writeb(hdmi, HDMI_MC_PHYRSTZ_PHYRSTZ, HDMI_MC_PHYRSTZ);
+- hdmi_writeb(hdmi, 0, HDMI_MC_PHYRSTZ);
+-
+- hdmi_writeb(hdmi, HDMI_MC_HEACPHY_RST_ASSERT, HDMI_MC_HEACPHY_RST);
+-
+- hdmi_phy_test_clear(hdmi, 1);
+- hdmi_writeb(hdmi, HDMI_PHY_I2CM_SLAVE_ADDR_PHY_GEN2,
+- HDMI_PHY_I2CM_SLAVE_ADDR);
+- hdmi_phy_test_clear(hdmi, 0);
+-
+- /* Write to the PHY as configured by the platform */
+- if (pdata->configure_phy)
+- ret = pdata->configure_phy(hdmi, pdata, mpixelclock);
+- else
+- ret = phy->configure(hdmi, pdata, mpixelclock);
+- if (ret) {
+- dev_err(hdmi->dev, "PHY configuration failed (clock %lu)\n",
+- mpixelclock);
+- return ret;
+- }
+-
+- return dw_hdmi_phy_power_on(hdmi);
+-}
+-
+-static int dw_hdmi_phy_init(struct dw_hdmi *hdmi, void *data,
+- struct drm_display_mode *mode)
+-{
+- int i, ret;
+-
+- /* HDMI Phy spec says to do the phy initialization sequence twice */
+- for (i = 0; i < 2; i++) {
+- dw_hdmi_phy_sel_data_en_pol(hdmi, 1);
+- dw_hdmi_phy_sel_interface_control(hdmi, 0);
+-
+- ret = hdmi_phy_configure(hdmi);
+- if (ret)
+- return ret;
+- }
+-
+- return 0;
+-}
+-
+-static void dw_hdmi_phy_disable(struct dw_hdmi *hdmi, void *data)
+-{
+- dw_hdmi_phy_power_off(hdmi);
+-}
+-
+-static enum drm_connector_status dw_hdmi_phy_read_hpd(struct dw_hdmi *hdmi,
+- void *data)
+-{
+- return hdmi_readb(hdmi, HDMI_PHY_STAT0) & HDMI_PHY_HPD ?
+- connector_status_connected : connector_status_disconnected;
+-}
+-
+-static const struct dw_hdmi_phy_ops dw_hdmi_synopsys_phy_ops = {
+- .init = dw_hdmi_phy_init,
+- .disable = dw_hdmi_phy_disable,
+- .read_hpd = dw_hdmi_phy_read_hpd,
+-};
+-
+-/* -----------------------------------------------------------------------------
+- * HDMI TX Setup
+- */
+-
+-static void hdmi_tx_hdcp_config(struct dw_hdmi *hdmi)
+-{
+- u8 de;
+-
+- if (hdmi->hdmi_data.video_mode.mdataenablepolarity)
+- de = HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_HIGH;
+- else
+- de = HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_LOW;
+-
+- /* disable rx detect */
+- hdmi_modb(hdmi, HDMI_A_HDCPCFG0_RXDETECT_DISABLE,
+- HDMI_A_HDCPCFG0_RXDETECT_MASK, HDMI_A_HDCPCFG0);
+-
+- hdmi_modb(hdmi, de, HDMI_A_VIDPOLCFG_DATAENPOL_MASK, HDMI_A_VIDPOLCFG);
+-
+- hdmi_modb(hdmi, HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_DISABLE,
+- HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_MASK, HDMI_A_HDCPCFG1);
+-}
+-
+-static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+-{
+- struct hdmi_avi_infoframe frame;
+- u8 val;
+-
+- /* Initialise info frame from DRM mode */
+- drm_hdmi_avi_infoframe_from_display_mode(&frame, mode);
+-
+- if (hdmi->hdmi_data.enc_out_format == YCBCR444)
+- frame.colorspace = HDMI_COLORSPACE_YUV444;
+- else if (hdmi->hdmi_data.enc_out_format == YCBCR422_8BITS)
+- frame.colorspace = HDMI_COLORSPACE_YUV422;
+- else
+- frame.colorspace = HDMI_COLORSPACE_RGB;
+-
+- /* Set up colorimetry */
+- if (hdmi->hdmi_data.enc_out_format == XVYCC444) {
+- frame.colorimetry = HDMI_COLORIMETRY_EXTENDED;
+- if (hdmi->hdmi_data.colorimetry == HDMI_COLORIMETRY_ITU_601)
+- frame.extended_colorimetry =
+- HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
+- else /*hdmi->hdmi_data.colorimetry == HDMI_COLORIMETRY_ITU_709*/
+- frame.extended_colorimetry =
+- HDMI_EXTENDED_COLORIMETRY_XV_YCC_709;
+- } else if (hdmi->hdmi_data.enc_out_format != RGB) {
+- frame.colorimetry = hdmi->hdmi_data.colorimetry;
+- frame.extended_colorimetry = HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
+- } else { /* Carries no data */
+- frame.colorimetry = HDMI_COLORIMETRY_NONE;
+- frame.extended_colorimetry = HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
+- }
+-
+- frame.scan_mode = HDMI_SCAN_MODE_NONE;
+-
+- /*
+- * The Designware IP uses a different byte format from standard
+- * AVI info frames, though generally the bits are in the correct
+- * bytes.
+- */
+-
+- /*
+- * AVI data byte 1 differences: Colorspace in bits 0,1 rather than 5,6,
+- * scan info in bits 4,5 rather than 0,1 and active aspect present in
+- * bit 6 rather than 4.
+- */
+- val = (frame.scan_mode & 3) << 4 | (frame.colorspace & 3);
+- if (frame.active_aspect & 15)
+- val |= HDMI_FC_AVICONF0_ACTIVE_FMT_INFO_PRESENT;
+- if (frame.top_bar || frame.bottom_bar)
+- val |= HDMI_FC_AVICONF0_BAR_DATA_HORIZ_BAR;
+- if (frame.left_bar || frame.right_bar)
+- val |= HDMI_FC_AVICONF0_BAR_DATA_VERT_BAR;
+- hdmi_writeb(hdmi, val, HDMI_FC_AVICONF0);
+-
+- /* AVI data byte 2 differences: none */
+- val = ((frame.colorimetry & 0x3) << 6) |
+- ((frame.picture_aspect & 0x3) << 4) |
+- (frame.active_aspect & 0xf);
+- hdmi_writeb(hdmi, val, HDMI_FC_AVICONF1);
+-
+- /* AVI data byte 3 differences: none */
+- val = ((frame.extended_colorimetry & 0x7) << 4) |
+- ((frame.quantization_range & 0x3) << 2) |
+- (frame.nups & 0x3);
+- if (frame.itc)
+- val |= HDMI_FC_AVICONF2_IT_CONTENT_VALID;
+- hdmi_writeb(hdmi, val, HDMI_FC_AVICONF2);
+-
+- /* AVI data byte 4 differences: none */
+- val = frame.video_code & 0x7f;
+- hdmi_writeb(hdmi, val, HDMI_FC_AVIVID);
+-
+- /* AVI Data Byte 5- set up input and output pixel repetition */
+- val = (((hdmi->hdmi_data.video_mode.mpixelrepetitioninput + 1) <<
+- HDMI_FC_PRCONF_INCOMING_PR_FACTOR_OFFSET) &
+- HDMI_FC_PRCONF_INCOMING_PR_FACTOR_MASK) |
+- ((hdmi->hdmi_data.video_mode.mpixelrepetitionoutput <<
+- HDMI_FC_PRCONF_OUTPUT_PR_FACTOR_OFFSET) &
+- HDMI_FC_PRCONF_OUTPUT_PR_FACTOR_MASK);
+- hdmi_writeb(hdmi, val, HDMI_FC_PRCONF);
+-
+- /*
+- * AVI data byte 5 differences: content type in 0,1 rather than 4,5,
+- * ycc range in bits 2,3 rather than 6,7
+- */
+- val = ((frame.ycc_quantization_range & 0x3) << 2) |
+- (frame.content_type & 0x3);
+- hdmi_writeb(hdmi, val, HDMI_FC_AVICONF3);
+-
+- /* AVI Data Bytes 6-13 */
+- hdmi_writeb(hdmi, frame.top_bar & 0xff, HDMI_FC_AVIETB0);
+- hdmi_writeb(hdmi, (frame.top_bar >> 8) & 0xff, HDMI_FC_AVIETB1);
+- hdmi_writeb(hdmi, frame.bottom_bar & 0xff, HDMI_FC_AVISBB0);
+- hdmi_writeb(hdmi, (frame.bottom_bar >> 8) & 0xff, HDMI_FC_AVISBB1);
+- hdmi_writeb(hdmi, frame.left_bar & 0xff, HDMI_FC_AVIELB0);
+- hdmi_writeb(hdmi, (frame.left_bar >> 8) & 0xff, HDMI_FC_AVIELB1);
+- hdmi_writeb(hdmi, frame.right_bar & 0xff, HDMI_FC_AVISRB0);
+- hdmi_writeb(hdmi, (frame.right_bar >> 8) & 0xff, HDMI_FC_AVISRB1);
+-}
+-
+-static void hdmi_av_composer(struct dw_hdmi *hdmi,
+- const struct drm_display_mode *mode)
+-{
+- u8 inv_val;
+- struct hdmi_vmode *vmode = &hdmi->hdmi_data.video_mode;
+- int hblank, vblank, h_de_hs, v_de_vs, hsync_len, vsync_len;
+- unsigned int vdisplay;
+-
+- vmode->mpixelclock = mode->clock * 1000;
+-
+- dev_dbg(hdmi->dev, "final pixclk = %d\n", vmode->mpixelclock);
+-
+- /* Set up HDMI_FC_INVIDCONF */
+- inv_val = (hdmi->hdmi_data.hdcp_enable ?
+- HDMI_FC_INVIDCONF_HDCP_KEEPOUT_ACTIVE :
+- HDMI_FC_INVIDCONF_HDCP_KEEPOUT_INACTIVE);
+-
+- inv_val |= mode->flags & DRM_MODE_FLAG_PVSYNC ?
+- HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_HIGH :
+- HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_LOW;
+-
+- inv_val |= mode->flags & DRM_MODE_FLAG_PHSYNC ?
+- HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_HIGH :
+- HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_LOW;
+-
+- inv_val |= (vmode->mdataenablepolarity ?
+- HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_HIGH :
+- HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_LOW);
+-
+- if (hdmi->vic == 39)
+- inv_val |= HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_HIGH;
+- else
+- inv_val |= mode->flags & DRM_MODE_FLAG_INTERLACE ?
+- HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_HIGH :
+- HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_LOW;
+-
+- inv_val |= mode->flags & DRM_MODE_FLAG_INTERLACE ?
+- HDMI_FC_INVIDCONF_IN_I_P_INTERLACED :
+- HDMI_FC_INVIDCONF_IN_I_P_PROGRESSIVE;
+-
+- inv_val |= hdmi->sink_is_hdmi ?
+- HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE :
+- HDMI_FC_INVIDCONF_DVI_MODEZ_DVI_MODE;
+-
+- hdmi_writeb(hdmi, inv_val, HDMI_FC_INVIDCONF);
+-
+- vdisplay = mode->vdisplay;
+- vblank = mode->vtotal - mode->vdisplay;
+- v_de_vs = mode->vsync_start - mode->vdisplay;
+- vsync_len = mode->vsync_end - mode->vsync_start;
+-
+- /*
+- * When we're setting an interlaced mode, we need
+- * to adjust the vertical timing to suit.
+- */
+- if (mode->flags & DRM_MODE_FLAG_INTERLACE) {
+- vdisplay /= 2;
+- vblank /= 2;
+- v_de_vs /= 2;
+- vsync_len /= 2;
+- }
+-
+- /* Set up horizontal active pixel width */
+- hdmi_writeb(hdmi, mode->hdisplay >> 8, HDMI_FC_INHACTV1);
+- hdmi_writeb(hdmi, mode->hdisplay, HDMI_FC_INHACTV0);
+-
+- /* Set up vertical active lines */
+- hdmi_writeb(hdmi, vdisplay >> 8, HDMI_FC_INVACTV1);
+- hdmi_writeb(hdmi, vdisplay, HDMI_FC_INVACTV0);
+-
+- /* Set up horizontal blanking pixel region width */
+- hblank = mode->htotal - mode->hdisplay;
+- hdmi_writeb(hdmi, hblank >> 8, HDMI_FC_INHBLANK1);
+- hdmi_writeb(hdmi, hblank, HDMI_FC_INHBLANK0);
+-
+- /* Set up vertical blanking pixel region width */
+- hdmi_writeb(hdmi, vblank, HDMI_FC_INVBLANK);
+-
+- /* Set up HSYNC active edge delay width (in pixel clks) */
+- h_de_hs = mode->hsync_start - mode->hdisplay;
+- hdmi_writeb(hdmi, h_de_hs >> 8, HDMI_FC_HSYNCINDELAY1);
+- hdmi_writeb(hdmi, h_de_hs, HDMI_FC_HSYNCINDELAY0);
+-
+- /* Set up VSYNC active edge delay (in lines) */
+- hdmi_writeb(hdmi, v_de_vs, HDMI_FC_VSYNCINDELAY);
+-
+- /* Set up HSYNC active pulse width (in pixel clks) */
+- hsync_len = mode->hsync_end - mode->hsync_start;
+- hdmi_writeb(hdmi, hsync_len >> 8, HDMI_FC_HSYNCINWIDTH1);
+- hdmi_writeb(hdmi, hsync_len, HDMI_FC_HSYNCINWIDTH0);
+-
+- /* Set up VSYNC active edge delay (in lines) */
+- hdmi_writeb(hdmi, vsync_len, HDMI_FC_VSYNCINWIDTH);
+-}
+-
+-/* HDMI Initialization Step B.4 */
+-static void dw_hdmi_enable_video_path(struct dw_hdmi *hdmi)
+-{
+- u8 clkdis;
+-
+- /* control period minimum duration */
+- hdmi_writeb(hdmi, 12, HDMI_FC_CTRLDUR);
+- hdmi_writeb(hdmi, 32, HDMI_FC_EXCTRLDUR);
+- hdmi_writeb(hdmi, 1, HDMI_FC_EXCTRLSPAC);
+-
+- /* Set to fill TMDS data channels */
+- hdmi_writeb(hdmi, 0x0B, HDMI_FC_CH0PREAM);
+- hdmi_writeb(hdmi, 0x16, HDMI_FC_CH1PREAM);
+- hdmi_writeb(hdmi, 0x21, HDMI_FC_CH2PREAM);
+-
+- /* Enable pixel clock and tmds data path */
+- clkdis = 0x7F;
+- clkdis &= ~HDMI_MC_CLKDIS_PIXELCLK_DISABLE;
+- hdmi_writeb(hdmi, clkdis, HDMI_MC_CLKDIS);
+-
+- clkdis &= ~HDMI_MC_CLKDIS_TMDSCLK_DISABLE;
+- hdmi_writeb(hdmi, clkdis, HDMI_MC_CLKDIS);
+-
+- /* Enable csc path */
+- if (is_color_space_conversion(hdmi)) {
+- clkdis &= ~HDMI_MC_CLKDIS_CSCCLK_DISABLE;
+- hdmi_writeb(hdmi, clkdis, HDMI_MC_CLKDIS);
+- }
+-
+- /* Enable color space conversion if needed */
+- if (is_color_space_conversion(hdmi))
+- hdmi_writeb(hdmi, HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_IN_PATH,
+- HDMI_MC_FLOWCTRL);
+- else
+- hdmi_writeb(hdmi, HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_BYPASS,
+- HDMI_MC_FLOWCTRL);
+-}
+-
+-static void hdmi_enable_audio_clk(struct dw_hdmi *hdmi)
+-{
+- hdmi_modb(hdmi, 0, HDMI_MC_CLKDIS_AUDCLK_DISABLE, HDMI_MC_CLKDIS);
+-}
+-
+-/* Workaround to clear the overflow condition */
+-static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi)
+-{
+- unsigned int count;
+- unsigned int i;
+- u8 val;
+-
+- /*
+- * Under some circumstances the Frame Composer arithmetic unit can miss
+- * an FC register write due to being busy processing the previous one.
+- * The issue can be worked around by issuing a TMDS software reset and
+- * then write one of the FC registers several times.
+- *
+- * The number of iterations matters and depends on the HDMI TX revision
+- * (and possibly on the platform). So far only i.MX6Q (v1.30a) and
+- * i.MX6DL (v1.31a) have been identified as needing the workaround, with
+- * 4 and 1 iterations respectively.
+- */
+-
+- switch (hdmi->version) {
+- case 0x130a:
+- count = 4;
+- break;
+- case 0x131a:
+- count = 1;
+- break;
+- default:
+- return;
+- }
+-
+- /* TMDS software reset */
+- hdmi_writeb(hdmi, (u8)~HDMI_MC_SWRSTZ_TMDSSWRST_REQ, HDMI_MC_SWRSTZ);
+-
+- val = hdmi_readb(hdmi, HDMI_FC_INVIDCONF);
+- for (i = 0; i < count; i++)
+- hdmi_writeb(hdmi, val, HDMI_FC_INVIDCONF);
+-}
+-
+-static void hdmi_enable_overflow_interrupts(struct dw_hdmi *hdmi)
+-{
+- hdmi_writeb(hdmi, 0, HDMI_FC_MASK2);
+- hdmi_writeb(hdmi, 0, HDMI_IH_MUTE_FC_STAT2);
+-}
+-
+-static void hdmi_disable_overflow_interrupts(struct dw_hdmi *hdmi)
+-{
+- hdmi_writeb(hdmi, HDMI_IH_MUTE_FC_STAT2_OVERFLOW_MASK,
+- HDMI_IH_MUTE_FC_STAT2);
+-}
+-
+-static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+-{
+- int ret;
+-
+- hdmi_disable_overflow_interrupts(hdmi);
+-
+- hdmi->vic = drm_match_cea_mode(mode);
+-
+- if (!hdmi->vic) {
+- dev_dbg(hdmi->dev, "Non-CEA mode used in HDMI\n");
+- } else {
+- dev_dbg(hdmi->dev, "CEA mode used vic=%d\n", hdmi->vic);
+- }
+-
+- if ((hdmi->vic == 6) || (hdmi->vic == 7) ||
+- (hdmi->vic == 21) || (hdmi->vic == 22) ||
+- (hdmi->vic == 2) || (hdmi->vic == 3) ||
+- (hdmi->vic == 17) || (hdmi->vic == 18))
+- hdmi->hdmi_data.colorimetry = HDMI_COLORIMETRY_ITU_601;
+- else
+- hdmi->hdmi_data.colorimetry = HDMI_COLORIMETRY_ITU_709;
+-
+- hdmi->hdmi_data.video_mode.mpixelrepetitionoutput = 0;
+- hdmi->hdmi_data.video_mode.mpixelrepetitioninput = 0;
+-
+- /* TODO: Get input format from IPU (via FB driver interface) */
+- hdmi->hdmi_data.enc_in_format = RGB;
+-
+- hdmi->hdmi_data.enc_out_format = RGB;
+-
+- hdmi->hdmi_data.enc_color_depth = 8;
+- hdmi->hdmi_data.pix_repet_factor = 0;
+- hdmi->hdmi_data.hdcp_enable = 0;
+- hdmi->hdmi_data.video_mode.mdataenablepolarity = true;
+-
+- /* HDMI Initialization Step B.1 */
+- hdmi_av_composer(hdmi, mode);
+-
+- /* HDMI Initializateion Step B.2 */
+- ret = hdmi->phy.ops->init(hdmi, hdmi->phy.data, &hdmi->previous_mode);
+- if (ret)
+- return ret;
+- hdmi->phy.enabled = true;
+-
+- /* HDMI Initialization Step B.3 */
+- dw_hdmi_enable_video_path(hdmi);
+-
+- if (hdmi->sink_has_audio) {
+- dev_dbg(hdmi->dev, "sink has audio support\n");
+-
+- /* HDMI Initialization Step E - Configure audio */
+- hdmi_clk_regenerator_update_pixel_clock(hdmi);
+- hdmi_enable_audio_clk(hdmi);
+- }
+-
+- /* not for DVI mode */
+- if (hdmi->sink_is_hdmi) {
+- dev_dbg(hdmi->dev, "%s HDMI mode\n", __func__);
+-
+- /* HDMI Initialization Step F - Configure AVI InfoFrame */
+- hdmi_config_AVI(hdmi, mode);
+- } else {
+- dev_dbg(hdmi->dev, "%s DVI mode\n", __func__);
+- }
+-
+- hdmi_video_packetize(hdmi);
+- hdmi_video_csc(hdmi);
+- hdmi_video_sample(hdmi);
+- hdmi_tx_hdcp_config(hdmi);
+-
+- dw_hdmi_clear_overflow(hdmi);
+- if (hdmi->cable_plugin && hdmi->sink_is_hdmi)
+- hdmi_enable_overflow_interrupts(hdmi);
+-
+- return 0;
+-}
+-
+-/* Wait until we are registered to enable interrupts */
+-static int dw_hdmi_fb_registered(struct dw_hdmi *hdmi)
+-{
+- hdmi_writeb(hdmi, HDMI_PHY_I2CM_INT_ADDR_DONE_POL,
+- HDMI_PHY_I2CM_INT_ADDR);
+-
+- hdmi_writeb(hdmi, HDMI_PHY_I2CM_CTLINT_ADDR_NAC_POL |
+- HDMI_PHY_I2CM_CTLINT_ADDR_ARBITRATION_POL,
+- HDMI_PHY_I2CM_CTLINT_ADDR);
+-
+- /* enable cable hot plug irq */
+- hdmi_writeb(hdmi, hdmi->phy_mask, HDMI_PHY_MASK0);
+-
+- /* Clear Hotplug interrupts */
+- hdmi_writeb(hdmi, HDMI_IH_PHY_STAT0_HPD | HDMI_IH_PHY_STAT0_RX_SENSE,
+- HDMI_IH_PHY_STAT0);
+-
+- return 0;
+-}
+-
+-static void initialize_hdmi_ih_mutes(struct dw_hdmi *hdmi)
+-{
+- u8 ih_mute;
+-
+- /*
+- * Boot up defaults are:
+- * HDMI_IH_MUTE = 0x03 (disabled)
+- * HDMI_IH_MUTE_* = 0x00 (enabled)
+- *
+- * Disable top level interrupt bits in HDMI block
+- */
+- ih_mute = hdmi_readb(hdmi, HDMI_IH_MUTE) |
+- HDMI_IH_MUTE_MUTE_WAKEUP_INTERRUPT |
+- HDMI_IH_MUTE_MUTE_ALL_INTERRUPT;
+-
+- hdmi_writeb(hdmi, ih_mute, HDMI_IH_MUTE);
+-
+- /* by default mask all interrupts */
+- hdmi_writeb(hdmi, 0xff, HDMI_VP_MASK);
+- hdmi_writeb(hdmi, 0xff, HDMI_FC_MASK0);
+- hdmi_writeb(hdmi, 0xff, HDMI_FC_MASK1);
+- hdmi_writeb(hdmi, 0xff, HDMI_FC_MASK2);
+- hdmi_writeb(hdmi, 0xff, HDMI_PHY_MASK0);
+- hdmi_writeb(hdmi, 0xff, HDMI_PHY_I2CM_INT_ADDR);
+- hdmi_writeb(hdmi, 0xff, HDMI_PHY_I2CM_CTLINT_ADDR);
+- hdmi_writeb(hdmi, 0xff, HDMI_AUD_INT);
+- hdmi_writeb(hdmi, 0xff, HDMI_AUD_SPDIFINT);
+- hdmi_writeb(hdmi, 0xff, HDMI_AUD_HBR_MASK);
+- hdmi_writeb(hdmi, 0xff, HDMI_GP_MASK);
+- hdmi_writeb(hdmi, 0xff, HDMI_A_APIINTMSK);
+- hdmi_writeb(hdmi, 0xff, HDMI_CEC_MASK);
+- hdmi_writeb(hdmi, 0xff, HDMI_I2CM_INT);
+- hdmi_writeb(hdmi, 0xff, HDMI_I2CM_CTLINT);
+-
+- /* Disable interrupts in the IH_MUTE_* registers */
+- hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_FC_STAT0);
+- hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_FC_STAT1);
+- hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_FC_STAT2);
+- hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_AS_STAT0);
+- hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_PHY_STAT0);
+- hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_I2CM_STAT0);
+- hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_CEC_STAT0);
+- hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_VP_STAT0);
+- hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_I2CMPHY_STAT0);
+- hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_AHBDMAAUD_STAT0);
+-
+- /* Enable top level interrupt bits in HDMI block */
+- ih_mute &= ~(HDMI_IH_MUTE_MUTE_WAKEUP_INTERRUPT |
+- HDMI_IH_MUTE_MUTE_ALL_INTERRUPT);
+- hdmi_writeb(hdmi, ih_mute, HDMI_IH_MUTE);
+-}
+-
+-static void dw_hdmi_poweron(struct dw_hdmi *hdmi)
+-{
+- hdmi->bridge_is_on = true;
+- dw_hdmi_setup(hdmi, &hdmi->previous_mode);
+-}
+-
+-static void dw_hdmi_poweroff(struct dw_hdmi *hdmi)
+-{
+- if (hdmi->phy.enabled) {
+- hdmi->phy.ops->disable(hdmi, hdmi->phy.data);
+- hdmi->phy.enabled = false;
+- }
+-
+- hdmi->bridge_is_on = false;
+-}
+-
+-static void dw_hdmi_update_power(struct dw_hdmi *hdmi)
+-{
+- int force = hdmi->force;
+-
+- if (hdmi->disabled) {
+- force = DRM_FORCE_OFF;
+- } else if (force == DRM_FORCE_UNSPECIFIED) {
+- if (hdmi->rxsense)
+- force = DRM_FORCE_ON;
+- else
+- force = DRM_FORCE_OFF;
+- }
+-
+- if (force == DRM_FORCE_OFF) {
+- if (hdmi->bridge_is_on)
+- dw_hdmi_poweroff(hdmi);
+- } else {
+- if (!hdmi->bridge_is_on)
+- dw_hdmi_poweron(hdmi);
+- }
+-}
+-
+-/*
+- * Adjust the detection of RXSENSE according to whether we have a forced
+- * connection mode enabled, or whether we have been disabled. There is
+- * no point processing RXSENSE interrupts if we have a forced connection
+- * state, or DRM has us disabled.
+- *
+- * We also disable rxsense interrupts when we think we're disconnected
+- * to avoid floating TDMS signals giving false rxsense interrupts.
+- *
+- * Note: we still need to listen for HPD interrupts even when DRM has us
+- * disabled so that we can detect a connect event.
+- */
+-static void dw_hdmi_update_phy_mask(struct dw_hdmi *hdmi)
+-{
+- u8 old_mask = hdmi->phy_mask;
+-
+- if (hdmi->force || hdmi->disabled || !hdmi->rxsense)
+- hdmi->phy_mask |= HDMI_PHY_RX_SENSE;
+- else
+- hdmi->phy_mask &= ~HDMI_PHY_RX_SENSE;
+-
+- if (old_mask != hdmi->phy_mask)
+- hdmi_writeb(hdmi, hdmi->phy_mask, HDMI_PHY_MASK0);
+-}
+-
+-static enum drm_connector_status
+-dw_hdmi_connector_detect(struct drm_connector *connector, bool force)
+-{
+- struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi,
+- connector);
+-
+- mutex_lock(&hdmi->mutex);
+- hdmi->force = DRM_FORCE_UNSPECIFIED;
+- dw_hdmi_update_power(hdmi);
+- dw_hdmi_update_phy_mask(hdmi);
+- mutex_unlock(&hdmi->mutex);
+-
+- return hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data);
+-}
+-
+-static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
+-{
+- struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi,
+- connector);
+- struct edid *edid;
+- int ret = 0;
+-
+- if (!hdmi->ddc)
+- return 0;
+-
+- edid = drm_get_edid(connector, hdmi->ddc);
+- if (edid) {
+- dev_dbg(hdmi->dev, "got edid: width[%d] x height[%d]\n",
+- edid->width_cm, edid->height_cm);
+-
+- hdmi->sink_is_hdmi = drm_detect_hdmi_monitor(edid);
+- hdmi->sink_has_audio = drm_detect_monitor_audio(edid);
+- drm_mode_connector_update_edid_property(connector, edid);
+- ret = drm_add_edid_modes(connector, edid);
+- /* Store the ELD */
+- drm_edid_to_eld(connector, edid);
+- kfree(edid);
+- } else {
+- dev_dbg(hdmi->dev, "failed to get edid\n");
+- }
+-
+- return ret;
+-}
+-
+-static enum drm_mode_status
+-dw_hdmi_connector_mode_valid(struct drm_connector *connector,
+- struct drm_display_mode *mode)
+-{
+- struct dw_hdmi *hdmi = container_of(connector,
+- struct dw_hdmi, connector);
+- enum drm_mode_status mode_status = MODE_OK;
+-
+- /* We don't support double-clocked modes */
+- if (mode->flags & DRM_MODE_FLAG_DBLCLK)
+- return MODE_BAD;
+-
+- if (hdmi->plat_data->mode_valid)
+- mode_status = hdmi->plat_data->mode_valid(connector, mode);
+-
+- return mode_status;
+-}
+-
+-static void dw_hdmi_connector_force(struct drm_connector *connector)
+-{
+- struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi,
+- connector);
+-
+- mutex_lock(&hdmi->mutex);
+- hdmi->force = connector->force;
+- dw_hdmi_update_power(hdmi);
+- dw_hdmi_update_phy_mask(hdmi);
+- mutex_unlock(&hdmi->mutex);
+-}
+-
+-static const struct drm_connector_funcs dw_hdmi_connector_funcs = {
+- .dpms = drm_atomic_helper_connector_dpms,
+- .fill_modes = drm_helper_probe_single_connector_modes,
+- .detect = dw_hdmi_connector_detect,
+- .destroy = drm_connector_cleanup,
+- .force = dw_hdmi_connector_force,
+- .reset = drm_atomic_helper_connector_reset,
+- .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
+- .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
+-};
+-
+-static const struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs = {
+- .get_modes = dw_hdmi_connector_get_modes,
+- .mode_valid = dw_hdmi_connector_mode_valid,
+- .best_encoder = drm_atomic_helper_best_encoder,
+-};
+-
+-static int dw_hdmi_bridge_attach(struct drm_bridge *bridge)
+-{
+- struct dw_hdmi *hdmi = bridge->driver_private;
+- struct drm_encoder *encoder = bridge->encoder;
+- struct drm_connector *connector = &hdmi->connector;
+-
+- connector->interlace_allowed = 1;
+- connector->polled = DRM_CONNECTOR_POLL_HPD;
+-
+- drm_connector_helper_add(connector, &dw_hdmi_connector_helper_funcs);
+-
+- drm_connector_init(bridge->dev, connector, &dw_hdmi_connector_funcs,
+- DRM_MODE_CONNECTOR_HDMIA);
+-
+- drm_mode_connector_attach_encoder(connector, encoder);
+-
+- return 0;
+-}
+-
+-static void dw_hdmi_bridge_mode_set(struct drm_bridge *bridge,
+- struct drm_display_mode *orig_mode,
+- struct drm_display_mode *mode)
+-{
+- struct dw_hdmi *hdmi = bridge->driver_private;
+-
+- mutex_lock(&hdmi->mutex);
+-
+- /* Store the display mode for plugin/DKMS poweron events */
+- memcpy(&hdmi->previous_mode, mode, sizeof(hdmi->previous_mode));
+-
+- mutex_unlock(&hdmi->mutex);
+-}
+-
+-static void dw_hdmi_bridge_disable(struct drm_bridge *bridge)
+-{
+- struct dw_hdmi *hdmi = bridge->driver_private;
+-
+- mutex_lock(&hdmi->mutex);
+- hdmi->disabled = true;
+- dw_hdmi_update_power(hdmi);
+- dw_hdmi_update_phy_mask(hdmi);
+- mutex_unlock(&hdmi->mutex);
+-}
+-
+-static void dw_hdmi_bridge_enable(struct drm_bridge *bridge)
+-{
+- struct dw_hdmi *hdmi = bridge->driver_private;
+-
+- mutex_lock(&hdmi->mutex);
+- hdmi->disabled = false;
+- dw_hdmi_update_power(hdmi);
+- dw_hdmi_update_phy_mask(hdmi);
+- mutex_unlock(&hdmi->mutex);
+-}
+-
+-static const struct drm_bridge_funcs dw_hdmi_bridge_funcs = {
+- .attach = dw_hdmi_bridge_attach,
+- .enable = dw_hdmi_bridge_enable,
+- .disable = dw_hdmi_bridge_disable,
+- .mode_set = dw_hdmi_bridge_mode_set,
+-};
+-
+-static irqreturn_t dw_hdmi_i2c_irq(struct dw_hdmi *hdmi)
+-{
+- struct dw_hdmi_i2c *i2c = hdmi->i2c;
+- unsigned int stat;
+-
+- stat = hdmi_readb(hdmi, HDMI_IH_I2CM_STAT0);
+- if (!stat)
+- return IRQ_NONE;
+-
+- hdmi_writeb(hdmi, stat, HDMI_IH_I2CM_STAT0);
+-
+- i2c->stat = stat;
+-
+- complete(&i2c->cmp);
+-
+- return IRQ_HANDLED;
+-}
+-
+-static irqreturn_t dw_hdmi_hardirq(int irq, void *dev_id)
+-{
+- struct dw_hdmi *hdmi = dev_id;
+- u8 intr_stat;
+- irqreturn_t ret = IRQ_NONE;
+-
+- if (hdmi->i2c)
+- ret = dw_hdmi_i2c_irq(hdmi);
+-
+- intr_stat = hdmi_readb(hdmi, HDMI_IH_PHY_STAT0);
+- if (intr_stat) {
+- hdmi_writeb(hdmi, ~0, HDMI_IH_MUTE_PHY_STAT0);
+- return IRQ_WAKE_THREAD;
+- }
+-
+- return ret;
+-}
+-
+-static irqreturn_t dw_hdmi_irq(int irq, void *dev_id)
+-{
+- struct dw_hdmi *hdmi = dev_id;
+- u8 intr_stat, phy_int_pol, phy_pol_mask, phy_stat;
+-
+- intr_stat = hdmi_readb(hdmi, HDMI_IH_PHY_STAT0);
+- phy_int_pol = hdmi_readb(hdmi, HDMI_PHY_POL0);
+- phy_stat = hdmi_readb(hdmi, HDMI_PHY_STAT0);
+-
+- phy_pol_mask = 0;
+- if (intr_stat & HDMI_IH_PHY_STAT0_HPD)
+- phy_pol_mask |= HDMI_PHY_HPD;
+- if (intr_stat & HDMI_IH_PHY_STAT0_RX_SENSE0)
+- phy_pol_mask |= HDMI_PHY_RX_SENSE0;
+- if (intr_stat & HDMI_IH_PHY_STAT0_RX_SENSE1)
+- phy_pol_mask |= HDMI_PHY_RX_SENSE1;
+- if (intr_stat & HDMI_IH_PHY_STAT0_RX_SENSE2)
+- phy_pol_mask |= HDMI_PHY_RX_SENSE2;
+- if (intr_stat & HDMI_IH_PHY_STAT0_RX_SENSE3)
+- phy_pol_mask |= HDMI_PHY_RX_SENSE3;
+-
+- if (phy_pol_mask)
+- hdmi_modb(hdmi, ~phy_int_pol, phy_pol_mask, HDMI_PHY_POL0);
+-
+- /*
+- * RX sense tells us whether the TDMS transmitters are detecting
+- * load - in other words, there's something listening on the
+- * other end of the link. Use this to decide whether we should
+- * power on the phy as HPD may be toggled by the sink to merely
+- * ask the source to re-read the EDID.
+- */
+- if (intr_stat &
+- (HDMI_IH_PHY_STAT0_RX_SENSE | HDMI_IH_PHY_STAT0_HPD)) {
+- mutex_lock(&hdmi->mutex);
+- if (!hdmi->disabled && !hdmi->force) {
+- /*
+- * If the RX sense status indicates we're disconnected,
+- * clear the software rxsense status.
+- */
+- if (!(phy_stat & HDMI_PHY_RX_SENSE))
+- hdmi->rxsense = false;
+-
+- /*
+- * Only set the software rxsense status when both
+- * rxsense and hpd indicates we're connected.
+- * This avoids what seems to be bad behaviour in
+- * at least iMX6S versions of the phy.
+- */
+- if (phy_stat & HDMI_PHY_HPD)
+- hdmi->rxsense = true;
+-
+- dw_hdmi_update_power(hdmi);
+- dw_hdmi_update_phy_mask(hdmi);
+- }
+- mutex_unlock(&hdmi->mutex);
+- }
+-
+- if (intr_stat & HDMI_IH_PHY_STAT0_HPD) {
+- dev_dbg(hdmi->dev, "EVENT=%s\n",
+- phy_int_pol & HDMI_PHY_HPD ? "plugin" : "plugout");
+- if (hdmi->bridge.dev)
+- drm_helper_hpd_irq_event(hdmi->bridge.dev);
+- }
+-
+- hdmi_writeb(hdmi, intr_stat, HDMI_IH_PHY_STAT0);
+- hdmi_writeb(hdmi, ~(HDMI_IH_PHY_STAT0_HPD | HDMI_IH_PHY_STAT0_RX_SENSE),
+- HDMI_IH_MUTE_PHY_STAT0);
+-
+- return IRQ_HANDLED;
+-}
+-
+-static const struct dw_hdmi_phy_data dw_hdmi_phys[] = {
+- {
+- .type = DW_HDMI_PHY_DWC_HDMI_TX_PHY,
+- .name = "DWC HDMI TX PHY",
+- .gen = 1,
+- }, {
+- .type = DW_HDMI_PHY_DWC_MHL_PHY_HEAC,
+- .name = "DWC MHL PHY + HEAC PHY",
+- .gen = 2,
+- .has_svsret = true,
+- .configure = hdmi_phy_configure_dwc_hdmi_3d_tx,
+- }, {
+- .type = DW_HDMI_PHY_DWC_MHL_PHY,
+- .name = "DWC MHL PHY",
+- .gen = 2,
+- .has_svsret = true,
+- .configure = hdmi_phy_configure_dwc_hdmi_3d_tx,
+- }, {
+- .type = DW_HDMI_PHY_DWC_HDMI_3D_TX_PHY_HEAC,
+- .name = "DWC HDMI 3D TX PHY + HEAC PHY",
+- .gen = 2,
+- .configure = hdmi_phy_configure_dwc_hdmi_3d_tx,
+- }, {
+- .type = DW_HDMI_PHY_DWC_HDMI_3D_TX_PHY,
+- .name = "DWC HDMI 3D TX PHY",
+- .gen = 2,
+- .configure = hdmi_phy_configure_dwc_hdmi_3d_tx,
+- }, {
+- .type = DW_HDMI_PHY_DWC_HDMI20_TX_PHY,
+- .name = "DWC HDMI 2.0 TX PHY",
+- .gen = 2,
+- .has_svsret = true,
+- }, {
+- .type = DW_HDMI_PHY_VENDOR_PHY,
+- .name = "Vendor PHY",
+- }
+-};
+-
+-static int dw_hdmi_detect_phy(struct dw_hdmi *hdmi)
+-{
+- unsigned int i;
+- u8 phy_type;
+-
+- phy_type = hdmi_readb(hdmi, HDMI_CONFIG2_ID);
+-
+- if (phy_type == DW_HDMI_PHY_VENDOR_PHY) {
+- /* Vendor PHYs require support from the glue layer. */
+- if (!hdmi->plat_data->phy_ops || !hdmi->plat_data->phy_name) {
+- dev_err(hdmi->dev,
+- "Vendor HDMI PHY not supported by glue layer\n");
+- return -ENODEV;
+- }
+-
+- hdmi->phy.ops = hdmi->plat_data->phy_ops;
+- hdmi->phy.data = hdmi->plat_data->phy_data;
+- hdmi->phy.name = hdmi->plat_data->phy_name;
+- return 0;
+- }
+-
+- /* Synopsys PHYs are handled internally. */
+- for (i = 0; i < ARRAY_SIZE(dw_hdmi_phys); ++i) {
+- if (dw_hdmi_phys[i].type == phy_type) {
+- hdmi->phy.ops = &dw_hdmi_synopsys_phy_ops;
+- hdmi->phy.name = dw_hdmi_phys[i].name;
+- hdmi->phy.data = (void *)&dw_hdmi_phys[i];
+-
+- if (!dw_hdmi_phys[i].configure &&
+- !hdmi->plat_data->configure_phy) {
+- dev_err(hdmi->dev, "%s requires platform support\n",
+- hdmi->phy.name);
+- return -ENODEV;
+- }
+-
+- return 0;
+- }
+- }
+-
+- dev_err(hdmi->dev, "Unsupported HDMI PHY type (%02x)\n", phy_type);
+- return -ENODEV;
+-}
+-
+-static const struct regmap_config hdmi_regmap_8bit_config = {
+- .reg_bits = 32,
+- .val_bits = 8,
+- .reg_stride = 1,
+- .max_register = HDMI_I2CM_FS_SCL_LCNT_0_ADDR,
+-};
+-
+-static const struct regmap_config hdmi_regmap_32bit_config = {
+- .reg_bits = 32,
+- .val_bits = 32,
+- .reg_stride = 4,
+- .max_register = HDMI_I2CM_FS_SCL_LCNT_0_ADDR << 2,
+-};
+-
+-static struct dw_hdmi *
+-__dw_hdmi_probe(struct platform_device *pdev,
+- const struct dw_hdmi_plat_data *plat_data)
+-{
+- struct device *dev = &pdev->dev;
+- struct device_node *np = dev->of_node;
+- struct platform_device_info pdevinfo;
+- struct device_node *ddc_node;
+- struct dw_hdmi *hdmi;
+- struct resource *iores = NULL;
+- int irq;
+- int ret;
+- u32 val = 1;
+- u8 prod_id0;
+- u8 prod_id1;
+- u8 config0;
+- u8 config3;
+-
+- hdmi = devm_kzalloc(dev, sizeof(*hdmi), GFP_KERNEL);
+- if (!hdmi)
+- return ERR_PTR(-ENOMEM);
+-
+- hdmi->plat_data = plat_data;
+- hdmi->dev = dev;
+- hdmi->sample_rate = 48000;
+- hdmi->disabled = true;
+- hdmi->rxsense = true;
+- hdmi->phy_mask = (u8)~(HDMI_PHY_HPD | HDMI_PHY_RX_SENSE);
+-
+- mutex_init(&hdmi->mutex);
+- mutex_init(&hdmi->audio_mutex);
+- spin_lock_init(&hdmi->audio_lock);
+-
+- ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
+- if (ddc_node) {
+- hdmi->ddc = of_get_i2c_adapter_by_node(ddc_node);
+- of_node_put(ddc_node);
+- if (!hdmi->ddc) {
+- dev_dbg(hdmi->dev, "failed to read ddc node\n");
+- return ERR_PTR(-EPROBE_DEFER);
+- }
+-
+- } else {
+- dev_dbg(hdmi->dev, "no ddc property found\n");
+- }
+-
+- if (!plat_data->regm) {
+- const struct regmap_config *reg_config;
+-
+- of_property_read_u32(np, "reg-io-width", &val);
+- switch (val) {
+- case 4:
+- reg_config = &hdmi_regmap_32bit_config;
+- hdmi->reg_shift = 2;
+- break;
+- case 1:
+- reg_config = &hdmi_regmap_8bit_config;
+- break;
+- default:
+- dev_err(dev, "reg-io-width must be 1 or 4\n");
+- return ERR_PTR(-EINVAL);
+- }
+-
+- iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+- hdmi->regs = devm_ioremap_resource(dev, iores);
+- if (IS_ERR(hdmi->regs)) {
+- ret = PTR_ERR(hdmi->regs);
+- goto err_res;
+- }
+-
+- hdmi->regm = devm_regmap_init_mmio(dev, hdmi->regs, reg_config);
+- if (IS_ERR(hdmi->regm)) {
+- dev_err(dev, "Failed to configure regmap\n");
+- ret = PTR_ERR(hdmi->regm);
+- goto err_res;
+- }
+- } else {
+- hdmi->regm = plat_data->regm;
+- }
+-
+- hdmi->isfr_clk = devm_clk_get(hdmi->dev, "isfr");
+- if (IS_ERR(hdmi->isfr_clk)) {
+- ret = PTR_ERR(hdmi->isfr_clk);
+- dev_err(hdmi->dev, "Unable to get HDMI isfr clk: %d\n", ret);
+- goto err_res;
+- }
+-
+- ret = clk_prepare_enable(hdmi->isfr_clk);
+- if (ret) {
+- dev_err(hdmi->dev, "Cannot enable HDMI isfr clock: %d\n", ret);
+- goto err_res;
+- }
+-
+- hdmi->iahb_clk = devm_clk_get(hdmi->dev, "iahb");
+- if (IS_ERR(hdmi->iahb_clk)) {
+- ret = PTR_ERR(hdmi->iahb_clk);
+- dev_err(hdmi->dev, "Unable to get HDMI iahb clk: %d\n", ret);
+- goto err_isfr;
+- }
+-
+- ret = clk_prepare_enable(hdmi->iahb_clk);
+- if (ret) {
+- dev_err(hdmi->dev, "Cannot enable HDMI iahb clock: %d\n", ret);
+- goto err_isfr;
+- }
+-
+- /* Product and revision IDs */
+- hdmi->version = (hdmi_readb(hdmi, HDMI_DESIGN_ID) << 8)
+- | (hdmi_readb(hdmi, HDMI_REVISION_ID) << 0);
+- prod_id0 = hdmi_readb(hdmi, HDMI_PRODUCT_ID0);
+- prod_id1 = hdmi_readb(hdmi, HDMI_PRODUCT_ID1);
+-
+- if (prod_id0 != HDMI_PRODUCT_ID0_HDMI_TX ||
+- (prod_id1 & ~HDMI_PRODUCT_ID1_HDCP) != HDMI_PRODUCT_ID1_HDMI_TX) {
+- dev_err(dev, "Unsupported HDMI controller (%04x:%02x:%02x)\n",
+- hdmi->version, prod_id0, prod_id1);
+- ret = -ENODEV;
+- goto err_iahb;
+- }
+-
+- ret = dw_hdmi_detect_phy(hdmi);
+- if (ret < 0)
+- goto err_iahb;
+-
+- dev_info(dev, "Detected HDMI TX controller v%x.%03x %s HDCP (%s)\n",
+- hdmi->version >> 12, hdmi->version & 0xfff,
+- prod_id1 & HDMI_PRODUCT_ID1_HDCP ? "with" : "without",
+- hdmi->phy.name);
+-
+- initialize_hdmi_ih_mutes(hdmi);
+-
+- irq = platform_get_irq(pdev, 0);
+- if (irq < 0) {
+- ret = irq;
+- goto err_iahb;
+- }
+-
+- ret = devm_request_threaded_irq(dev, irq, dw_hdmi_hardirq,
+- dw_hdmi_irq, IRQF_SHARED,
+- dev_name(dev), hdmi);
+- if (ret)
+- goto err_iahb;
+-
+- /*
+- * To prevent overflows in HDMI_IH_FC_STAT2, set the clk regenerator
+- * N and cts values before enabling phy
+- */
+- hdmi_init_clk_regenerator(hdmi);
+-
+- /* If DDC bus is not specified, try to register HDMI I2C bus */
+- if (!hdmi->ddc) {
+- hdmi->ddc = dw_hdmi_i2c_adapter(hdmi);
+- if (IS_ERR(hdmi->ddc))
+- hdmi->ddc = NULL;
+- }
+-
+- /*
+- * Configure registers related to HDMI interrupt
+- * generation before registering IRQ.
+- */
+- hdmi_writeb(hdmi, HDMI_PHY_HPD | HDMI_PHY_RX_SENSE, HDMI_PHY_POL0);
+-
+- /* Clear Hotplug interrupts */
+- hdmi_writeb(hdmi, HDMI_IH_PHY_STAT0_HPD | HDMI_IH_PHY_STAT0_RX_SENSE,
+- HDMI_IH_PHY_STAT0);
+-
+- hdmi->bridge.driver_private = hdmi;
+- hdmi->bridge.funcs = &dw_hdmi_bridge_funcs;
+-#ifdef CONFIG_OF
+- hdmi->bridge.of_node = pdev->dev.of_node;
+-#endif
+-
+- ret = dw_hdmi_fb_registered(hdmi);
+- if (ret)
+- goto err_iahb;
+-
+- /* Unmute interrupts */
+- hdmi_writeb(hdmi, ~(HDMI_IH_PHY_STAT0_HPD | HDMI_IH_PHY_STAT0_RX_SENSE),
+- HDMI_IH_MUTE_PHY_STAT0);
+-
+- memset(&pdevinfo, 0, sizeof(pdevinfo));
+- pdevinfo.parent = dev;
+- pdevinfo.id = PLATFORM_DEVID_AUTO;
+-
+- config0 = hdmi_readb(hdmi, HDMI_CONFIG0_ID);
+- config3 = hdmi_readb(hdmi, HDMI_CONFIG3_ID);
+-
+- if (iores && config3 & HDMI_CONFIG3_AHBAUDDMA) {
+- struct dw_hdmi_audio_data audio;
+-
+- audio.phys = iores->start;
+- audio.base = hdmi->regs;
+- audio.irq = irq;
+- audio.hdmi = hdmi;
+- audio.eld = hdmi->connector.eld;
+-
+- pdevinfo.name = "dw-hdmi-ahb-audio";
+- pdevinfo.data = &audio;
+- pdevinfo.size_data = sizeof(audio);
+- pdevinfo.dma_mask = DMA_BIT_MASK(32);
+- hdmi->audio = platform_device_register_full(&pdevinfo);
+- } else if (config0 & HDMI_CONFIG0_I2S) {
+- struct dw_hdmi_i2s_audio_data audio;
+-
+- audio.hdmi = hdmi;
+- audio.write = hdmi_writeb;
+- audio.read = hdmi_readb;
+-
+- pdevinfo.name = "dw-hdmi-i2s-audio";
+- pdevinfo.data = &audio;
+- pdevinfo.size_data = sizeof(audio);
+- pdevinfo.dma_mask = DMA_BIT_MASK(32);
+- hdmi->audio = platform_device_register_full(&pdevinfo);
+- }
+-
+- /* Reset HDMI DDC I2C master controller and mute I2CM interrupts */
+- if (hdmi->i2c)
+- dw_hdmi_i2c_init(hdmi);
+-
+- platform_set_drvdata(pdev, hdmi);
+-
+- return hdmi;
+-
+-err_iahb:
+- if (hdmi->i2c) {
+- i2c_del_adapter(&hdmi->i2c->adap);
+- hdmi->ddc = NULL;
+- }
+-
+- clk_disable_unprepare(hdmi->iahb_clk);
+-err_isfr:
+- clk_disable_unprepare(hdmi->isfr_clk);
+-err_res:
+- i2c_put_adapter(hdmi->ddc);
+-
+- return ERR_PTR(ret);
+-}
+-
+-static void __dw_hdmi_remove(struct dw_hdmi *hdmi)
+-{
+- if (hdmi->audio && !IS_ERR(hdmi->audio))
+- platform_device_unregister(hdmi->audio);
+-
+- /* Disable all interrupts */
+- hdmi_writeb(hdmi, ~0, HDMI_IH_MUTE_PHY_STAT0);
+-
+- clk_disable_unprepare(hdmi->iahb_clk);
+- clk_disable_unprepare(hdmi->isfr_clk);
+-
+- if (hdmi->i2c)
+- i2c_del_adapter(&hdmi->i2c->adap);
+- else
+- i2c_put_adapter(hdmi->ddc);
+-}
+-
+-/* -----------------------------------------------------------------------------
+- * Probe/remove API, used from platforms based on the DRM bridge API.
+- */
+-int dw_hdmi_probe(struct platform_device *pdev,
+- const struct dw_hdmi_plat_data *plat_data)
+-{
+- struct dw_hdmi *hdmi;
+- int ret;
+-
+- hdmi = __dw_hdmi_probe(pdev, plat_data);
+- if (IS_ERR(hdmi))
+- return PTR_ERR(hdmi);
+-
+- ret = drm_bridge_add(&hdmi->bridge);
+- if (ret < 0) {
+- __dw_hdmi_remove(hdmi);
+- return ret;
+- }
+-
+- return 0;
+-}
+-EXPORT_SYMBOL_GPL(dw_hdmi_probe);
+-
+-void dw_hdmi_remove(struct platform_device *pdev)
+-{
+- struct dw_hdmi *hdmi = platform_get_drvdata(pdev);
+-
+- drm_bridge_remove(&hdmi->bridge);
+-
+- __dw_hdmi_remove(hdmi);
+-}
+-EXPORT_SYMBOL_GPL(dw_hdmi_remove);
+-
+-/* -----------------------------------------------------------------------------
+- * Bind/unbind API, used from platforms based on the component framework.
+- */
+-int dw_hdmi_bind(struct platform_device *pdev, struct drm_encoder *encoder,
+- const struct dw_hdmi_plat_data *plat_data)
+-{
+- struct dw_hdmi *hdmi;
+- int ret;
+-
+- hdmi = __dw_hdmi_probe(pdev, plat_data);
+- if (IS_ERR(hdmi))
+- return PTR_ERR(hdmi);
+-
+- ret = drm_bridge_attach(encoder, &hdmi->bridge, NULL);
+- if (ret) {
+- dw_hdmi_remove(pdev);
+- DRM_ERROR("Failed to initialize bridge with drm\n");
+- return ret;
+- }
+-
+- return 0;
+-}
+-EXPORT_SYMBOL_GPL(dw_hdmi_bind);
+-
+-void dw_hdmi_unbind(struct device *dev)
+-{
+- struct dw_hdmi *hdmi = dev_get_drvdata(dev);
+-
+- __dw_hdmi_remove(hdmi);
+-}
+-EXPORT_SYMBOL_GPL(dw_hdmi_unbind);
+-
+-MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>");
+-MODULE_AUTHOR("Andy Yan <andy.yan@rock-chips.com>");
+-MODULE_AUTHOR("Yakir Yang <ykk@rock-chips.com>");
+-MODULE_AUTHOR("Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>");
+-MODULE_DESCRIPTION("DW HDMI transmitter driver");
+-MODULE_LICENSE("GPL");
+-MODULE_ALIAS("platform:dw-hdmi");
+--- a/drivers/gpu/drm/bridge/dw-hdmi.h
++++ /dev/null
+@@ -1,1153 +0,0 @@
+-/*
+- * Copyright (C) 2011 Freescale Semiconductor, Inc.
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#ifndef __DW_HDMI_H__
+-#define __DW_HDMI_H__
+-
+-/* Identification Registers */
+-#define HDMI_DESIGN_ID 0x0000
+-#define HDMI_REVISION_ID 0x0001
+-#define HDMI_PRODUCT_ID0 0x0002
+-#define HDMI_PRODUCT_ID1 0x0003
+-#define HDMI_CONFIG0_ID 0x0004
+-#define HDMI_CONFIG1_ID 0x0005
+-#define HDMI_CONFIG2_ID 0x0006
+-#define HDMI_CONFIG3_ID 0x0007
+-
+-/* Interrupt Registers */
+-#define HDMI_IH_FC_STAT0 0x0100
+-#define HDMI_IH_FC_STAT1 0x0101
+-#define HDMI_IH_FC_STAT2 0x0102
+-#define HDMI_IH_AS_STAT0 0x0103
+-#define HDMI_IH_PHY_STAT0 0x0104
+-#define HDMI_IH_I2CM_STAT0 0x0105
+-#define HDMI_IH_CEC_STAT0 0x0106
+-#define HDMI_IH_VP_STAT0 0x0107
+-#define HDMI_IH_I2CMPHY_STAT0 0x0108
+-#define HDMI_IH_AHBDMAAUD_STAT0 0x0109
+-
+-#define HDMI_IH_MUTE_FC_STAT0 0x0180
+-#define HDMI_IH_MUTE_FC_STAT1 0x0181
+-#define HDMI_IH_MUTE_FC_STAT2 0x0182
+-#define HDMI_IH_MUTE_AS_STAT0 0x0183
+-#define HDMI_IH_MUTE_PHY_STAT0 0x0184
+-#define HDMI_IH_MUTE_I2CM_STAT0 0x0185
+-#define HDMI_IH_MUTE_CEC_STAT0 0x0186
+-#define HDMI_IH_MUTE_VP_STAT0 0x0187
+-#define HDMI_IH_MUTE_I2CMPHY_STAT0 0x0188
+-#define HDMI_IH_MUTE_AHBDMAAUD_STAT0 0x0189
+-#define HDMI_IH_MUTE 0x01FF
+-
+-/* Video Sample Registers */
+-#define HDMI_TX_INVID0 0x0200
+-#define HDMI_TX_INSTUFFING 0x0201
+-#define HDMI_TX_GYDATA0 0x0202
+-#define HDMI_TX_GYDATA1 0x0203
+-#define HDMI_TX_RCRDATA0 0x0204
+-#define HDMI_TX_RCRDATA1 0x0205
+-#define HDMI_TX_BCBDATA0 0x0206
+-#define HDMI_TX_BCBDATA1 0x0207
+-
+-/* Video Packetizer Registers */
+-#define HDMI_VP_STATUS 0x0800
+-#define HDMI_VP_PR_CD 0x0801
+-#define HDMI_VP_STUFF 0x0802
+-#define HDMI_VP_REMAP 0x0803
+-#define HDMI_VP_CONF 0x0804
+-#define HDMI_VP_STAT 0x0805
+-#define HDMI_VP_INT 0x0806
+-#define HDMI_VP_MASK 0x0807
+-#define HDMI_VP_POL 0x0808
+-
+-/* Frame Composer Registers */
+-#define HDMI_FC_INVIDCONF 0x1000
+-#define HDMI_FC_INHACTV0 0x1001
+-#define HDMI_FC_INHACTV1 0x1002
+-#define HDMI_FC_INHBLANK0 0x1003
+-#define HDMI_FC_INHBLANK1 0x1004
+-#define HDMI_FC_INVACTV0 0x1005
+-#define HDMI_FC_INVACTV1 0x1006
+-#define HDMI_FC_INVBLANK 0x1007
+-#define HDMI_FC_HSYNCINDELAY0 0x1008
+-#define HDMI_FC_HSYNCINDELAY1 0x1009
+-#define HDMI_FC_HSYNCINWIDTH0 0x100A
+-#define HDMI_FC_HSYNCINWIDTH1 0x100B
+-#define HDMI_FC_VSYNCINDELAY 0x100C
+-#define HDMI_FC_VSYNCINWIDTH 0x100D
+-#define HDMI_FC_INFREQ0 0x100E
+-#define HDMI_FC_INFREQ1 0x100F
+-#define HDMI_FC_INFREQ2 0x1010
+-#define HDMI_FC_CTRLDUR 0x1011
+-#define HDMI_FC_EXCTRLDUR 0x1012
+-#define HDMI_FC_EXCTRLSPAC 0x1013
+-#define HDMI_FC_CH0PREAM 0x1014
+-#define HDMI_FC_CH1PREAM 0x1015
+-#define HDMI_FC_CH2PREAM 0x1016
+-#define HDMI_FC_AVICONF3 0x1017
+-#define HDMI_FC_GCP 0x1018
+-#define HDMI_FC_AVICONF0 0x1019
+-#define HDMI_FC_AVICONF1 0x101A
+-#define HDMI_FC_AVICONF2 0x101B
+-#define HDMI_FC_AVIVID 0x101C
+-#define HDMI_FC_AVIETB0 0x101D
+-#define HDMI_FC_AVIETB1 0x101E
+-#define HDMI_FC_AVISBB0 0x101F
+-#define HDMI_FC_AVISBB1 0x1020
+-#define HDMI_FC_AVIELB0 0x1021
+-#define HDMI_FC_AVIELB1 0x1022
+-#define HDMI_FC_AVISRB0 0x1023
+-#define HDMI_FC_AVISRB1 0x1024
+-#define HDMI_FC_AUDICONF0 0x1025
+-#define HDMI_FC_AUDICONF1 0x1026
+-#define HDMI_FC_AUDICONF2 0x1027
+-#define HDMI_FC_AUDICONF3 0x1028
+-#define HDMI_FC_VSDIEEEID0 0x1029
+-#define HDMI_FC_VSDSIZE 0x102A
+-#define HDMI_FC_VSDIEEEID1 0x1030
+-#define HDMI_FC_VSDIEEEID2 0x1031
+-#define HDMI_FC_VSDPAYLOAD0 0x1032
+-#define HDMI_FC_VSDPAYLOAD1 0x1033
+-#define HDMI_FC_VSDPAYLOAD2 0x1034
+-#define HDMI_FC_VSDPAYLOAD3 0x1035
+-#define HDMI_FC_VSDPAYLOAD4 0x1036
+-#define HDMI_FC_VSDPAYLOAD5 0x1037
+-#define HDMI_FC_VSDPAYLOAD6 0x1038
+-#define HDMI_FC_VSDPAYLOAD7 0x1039
+-#define HDMI_FC_VSDPAYLOAD8 0x103A
+-#define HDMI_FC_VSDPAYLOAD9 0x103B
+-#define HDMI_FC_VSDPAYLOAD10 0x103C
+-#define HDMI_FC_VSDPAYLOAD11 0x103D
+-#define HDMI_FC_VSDPAYLOAD12 0x103E
+-#define HDMI_FC_VSDPAYLOAD13 0x103F
+-#define HDMI_FC_VSDPAYLOAD14 0x1040
+-#define HDMI_FC_VSDPAYLOAD15 0x1041
+-#define HDMI_FC_VSDPAYLOAD16 0x1042
+-#define HDMI_FC_VSDPAYLOAD17 0x1043
+-#define HDMI_FC_VSDPAYLOAD18 0x1044
+-#define HDMI_FC_VSDPAYLOAD19 0x1045
+-#define HDMI_FC_VSDPAYLOAD20 0x1046
+-#define HDMI_FC_VSDPAYLOAD21 0x1047
+-#define HDMI_FC_VSDPAYLOAD22 0x1048
+-#define HDMI_FC_VSDPAYLOAD23 0x1049
+-#define HDMI_FC_SPDVENDORNAME0 0x104A
+-#define HDMI_FC_SPDVENDORNAME1 0x104B
+-#define HDMI_FC_SPDVENDORNAME2 0x104C
+-#define HDMI_FC_SPDVENDORNAME3 0x104D
+-#define HDMI_FC_SPDVENDORNAME4 0x104E
+-#define HDMI_FC_SPDVENDORNAME5 0x104F
+-#define HDMI_FC_SPDVENDORNAME6 0x1050
+-#define HDMI_FC_SPDVENDORNAME7 0x1051
+-#define HDMI_FC_SDPPRODUCTNAME0 0x1052
+-#define HDMI_FC_SDPPRODUCTNAME1 0x1053
+-#define HDMI_FC_SDPPRODUCTNAME2 0x1054
+-#define HDMI_FC_SDPPRODUCTNAME3 0x1055
+-#define HDMI_FC_SDPPRODUCTNAME4 0x1056
+-#define HDMI_FC_SDPPRODUCTNAME5 0x1057
+-#define HDMI_FC_SDPPRODUCTNAME6 0x1058
+-#define HDMI_FC_SDPPRODUCTNAME7 0x1059
+-#define HDMI_FC_SDPPRODUCTNAME8 0x105A
+-#define HDMI_FC_SDPPRODUCTNAME9 0x105B
+-#define HDMI_FC_SDPPRODUCTNAME10 0x105C
+-#define HDMI_FC_SDPPRODUCTNAME11 0x105D
+-#define HDMI_FC_SDPPRODUCTNAME12 0x105E
+-#define HDMI_FC_SDPPRODUCTNAME13 0x105F
+-#define HDMI_FC_SDPPRODUCTNAME14 0x1060
+-#define HDMI_FC_SPDPRODUCTNAME15 0x1061
+-#define HDMI_FC_SPDDEVICEINF 0x1062
+-#define HDMI_FC_AUDSCONF 0x1063
+-#define HDMI_FC_AUDSSTAT 0x1064
+-#define HDMI_FC_DATACH0FILL 0x1070
+-#define HDMI_FC_DATACH1FILL 0x1071
+-#define HDMI_FC_DATACH2FILL 0x1072
+-#define HDMI_FC_CTRLQHIGH 0x1073
+-#define HDMI_FC_CTRLQLOW 0x1074
+-#define HDMI_FC_ACP0 0x1075
+-#define HDMI_FC_ACP28 0x1076
+-#define HDMI_FC_ACP27 0x1077
+-#define HDMI_FC_ACP26 0x1078
+-#define HDMI_FC_ACP25 0x1079
+-#define HDMI_FC_ACP24 0x107A
+-#define HDMI_FC_ACP23 0x107B
+-#define HDMI_FC_ACP22 0x107C
+-#define HDMI_FC_ACP21 0x107D
+-#define HDMI_FC_ACP20 0x107E
+-#define HDMI_FC_ACP19 0x107F
+-#define HDMI_FC_ACP18 0x1080
+-#define HDMI_FC_ACP17 0x1081
+-#define HDMI_FC_ACP16 0x1082
+-#define HDMI_FC_ACP15 0x1083
+-#define HDMI_FC_ACP14 0x1084
+-#define HDMI_FC_ACP13 0x1085
+-#define HDMI_FC_ACP12 0x1086
+-#define HDMI_FC_ACP11 0x1087
+-#define HDMI_FC_ACP10 0x1088
+-#define HDMI_FC_ACP9 0x1089
+-#define HDMI_FC_ACP8 0x108A
+-#define HDMI_FC_ACP7 0x108B
+-#define HDMI_FC_ACP6 0x108C
+-#define HDMI_FC_ACP5 0x108D
+-#define HDMI_FC_ACP4 0x108E
+-#define HDMI_FC_ACP3 0x108F
+-#define HDMI_FC_ACP2 0x1090
+-#define HDMI_FC_ACP1 0x1091
+-#define HDMI_FC_ISCR1_0 0x1092
+-#define HDMI_FC_ISCR1_16 0x1093
+-#define HDMI_FC_ISCR1_15 0x1094
+-#define HDMI_FC_ISCR1_14 0x1095
+-#define HDMI_FC_ISCR1_13 0x1096
+-#define HDMI_FC_ISCR1_12 0x1097
+-#define HDMI_FC_ISCR1_11 0x1098
+-#define HDMI_FC_ISCR1_10 0x1099
+-#define HDMI_FC_ISCR1_9 0x109A
+-#define HDMI_FC_ISCR1_8 0x109B
+-#define HDMI_FC_ISCR1_7 0x109C
+-#define HDMI_FC_ISCR1_6 0x109D
+-#define HDMI_FC_ISCR1_5 0x109E
+-#define HDMI_FC_ISCR1_4 0x109F
+-#define HDMI_FC_ISCR1_3 0x10A0
+-#define HDMI_FC_ISCR1_2 0x10A1
+-#define HDMI_FC_ISCR1_1 0x10A2
+-#define HDMI_FC_ISCR2_15 0x10A3
+-#define HDMI_FC_ISCR2_14 0x10A4
+-#define HDMI_FC_ISCR2_13 0x10A5
+-#define HDMI_FC_ISCR2_12 0x10A6
+-#define HDMI_FC_ISCR2_11 0x10A7
+-#define HDMI_FC_ISCR2_10 0x10A8
+-#define HDMI_FC_ISCR2_9 0x10A9
+-#define HDMI_FC_ISCR2_8 0x10AA
+-#define HDMI_FC_ISCR2_7 0x10AB
+-#define HDMI_FC_ISCR2_6 0x10AC
+-#define HDMI_FC_ISCR2_5 0x10AD
+-#define HDMI_FC_ISCR2_4 0x10AE
+-#define HDMI_FC_ISCR2_3 0x10AF
+-#define HDMI_FC_ISCR2_2 0x10B0
+-#define HDMI_FC_ISCR2_1 0x10B1
+-#define HDMI_FC_ISCR2_0 0x10B2
+-#define HDMI_FC_DATAUTO0 0x10B3
+-#define HDMI_FC_DATAUTO1 0x10B4
+-#define HDMI_FC_DATAUTO2 0x10B5
+-#define HDMI_FC_DATMAN 0x10B6
+-#define HDMI_FC_DATAUTO3 0x10B7
+-#define HDMI_FC_RDRB0 0x10B8
+-#define HDMI_FC_RDRB1 0x10B9
+-#define HDMI_FC_RDRB2 0x10BA
+-#define HDMI_FC_RDRB3 0x10BB
+-#define HDMI_FC_RDRB4 0x10BC
+-#define HDMI_FC_RDRB5 0x10BD
+-#define HDMI_FC_RDRB6 0x10BE
+-#define HDMI_FC_RDRB7 0x10BF
+-#define HDMI_FC_STAT0 0x10D0
+-#define HDMI_FC_INT0 0x10D1
+-#define HDMI_FC_MASK0 0x10D2
+-#define HDMI_FC_POL0 0x10D3
+-#define HDMI_FC_STAT1 0x10D4
+-#define HDMI_FC_INT1 0x10D5
+-#define HDMI_FC_MASK1 0x10D6
+-#define HDMI_FC_POL1 0x10D7
+-#define HDMI_FC_STAT2 0x10D8
+-#define HDMI_FC_INT2 0x10D9
+-#define HDMI_FC_MASK2 0x10DA
+-#define HDMI_FC_POL2 0x10DB
+-#define HDMI_FC_PRCONF 0x10E0
+-
+-#define HDMI_FC_GMD_STAT 0x1100
+-#define HDMI_FC_GMD_EN 0x1101
+-#define HDMI_FC_GMD_UP 0x1102
+-#define HDMI_FC_GMD_CONF 0x1103
+-#define HDMI_FC_GMD_HB 0x1104
+-#define HDMI_FC_GMD_PB0 0x1105
+-#define HDMI_FC_GMD_PB1 0x1106
+-#define HDMI_FC_GMD_PB2 0x1107
+-#define HDMI_FC_GMD_PB3 0x1108
+-#define HDMI_FC_GMD_PB4 0x1109
+-#define HDMI_FC_GMD_PB5 0x110A
+-#define HDMI_FC_GMD_PB6 0x110B
+-#define HDMI_FC_GMD_PB7 0x110C
+-#define HDMI_FC_GMD_PB8 0x110D
+-#define HDMI_FC_GMD_PB9 0x110E
+-#define HDMI_FC_GMD_PB10 0x110F
+-#define HDMI_FC_GMD_PB11 0x1110
+-#define HDMI_FC_GMD_PB12 0x1111
+-#define HDMI_FC_GMD_PB13 0x1112
+-#define HDMI_FC_GMD_PB14 0x1113
+-#define HDMI_FC_GMD_PB15 0x1114
+-#define HDMI_FC_GMD_PB16 0x1115
+-#define HDMI_FC_GMD_PB17 0x1116
+-#define HDMI_FC_GMD_PB18 0x1117
+-#define HDMI_FC_GMD_PB19 0x1118
+-#define HDMI_FC_GMD_PB20 0x1119
+-#define HDMI_FC_GMD_PB21 0x111A
+-#define HDMI_FC_GMD_PB22 0x111B
+-#define HDMI_FC_GMD_PB23 0x111C
+-#define HDMI_FC_GMD_PB24 0x111D
+-#define HDMI_FC_GMD_PB25 0x111E
+-#define HDMI_FC_GMD_PB26 0x111F
+-#define HDMI_FC_GMD_PB27 0x1120
+-
+-#define HDMI_FC_DBGFORCE 0x1200
+-#define HDMI_FC_DBGAUD0CH0 0x1201
+-#define HDMI_FC_DBGAUD1CH0 0x1202
+-#define HDMI_FC_DBGAUD2CH0 0x1203
+-#define HDMI_FC_DBGAUD0CH1 0x1204
+-#define HDMI_FC_DBGAUD1CH1 0x1205
+-#define HDMI_FC_DBGAUD2CH1 0x1206
+-#define HDMI_FC_DBGAUD0CH2 0x1207
+-#define HDMI_FC_DBGAUD1CH2 0x1208
+-#define HDMI_FC_DBGAUD2CH2 0x1209
+-#define HDMI_FC_DBGAUD0CH3 0x120A
+-#define HDMI_FC_DBGAUD1CH3 0x120B
+-#define HDMI_FC_DBGAUD2CH3 0x120C
+-#define HDMI_FC_DBGAUD0CH4 0x120D
+-#define HDMI_FC_DBGAUD1CH4 0x120E
+-#define HDMI_FC_DBGAUD2CH4 0x120F
+-#define HDMI_FC_DBGAUD0CH5 0x1210
+-#define HDMI_FC_DBGAUD1CH5 0x1211
+-#define HDMI_FC_DBGAUD2CH5 0x1212
+-#define HDMI_FC_DBGAUD0CH6 0x1213
+-#define HDMI_FC_DBGAUD1CH6 0x1214
+-#define HDMI_FC_DBGAUD2CH6 0x1215
+-#define HDMI_FC_DBGAUD0CH7 0x1216
+-#define HDMI_FC_DBGAUD1CH7 0x1217
+-#define HDMI_FC_DBGAUD2CH7 0x1218
+-#define HDMI_FC_DBGTMDS0 0x1219
+-#define HDMI_FC_DBGTMDS1 0x121A
+-#define HDMI_FC_DBGTMDS2 0x121B
+-
+-/* HDMI Source PHY Registers */
+-#define HDMI_PHY_CONF0 0x3000
+-#define HDMI_PHY_TST0 0x3001
+-#define HDMI_PHY_TST1 0x3002
+-#define HDMI_PHY_TST2 0x3003
+-#define HDMI_PHY_STAT0 0x3004
+-#define HDMI_PHY_INT0 0x3005
+-#define HDMI_PHY_MASK0 0x3006
+-#define HDMI_PHY_POL0 0x3007
+-
+-/* HDMI Master PHY Registers */
+-#define HDMI_PHY_I2CM_SLAVE_ADDR 0x3020
+-#define HDMI_PHY_I2CM_ADDRESS_ADDR 0x3021
+-#define HDMI_PHY_I2CM_DATAO_1_ADDR 0x3022
+-#define HDMI_PHY_I2CM_DATAO_0_ADDR 0x3023
+-#define HDMI_PHY_I2CM_DATAI_1_ADDR 0x3024
+-#define HDMI_PHY_I2CM_DATAI_0_ADDR 0x3025
+-#define HDMI_PHY_I2CM_OPERATION_ADDR 0x3026
+-#define HDMI_PHY_I2CM_INT_ADDR 0x3027
+-#define HDMI_PHY_I2CM_CTLINT_ADDR 0x3028
+-#define HDMI_PHY_I2CM_DIV_ADDR 0x3029
+-#define HDMI_PHY_I2CM_SOFTRSTZ_ADDR 0x302a
+-#define HDMI_PHY_I2CM_SS_SCL_HCNT_1_ADDR 0x302b
+-#define HDMI_PHY_I2CM_SS_SCL_HCNT_0_ADDR 0x302c
+-#define HDMI_PHY_I2CM_SS_SCL_LCNT_1_ADDR 0x302d
+-#define HDMI_PHY_I2CM_SS_SCL_LCNT_0_ADDR 0x302e
+-#define HDMI_PHY_I2CM_FS_SCL_HCNT_1_ADDR 0x302f
+-#define HDMI_PHY_I2CM_FS_SCL_HCNT_0_ADDR 0x3030
+-#define HDMI_PHY_I2CM_FS_SCL_LCNT_1_ADDR 0x3031
+-#define HDMI_PHY_I2CM_FS_SCL_LCNT_0_ADDR 0x3032
+-
+-/* Audio Sampler Registers */
+-#define HDMI_AUD_CONF0 0x3100
+-#define HDMI_AUD_CONF1 0x3101
+-#define HDMI_AUD_INT 0x3102
+-#define HDMI_AUD_CONF2 0x3103
+-#define HDMI_AUD_N1 0x3200
+-#define HDMI_AUD_N2 0x3201
+-#define HDMI_AUD_N3 0x3202
+-#define HDMI_AUD_CTS1 0x3203
+-#define HDMI_AUD_CTS2 0x3204
+-#define HDMI_AUD_CTS3 0x3205
+-#define HDMI_AUD_INPUTCLKFS 0x3206
+-#define HDMI_AUD_SPDIFINT 0x3302
+-#define HDMI_AUD_CONF0_HBR 0x3400
+-#define HDMI_AUD_HBR_STATUS 0x3401
+-#define HDMI_AUD_HBR_INT 0x3402
+-#define HDMI_AUD_HBR_POL 0x3403
+-#define HDMI_AUD_HBR_MASK 0x3404
+-
+-/*
+- * Generic Parallel Audio Interface Registers
+- * Not used as GPAUD interface is not enabled in hw
+- */
+-#define HDMI_GP_CONF0 0x3500
+-#define HDMI_GP_CONF1 0x3501
+-#define HDMI_GP_CONF2 0x3502
+-#define HDMI_GP_STAT 0x3503
+-#define HDMI_GP_INT 0x3504
+-#define HDMI_GP_MASK 0x3505
+-#define HDMI_GP_POL 0x3506
+-
+-/* Audio DMA Registers */
+-#define HDMI_AHB_DMA_CONF0 0x3600
+-#define HDMI_AHB_DMA_START 0x3601
+-#define HDMI_AHB_DMA_STOP 0x3602
+-#define HDMI_AHB_DMA_THRSLD 0x3603
+-#define HDMI_AHB_DMA_STRADDR0 0x3604
+-#define HDMI_AHB_DMA_STRADDR1 0x3605
+-#define HDMI_AHB_DMA_STRADDR2 0x3606
+-#define HDMI_AHB_DMA_STRADDR3 0x3607
+-#define HDMI_AHB_DMA_STPADDR0 0x3608
+-#define HDMI_AHB_DMA_STPADDR1 0x3609
+-#define HDMI_AHB_DMA_STPADDR2 0x360a
+-#define HDMI_AHB_DMA_STPADDR3 0x360b
+-#define HDMI_AHB_DMA_BSTADDR0 0x360c
+-#define HDMI_AHB_DMA_BSTADDR1 0x360d
+-#define HDMI_AHB_DMA_BSTADDR2 0x360e
+-#define HDMI_AHB_DMA_BSTADDR3 0x360f
+-#define HDMI_AHB_DMA_MBLENGTH0 0x3610
+-#define HDMI_AHB_DMA_MBLENGTH1 0x3611
+-#define HDMI_AHB_DMA_STAT 0x3612
+-#define HDMI_AHB_DMA_INT 0x3613
+-#define HDMI_AHB_DMA_MASK 0x3614
+-#define HDMI_AHB_DMA_POL 0x3615
+-#define HDMI_AHB_DMA_CONF1 0x3616
+-#define HDMI_AHB_DMA_BUFFSTAT 0x3617
+-#define HDMI_AHB_DMA_BUFFINT 0x3618
+-#define HDMI_AHB_DMA_BUFFMASK 0x3619
+-#define HDMI_AHB_DMA_BUFFPOL 0x361a
+-
+-/* Main Controller Registers */
+-#define HDMI_MC_SFRDIV 0x4000
+-#define HDMI_MC_CLKDIS 0x4001
+-#define HDMI_MC_SWRSTZ 0x4002
+-#define HDMI_MC_OPCTRL 0x4003
+-#define HDMI_MC_FLOWCTRL 0x4004
+-#define HDMI_MC_PHYRSTZ 0x4005
+-#define HDMI_MC_LOCKONCLOCK 0x4006
+-#define HDMI_MC_HEACPHY_RST 0x4007
+-
+-/* Color Space Converter Registers */
+-#define HDMI_CSC_CFG 0x4100
+-#define HDMI_CSC_SCALE 0x4101
+-#define HDMI_CSC_COEF_A1_MSB 0x4102
+-#define HDMI_CSC_COEF_A1_LSB 0x4103
+-#define HDMI_CSC_COEF_A2_MSB 0x4104
+-#define HDMI_CSC_COEF_A2_LSB 0x4105
+-#define HDMI_CSC_COEF_A3_MSB 0x4106
+-#define HDMI_CSC_COEF_A3_LSB 0x4107
+-#define HDMI_CSC_COEF_A4_MSB 0x4108
+-#define HDMI_CSC_COEF_A4_LSB 0x4109
+-#define HDMI_CSC_COEF_B1_MSB 0x410A
+-#define HDMI_CSC_COEF_B1_LSB 0x410B
+-#define HDMI_CSC_COEF_B2_MSB 0x410C
+-#define HDMI_CSC_COEF_B2_LSB 0x410D
+-#define HDMI_CSC_COEF_B3_MSB 0x410E
+-#define HDMI_CSC_COEF_B3_LSB 0x410F
+-#define HDMI_CSC_COEF_B4_MSB 0x4110
+-#define HDMI_CSC_COEF_B4_LSB 0x4111
+-#define HDMI_CSC_COEF_C1_MSB 0x4112
+-#define HDMI_CSC_COEF_C1_LSB 0x4113
+-#define HDMI_CSC_COEF_C2_MSB 0x4114
+-#define HDMI_CSC_COEF_C2_LSB 0x4115
+-#define HDMI_CSC_COEF_C3_MSB 0x4116
+-#define HDMI_CSC_COEF_C3_LSB 0x4117
+-#define HDMI_CSC_COEF_C4_MSB 0x4118
+-#define HDMI_CSC_COEF_C4_LSB 0x4119
+-
+-/* HDCP Encryption Engine Registers */
+-#define HDMI_A_HDCPCFG0 0x5000
+-#define HDMI_A_HDCPCFG1 0x5001
+-#define HDMI_A_HDCPOBS0 0x5002
+-#define HDMI_A_HDCPOBS1 0x5003
+-#define HDMI_A_HDCPOBS2 0x5004
+-#define HDMI_A_HDCPOBS3 0x5005
+-#define HDMI_A_APIINTCLR 0x5006
+-#define HDMI_A_APIINTSTAT 0x5007
+-#define HDMI_A_APIINTMSK 0x5008
+-#define HDMI_A_VIDPOLCFG 0x5009
+-#define HDMI_A_OESSWCFG 0x500A
+-#define HDMI_A_TIMER1SETUP0 0x500B
+-#define HDMI_A_TIMER1SETUP1 0x500C
+-#define HDMI_A_TIMER2SETUP0 0x500D
+-#define HDMI_A_TIMER2SETUP1 0x500E
+-#define HDMI_A_100MSCFG 0x500F
+-#define HDMI_A_2SCFG0 0x5010
+-#define HDMI_A_2SCFG1 0x5011
+-#define HDMI_A_5SCFG0 0x5012
+-#define HDMI_A_5SCFG1 0x5013
+-#define HDMI_A_SRMVERLSB 0x5014
+-#define HDMI_A_SRMVERMSB 0x5015
+-#define HDMI_A_SRMCTRL 0x5016
+-#define HDMI_A_SFRSETUP 0x5017
+-#define HDMI_A_I2CHSETUP 0x5018
+-#define HDMI_A_INTSETUP 0x5019
+-#define HDMI_A_PRESETUP 0x501A
+-#define HDMI_A_SRM_BASE 0x5020
+-
+-/* CEC Engine Registers */
+-#define HDMI_CEC_CTRL 0x7D00
+-#define HDMI_CEC_STAT 0x7D01
+-#define HDMI_CEC_MASK 0x7D02
+-#define HDMI_CEC_POLARITY 0x7D03
+-#define HDMI_CEC_INT 0x7D04
+-#define HDMI_CEC_ADDR_L 0x7D05
+-#define HDMI_CEC_ADDR_H 0x7D06
+-#define HDMI_CEC_TX_CNT 0x7D07
+-#define HDMI_CEC_RX_CNT 0x7D08
+-#define HDMI_CEC_TX_DATA0 0x7D10
+-#define HDMI_CEC_TX_DATA1 0x7D11
+-#define HDMI_CEC_TX_DATA2 0x7D12
+-#define HDMI_CEC_TX_DATA3 0x7D13
+-#define HDMI_CEC_TX_DATA4 0x7D14
+-#define HDMI_CEC_TX_DATA5 0x7D15
+-#define HDMI_CEC_TX_DATA6 0x7D16
+-#define HDMI_CEC_TX_DATA7 0x7D17
+-#define HDMI_CEC_TX_DATA8 0x7D18
+-#define HDMI_CEC_TX_DATA9 0x7D19
+-#define HDMI_CEC_TX_DATA10 0x7D1a
+-#define HDMI_CEC_TX_DATA11 0x7D1b
+-#define HDMI_CEC_TX_DATA12 0x7D1c
+-#define HDMI_CEC_TX_DATA13 0x7D1d
+-#define HDMI_CEC_TX_DATA14 0x7D1e
+-#define HDMI_CEC_TX_DATA15 0x7D1f
+-#define HDMI_CEC_RX_DATA0 0x7D20
+-#define HDMI_CEC_RX_DATA1 0x7D21
+-#define HDMI_CEC_RX_DATA2 0x7D22
+-#define HDMI_CEC_RX_DATA3 0x7D23
+-#define HDMI_CEC_RX_DATA4 0x7D24
+-#define HDMI_CEC_RX_DATA5 0x7D25
+-#define HDMI_CEC_RX_DATA6 0x7D26
+-#define HDMI_CEC_RX_DATA7 0x7D27
+-#define HDMI_CEC_RX_DATA8 0x7D28
+-#define HDMI_CEC_RX_DATA9 0x7D29
+-#define HDMI_CEC_RX_DATA10 0x7D2a
+-#define HDMI_CEC_RX_DATA11 0x7D2b
+-#define HDMI_CEC_RX_DATA12 0x7D2c
+-#define HDMI_CEC_RX_DATA13 0x7D2d
+-#define HDMI_CEC_RX_DATA14 0x7D2e
+-#define HDMI_CEC_RX_DATA15 0x7D2f
+-#define HDMI_CEC_LOCK 0x7D30
+-#define HDMI_CEC_WKUPCTRL 0x7D31
+-
+-/* I2C Master Registers (E-DDC) */
+-#define HDMI_I2CM_SLAVE 0x7E00
+-#define HDMI_I2CM_ADDRESS 0x7E01
+-#define HDMI_I2CM_DATAO 0x7E02
+-#define HDMI_I2CM_DATAI 0x7E03
+-#define HDMI_I2CM_OPERATION 0x7E04
+-#define HDMI_I2CM_INT 0x7E05
+-#define HDMI_I2CM_CTLINT 0x7E06
+-#define HDMI_I2CM_DIV 0x7E07
+-#define HDMI_I2CM_SEGADDR 0x7E08
+-#define HDMI_I2CM_SOFTRSTZ 0x7E09
+-#define HDMI_I2CM_SEGPTR 0x7E0A
+-#define HDMI_I2CM_SS_SCL_HCNT_1_ADDR 0x7E0B
+-#define HDMI_I2CM_SS_SCL_HCNT_0_ADDR 0x7E0C
+-#define HDMI_I2CM_SS_SCL_LCNT_1_ADDR 0x7E0D
+-#define HDMI_I2CM_SS_SCL_LCNT_0_ADDR 0x7E0E
+-#define HDMI_I2CM_FS_SCL_HCNT_1_ADDR 0x7E0F
+-#define HDMI_I2CM_FS_SCL_HCNT_0_ADDR 0x7E10
+-#define HDMI_I2CM_FS_SCL_LCNT_1_ADDR 0x7E11
+-#define HDMI_I2CM_FS_SCL_LCNT_0_ADDR 0x7E12
+-
+-enum {
+-/* PRODUCT_ID0 field values */
+- HDMI_PRODUCT_ID0_HDMI_TX = 0xa0,
+-
+-/* PRODUCT_ID1 field values */
+- HDMI_PRODUCT_ID1_HDCP = 0xc0,
+- HDMI_PRODUCT_ID1_HDMI_RX = 0x02,
+- HDMI_PRODUCT_ID1_HDMI_TX = 0x01,
+-
+-/* CONFIG0_ID field values */
+- HDMI_CONFIG0_I2S = 0x10,
+-
+-/* CONFIG1_ID field values */
+- HDMI_CONFIG1_AHB = 0x01,
+-
+-/* CONFIG3_ID field values */
+- HDMI_CONFIG3_AHBAUDDMA = 0x02,
+- HDMI_CONFIG3_GPAUD = 0x01,
+-
+-/* IH_FC_INT2 field values */
+- HDMI_IH_FC_INT2_OVERFLOW_MASK = 0x03,
+- HDMI_IH_FC_INT2_LOW_PRIORITY_OVERFLOW = 0x02,
+- HDMI_IH_FC_INT2_HIGH_PRIORITY_OVERFLOW = 0x01,
+-
+-/* IH_FC_STAT2 field values */
+- HDMI_IH_FC_STAT2_OVERFLOW_MASK = 0x03,
+- HDMI_IH_FC_STAT2_LOW_PRIORITY_OVERFLOW = 0x02,
+- HDMI_IH_FC_STAT2_HIGH_PRIORITY_OVERFLOW = 0x01,
+-
+-/* IH_PHY_STAT0 field values */
+- HDMI_IH_PHY_STAT0_RX_SENSE3 = 0x20,
+- HDMI_IH_PHY_STAT0_RX_SENSE2 = 0x10,
+- HDMI_IH_PHY_STAT0_RX_SENSE1 = 0x8,
+- HDMI_IH_PHY_STAT0_RX_SENSE0 = 0x4,
+- HDMI_IH_PHY_STAT0_TX_PHY_LOCK = 0x2,
+- HDMI_IH_PHY_STAT0_HPD = 0x1,
+-
+-/* IH_I2CM_STAT0 and IH_MUTE_I2CM_STAT0 field values */
+- HDMI_IH_I2CM_STAT0_DONE = 0x2,
+- HDMI_IH_I2CM_STAT0_ERROR = 0x1,
+-
+-/* IH_MUTE_I2CMPHY_STAT0 field values */
+- HDMI_IH_MUTE_I2CMPHY_STAT0_I2CMPHYDONE = 0x2,
+- HDMI_IH_MUTE_I2CMPHY_STAT0_I2CMPHYERROR = 0x1,
+-
+-/* IH_AHBDMAAUD_STAT0 field values */
+- HDMI_IH_AHBDMAAUD_STAT0_ERROR = 0x20,
+- HDMI_IH_AHBDMAAUD_STAT0_LOST = 0x10,
+- HDMI_IH_AHBDMAAUD_STAT0_RETRY = 0x08,
+- HDMI_IH_AHBDMAAUD_STAT0_DONE = 0x04,
+- HDMI_IH_AHBDMAAUD_STAT0_BUFFFULL = 0x02,
+- HDMI_IH_AHBDMAAUD_STAT0_BUFFEMPTY = 0x01,
+-
+-/* IH_MUTE_FC_STAT2 field values */
+- HDMI_IH_MUTE_FC_STAT2_OVERFLOW_MASK = 0x03,
+- HDMI_IH_MUTE_FC_STAT2_LOW_PRIORITY_OVERFLOW = 0x02,
+- HDMI_IH_MUTE_FC_STAT2_HIGH_PRIORITY_OVERFLOW = 0x01,
+-
+-/* IH_MUTE_AHBDMAAUD_STAT0 field values */
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_ERROR = 0x20,
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_LOST = 0x10,
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_RETRY = 0x08,
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_DONE = 0x04,
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFFULL = 0x02,
+- HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFEMPTY = 0x01,
+-
+-/* IH_MUTE field values */
+- HDMI_IH_MUTE_MUTE_WAKEUP_INTERRUPT = 0x2,
+- HDMI_IH_MUTE_MUTE_ALL_INTERRUPT = 0x1,
+-
+-/* TX_INVID0 field values */
+- HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_MASK = 0x80,
+- HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_ENABLE = 0x80,
+- HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_DISABLE = 0x00,
+- HDMI_TX_INVID0_VIDEO_MAPPING_MASK = 0x1F,
+- HDMI_TX_INVID0_VIDEO_MAPPING_OFFSET = 0,
+-
+-/* TX_INSTUFFING field values */
+- HDMI_TX_INSTUFFING_BDBDATA_STUFFING_MASK = 0x4,
+- HDMI_TX_INSTUFFING_BDBDATA_STUFFING_ENABLE = 0x4,
+- HDMI_TX_INSTUFFING_BDBDATA_STUFFING_DISABLE = 0x0,
+- HDMI_TX_INSTUFFING_RCRDATA_STUFFING_MASK = 0x2,
+- HDMI_TX_INSTUFFING_RCRDATA_STUFFING_ENABLE = 0x2,
+- HDMI_TX_INSTUFFING_RCRDATA_STUFFING_DISABLE = 0x0,
+- HDMI_TX_INSTUFFING_GYDATA_STUFFING_MASK = 0x1,
+- HDMI_TX_INSTUFFING_GYDATA_STUFFING_ENABLE = 0x1,
+- HDMI_TX_INSTUFFING_GYDATA_STUFFING_DISABLE = 0x0,
+-
+-/* VP_PR_CD field values */
+- HDMI_VP_PR_CD_COLOR_DEPTH_MASK = 0xF0,
+- HDMI_VP_PR_CD_COLOR_DEPTH_OFFSET = 4,
+- HDMI_VP_PR_CD_DESIRED_PR_FACTOR_MASK = 0x0F,
+- HDMI_VP_PR_CD_DESIRED_PR_FACTOR_OFFSET = 0,
+-
+-/* VP_STUFF field values */
+- HDMI_VP_STUFF_IDEFAULT_PHASE_MASK = 0x20,
+- HDMI_VP_STUFF_IDEFAULT_PHASE_OFFSET = 5,
+- HDMI_VP_STUFF_IFIX_PP_TO_LAST_MASK = 0x10,
+- HDMI_VP_STUFF_IFIX_PP_TO_LAST_OFFSET = 4,
+- HDMI_VP_STUFF_ICX_GOTO_P0_ST_MASK = 0x8,
+- HDMI_VP_STUFF_ICX_GOTO_P0_ST_OFFSET = 3,
+- HDMI_VP_STUFF_YCC422_STUFFING_MASK = 0x4,
+- HDMI_VP_STUFF_YCC422_STUFFING_STUFFING_MODE = 0x4,
+- HDMI_VP_STUFF_YCC422_STUFFING_DIRECT_MODE = 0x0,
+- HDMI_VP_STUFF_PP_STUFFING_MASK = 0x2,
+- HDMI_VP_STUFF_PP_STUFFING_STUFFING_MODE = 0x2,
+- HDMI_VP_STUFF_PP_STUFFING_DIRECT_MODE = 0x0,
+- HDMI_VP_STUFF_PR_STUFFING_MASK = 0x1,
+- HDMI_VP_STUFF_PR_STUFFING_STUFFING_MODE = 0x1,
+- HDMI_VP_STUFF_PR_STUFFING_DIRECT_MODE = 0x0,
+-
+-/* VP_CONF field values */
+- HDMI_VP_CONF_BYPASS_EN_MASK = 0x40,
+- HDMI_VP_CONF_BYPASS_EN_ENABLE = 0x40,
+- HDMI_VP_CONF_BYPASS_EN_DISABLE = 0x00,
+- HDMI_VP_CONF_PP_EN_ENMASK = 0x20,
+- HDMI_VP_CONF_PP_EN_ENABLE = 0x20,
+- HDMI_VP_CONF_PP_EN_DISABLE = 0x00,
+- HDMI_VP_CONF_PR_EN_MASK = 0x10,
+- HDMI_VP_CONF_PR_EN_ENABLE = 0x10,
+- HDMI_VP_CONF_PR_EN_DISABLE = 0x00,
+- HDMI_VP_CONF_YCC422_EN_MASK = 0x8,
+- HDMI_VP_CONF_YCC422_EN_ENABLE = 0x8,
+- HDMI_VP_CONF_YCC422_EN_DISABLE = 0x0,
+- HDMI_VP_CONF_BYPASS_SELECT_MASK = 0x4,
+- HDMI_VP_CONF_BYPASS_SELECT_VID_PACKETIZER = 0x4,
+- HDMI_VP_CONF_BYPASS_SELECT_PIX_REPEATER = 0x0,
+- HDMI_VP_CONF_OUTPUT_SELECTOR_MASK = 0x3,
+- HDMI_VP_CONF_OUTPUT_SELECTOR_BYPASS = 0x3,
+- HDMI_VP_CONF_OUTPUT_SELECTOR_YCC422 = 0x1,
+- HDMI_VP_CONF_OUTPUT_SELECTOR_PP = 0x0,
+-
+-/* VP_REMAP field values */
+- HDMI_VP_REMAP_MASK = 0x3,
+- HDMI_VP_REMAP_YCC422_24bit = 0x2,
+- HDMI_VP_REMAP_YCC422_20bit = 0x1,
+- HDMI_VP_REMAP_YCC422_16bit = 0x0,
+-
+-/* FC_INVIDCONF field values */
+- HDMI_FC_INVIDCONF_HDCP_KEEPOUT_MASK = 0x80,
+- HDMI_FC_INVIDCONF_HDCP_KEEPOUT_ACTIVE = 0x80,
+- HDMI_FC_INVIDCONF_HDCP_KEEPOUT_INACTIVE = 0x00,
+- HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_MASK = 0x40,
+- HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_HIGH = 0x40,
+- HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_LOW = 0x00,
+- HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_MASK = 0x20,
+- HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_HIGH = 0x20,
+- HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_LOW = 0x00,
+- HDMI_FC_INVIDCONF_DE_IN_POLARITY_MASK = 0x10,
+- HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_HIGH = 0x10,
+- HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_LOW = 0x00,
+- HDMI_FC_INVIDCONF_DVI_MODEZ_MASK = 0x8,
+- HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE = 0x8,
+- HDMI_FC_INVIDCONF_DVI_MODEZ_DVI_MODE = 0x0,
+- HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_MASK = 0x2,
+- HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_HIGH = 0x2,
+- HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_LOW = 0x0,
+- HDMI_FC_INVIDCONF_IN_I_P_MASK = 0x1,
+- HDMI_FC_INVIDCONF_IN_I_P_INTERLACED = 0x1,
+- HDMI_FC_INVIDCONF_IN_I_P_PROGRESSIVE = 0x0,
+-
+-/* FC_AUDICONF0 field values */
+- HDMI_FC_AUDICONF0_CC_OFFSET = 4,
+- HDMI_FC_AUDICONF0_CC_MASK = 0x70,
+- HDMI_FC_AUDICONF0_CT_OFFSET = 0,
+- HDMI_FC_AUDICONF0_CT_MASK = 0xF,
+-
+-/* FC_AUDICONF1 field values */
+- HDMI_FC_AUDICONF1_SS_OFFSET = 3,
+- HDMI_FC_AUDICONF1_SS_MASK = 0x18,
+- HDMI_FC_AUDICONF1_SF_OFFSET = 0,
+- HDMI_FC_AUDICONF1_SF_MASK = 0x7,
+-
+-/* FC_AUDICONF3 field values */
+- HDMI_FC_AUDICONF3_LFEPBL_OFFSET = 5,
+- HDMI_FC_AUDICONF3_LFEPBL_MASK = 0x60,
+- HDMI_FC_AUDICONF3_DM_INH_OFFSET = 4,
+- HDMI_FC_AUDICONF3_DM_INH_MASK = 0x10,
+- HDMI_FC_AUDICONF3_LSV_OFFSET = 0,
+- HDMI_FC_AUDICONF3_LSV_MASK = 0xF,
+-
+-/* FC_AUDSCHNLS0 field values */
+- HDMI_FC_AUDSCHNLS0_CGMSA_OFFSET = 4,
+- HDMI_FC_AUDSCHNLS0_CGMSA_MASK = 0x30,
+- HDMI_FC_AUDSCHNLS0_COPYRIGHT_OFFSET = 0,
+- HDMI_FC_AUDSCHNLS0_COPYRIGHT_MASK = 0x01,
+-
+-/* FC_AUDSCHNLS3-6 field values */
+- HDMI_FC_AUDSCHNLS3_OIEC_CH0_OFFSET = 0,
+- HDMI_FC_AUDSCHNLS3_OIEC_CH0_MASK = 0x0f,
+- HDMI_FC_AUDSCHNLS3_OIEC_CH1_OFFSET = 4,
+- HDMI_FC_AUDSCHNLS3_OIEC_CH1_MASK = 0xf0,
+- HDMI_FC_AUDSCHNLS4_OIEC_CH2_OFFSET = 0,
+- HDMI_FC_AUDSCHNLS4_OIEC_CH2_MASK = 0x0f,
+- HDMI_FC_AUDSCHNLS4_OIEC_CH3_OFFSET = 4,
+- HDMI_FC_AUDSCHNLS4_OIEC_CH3_MASK = 0xf0,
+-
+- HDMI_FC_AUDSCHNLS5_OIEC_CH0_OFFSET = 0,
+- HDMI_FC_AUDSCHNLS5_OIEC_CH0_MASK = 0x0f,
+- HDMI_FC_AUDSCHNLS5_OIEC_CH1_OFFSET = 4,
+- HDMI_FC_AUDSCHNLS5_OIEC_CH1_MASK = 0xf0,
+- HDMI_FC_AUDSCHNLS6_OIEC_CH2_OFFSET = 0,
+- HDMI_FC_AUDSCHNLS6_OIEC_CH2_MASK = 0x0f,
+- HDMI_FC_AUDSCHNLS6_OIEC_CH3_OFFSET = 4,
+- HDMI_FC_AUDSCHNLS6_OIEC_CH3_MASK = 0xf0,
+-
+-/* HDMI_FC_AUDSCHNLS7 field values */
+- HDMI_FC_AUDSCHNLS7_ACCURACY_OFFSET = 4,
+- HDMI_FC_AUDSCHNLS7_ACCURACY_MASK = 0x30,
+-
+-/* HDMI_FC_AUDSCHNLS8 field values */
+- HDMI_FC_AUDSCHNLS8_ORIGSAMPFREQ_MASK = 0xf0,
+- HDMI_FC_AUDSCHNLS8_ORIGSAMPFREQ_OFFSET = 4,
+- HDMI_FC_AUDSCHNLS8_WORDLEGNTH_MASK = 0x0f,
+- HDMI_FC_AUDSCHNLS8_WORDLEGNTH_OFFSET = 0,
+-
+-/* FC_AUDSCONF field values */
+- HDMI_FC_AUDSCONF_AUD_PACKET_SAMPFIT_MASK = 0xF0,
+- HDMI_FC_AUDSCONF_AUD_PACKET_SAMPFIT_OFFSET = 4,
+- HDMI_FC_AUDSCONF_AUD_PACKET_LAYOUT_MASK = 0x1,
+- HDMI_FC_AUDSCONF_AUD_PACKET_LAYOUT_OFFSET = 0,
+- HDMI_FC_AUDSCONF_AUD_PACKET_LAYOUT_LAYOUT1 = 0x1,
+- HDMI_FC_AUDSCONF_AUD_PACKET_LAYOUT_LAYOUT0 = 0x0,
+-
+-/* FC_STAT2 field values */
+- HDMI_FC_STAT2_OVERFLOW_MASK = 0x03,
+- HDMI_FC_STAT2_LOW_PRIORITY_OVERFLOW = 0x02,
+- HDMI_FC_STAT2_HIGH_PRIORITY_OVERFLOW = 0x01,
+-
+-/* FC_INT2 field values */
+- HDMI_FC_INT2_OVERFLOW_MASK = 0x03,
+- HDMI_FC_INT2_LOW_PRIORITY_OVERFLOW = 0x02,
+- HDMI_FC_INT2_HIGH_PRIORITY_OVERFLOW = 0x01,
+-
+-/* FC_MASK2 field values */
+- HDMI_FC_MASK2_OVERFLOW_MASK = 0x03,
+- HDMI_FC_MASK2_LOW_PRIORITY_OVERFLOW = 0x02,
+- HDMI_FC_MASK2_HIGH_PRIORITY_OVERFLOW = 0x01,
+-
+-/* FC_PRCONF field values */
+- HDMI_FC_PRCONF_INCOMING_PR_FACTOR_MASK = 0xF0,
+- HDMI_FC_PRCONF_INCOMING_PR_FACTOR_OFFSET = 4,
+- HDMI_FC_PRCONF_OUTPUT_PR_FACTOR_MASK = 0x0F,
+- HDMI_FC_PRCONF_OUTPUT_PR_FACTOR_OFFSET = 0,
+-
+-/* FC_AVICONF0-FC_AVICONF3 field values */
+- HDMI_FC_AVICONF0_PIX_FMT_MASK = 0x03,
+- HDMI_FC_AVICONF0_PIX_FMT_RGB = 0x00,
+- HDMI_FC_AVICONF0_PIX_FMT_YCBCR422 = 0x01,
+- HDMI_FC_AVICONF0_PIX_FMT_YCBCR444 = 0x02,
+- HDMI_FC_AVICONF0_ACTIVE_FMT_MASK = 0x40,
+- HDMI_FC_AVICONF0_ACTIVE_FMT_INFO_PRESENT = 0x40,
+- HDMI_FC_AVICONF0_ACTIVE_FMT_NO_INFO = 0x00,
+- HDMI_FC_AVICONF0_BAR_DATA_MASK = 0x0C,
+- HDMI_FC_AVICONF0_BAR_DATA_NO_DATA = 0x00,
+- HDMI_FC_AVICONF0_BAR_DATA_VERT_BAR = 0x04,
+- HDMI_FC_AVICONF0_BAR_DATA_HORIZ_BAR = 0x08,
+- HDMI_FC_AVICONF0_BAR_DATA_VERT_HORIZ_BAR = 0x0C,
+- HDMI_FC_AVICONF0_SCAN_INFO_MASK = 0x30,
+- HDMI_FC_AVICONF0_SCAN_INFO_OVERSCAN = 0x10,
+- HDMI_FC_AVICONF0_SCAN_INFO_UNDERSCAN = 0x20,
+- HDMI_FC_AVICONF0_SCAN_INFO_NODATA = 0x00,
+-
+- HDMI_FC_AVICONF1_ACTIVE_ASPECT_RATIO_MASK = 0x0F,
+- HDMI_FC_AVICONF1_ACTIVE_ASPECT_RATIO_USE_CODED = 0x08,
+- HDMI_FC_AVICONF1_ACTIVE_ASPECT_RATIO_4_3 = 0x09,
+- HDMI_FC_AVICONF1_ACTIVE_ASPECT_RATIO_16_9 = 0x0A,
+- HDMI_FC_AVICONF1_ACTIVE_ASPECT_RATIO_14_9 = 0x0B,
+- HDMI_FC_AVICONF1_CODED_ASPECT_RATIO_MASK = 0x30,
+- HDMI_FC_AVICONF1_CODED_ASPECT_RATIO_NO_DATA = 0x00,
+- HDMI_FC_AVICONF1_CODED_ASPECT_RATIO_4_3 = 0x10,
+- HDMI_FC_AVICONF1_CODED_ASPECT_RATIO_16_9 = 0x20,
+- HDMI_FC_AVICONF1_COLORIMETRY_MASK = 0xC0,
+- HDMI_FC_AVICONF1_COLORIMETRY_NO_DATA = 0x00,
+- HDMI_FC_AVICONF1_COLORIMETRY_SMPTE = 0x40,
+- HDMI_FC_AVICONF1_COLORIMETRY_ITUR = 0x80,
+- HDMI_FC_AVICONF1_COLORIMETRY_EXTENDED_INFO = 0xC0,
+-
+- HDMI_FC_AVICONF2_SCALING_MASK = 0x03,
+- HDMI_FC_AVICONF2_SCALING_NONE = 0x00,
+- HDMI_FC_AVICONF2_SCALING_HORIZ = 0x01,
+- HDMI_FC_AVICONF2_SCALING_VERT = 0x02,
+- HDMI_FC_AVICONF2_SCALING_HORIZ_VERT = 0x03,
+- HDMI_FC_AVICONF2_RGB_QUANT_MASK = 0x0C,
+- HDMI_FC_AVICONF2_RGB_QUANT_DEFAULT = 0x00,
+- HDMI_FC_AVICONF2_RGB_QUANT_LIMITED_RANGE = 0x04,
+- HDMI_FC_AVICONF2_RGB_QUANT_FULL_RANGE = 0x08,
+- HDMI_FC_AVICONF2_EXT_COLORIMETRY_MASK = 0x70,
+- HDMI_FC_AVICONF2_EXT_COLORIMETRY_XVYCC601 = 0x00,
+- HDMI_FC_AVICONF2_EXT_COLORIMETRY_XVYCC709 = 0x10,
+- HDMI_FC_AVICONF2_EXT_COLORIMETRY_SYCC601 = 0x20,
+- HDMI_FC_AVICONF2_EXT_COLORIMETRY_ADOBE_YCC601 = 0x30,
+- HDMI_FC_AVICONF2_EXT_COLORIMETRY_ADOBE_RGB = 0x40,
+- HDMI_FC_AVICONF2_IT_CONTENT_MASK = 0x80,
+- HDMI_FC_AVICONF2_IT_CONTENT_NO_DATA = 0x00,
+- HDMI_FC_AVICONF2_IT_CONTENT_VALID = 0x80,
+-
+- HDMI_FC_AVICONF3_IT_CONTENT_TYPE_MASK = 0x03,
+- HDMI_FC_AVICONF3_IT_CONTENT_TYPE_GRAPHICS = 0x00,
+- HDMI_FC_AVICONF3_IT_CONTENT_TYPE_PHOTO = 0x01,
+- HDMI_FC_AVICONF3_IT_CONTENT_TYPE_CINEMA = 0x02,
+- HDMI_FC_AVICONF3_IT_CONTENT_TYPE_GAME = 0x03,
+- HDMI_FC_AVICONF3_QUANT_RANGE_MASK = 0x0C,
+- HDMI_FC_AVICONF3_QUANT_RANGE_LIMITED = 0x00,
+- HDMI_FC_AVICONF3_QUANT_RANGE_FULL = 0x04,
+-
+-/* FC_DBGFORCE field values */
+- HDMI_FC_DBGFORCE_FORCEAUDIO = 0x10,
+- HDMI_FC_DBGFORCE_FORCEVIDEO = 0x1,
+-
+-/* PHY_CONF0 field values */
+- HDMI_PHY_CONF0_PDZ_MASK = 0x80,
+- HDMI_PHY_CONF0_PDZ_OFFSET = 7,
+- HDMI_PHY_CONF0_ENTMDS_MASK = 0x40,
+- HDMI_PHY_CONF0_ENTMDS_OFFSET = 6,
+- HDMI_PHY_CONF0_SVSRET_MASK = 0x20,
+- HDMI_PHY_CONF0_SVSRET_OFFSET = 5,
+- HDMI_PHY_CONF0_GEN2_PDDQ_MASK = 0x10,
+- HDMI_PHY_CONF0_GEN2_PDDQ_OFFSET = 4,
+- HDMI_PHY_CONF0_GEN2_TXPWRON_MASK = 0x8,
+- HDMI_PHY_CONF0_GEN2_TXPWRON_OFFSET = 3,
+- HDMI_PHY_CONF0_GEN2_ENHPDRXSENSE_MASK = 0x4,
+- HDMI_PHY_CONF0_GEN2_ENHPDRXSENSE_OFFSET = 2,
+- HDMI_PHY_CONF0_SELDATAENPOL_MASK = 0x2,
+- HDMI_PHY_CONF0_SELDATAENPOL_OFFSET = 1,
+- HDMI_PHY_CONF0_SELDIPIF_MASK = 0x1,
+- HDMI_PHY_CONF0_SELDIPIF_OFFSET = 0,
+-
+-/* PHY_TST0 field values */
+- HDMI_PHY_TST0_TSTCLR_MASK = 0x20,
+- HDMI_PHY_TST0_TSTCLR_OFFSET = 5,
+- HDMI_PHY_TST0_TSTEN_MASK = 0x10,
+- HDMI_PHY_TST0_TSTEN_OFFSET = 4,
+- HDMI_PHY_TST0_TSTCLK_MASK = 0x1,
+- HDMI_PHY_TST0_TSTCLK_OFFSET = 0,
+-
+-/* PHY_STAT0 field values */
+- HDMI_PHY_RX_SENSE3 = 0x80,
+- HDMI_PHY_RX_SENSE2 = 0x40,
+- HDMI_PHY_RX_SENSE1 = 0x20,
+- HDMI_PHY_RX_SENSE0 = 0x10,
+- HDMI_PHY_HPD = 0x02,
+- HDMI_PHY_TX_PHY_LOCK = 0x01,
+-
+-/* PHY_I2CM_SLAVE_ADDR field values */
+- HDMI_PHY_I2CM_SLAVE_ADDR_PHY_GEN2 = 0x69,
+- HDMI_PHY_I2CM_SLAVE_ADDR_HEAC_PHY = 0x49,
+-
+-/* PHY_I2CM_OPERATION_ADDR field values */
+- HDMI_PHY_I2CM_OPERATION_ADDR_WRITE = 0x10,
+- HDMI_PHY_I2CM_OPERATION_ADDR_READ = 0x1,
+-
+-/* HDMI_PHY_I2CM_INT_ADDR */
+- HDMI_PHY_I2CM_INT_ADDR_DONE_POL = 0x08,
+- HDMI_PHY_I2CM_INT_ADDR_DONE_MASK = 0x04,
+-
+-/* HDMI_PHY_I2CM_CTLINT_ADDR */
+- HDMI_PHY_I2CM_CTLINT_ADDR_NAC_POL = 0x80,
+- HDMI_PHY_I2CM_CTLINT_ADDR_NAC_MASK = 0x40,
+- HDMI_PHY_I2CM_CTLINT_ADDR_ARBITRATION_POL = 0x08,
+- HDMI_PHY_I2CM_CTLINT_ADDR_ARBITRATION_MASK = 0x04,
+-
+-/* AUD_CONF0 field values */
+- HDMI_AUD_CONF0_SW_RESET = 0x80,
+- HDMI_AUD_CONF0_I2S_ALL_ENABLE = 0x2F,
+-
+-/* AUD_CONF1 field values */
+- HDMI_AUD_CONF1_MODE_I2S = 0x00,
+- HDMI_AUD_CONF1_MODE_RIGHT_J = 0x02,
+- HDMI_AUD_CONF1_MODE_LEFT_J = 0x04,
+- HDMI_AUD_CONF1_WIDTH_16 = 0x10,
+- HDMI_AUD_CONF1_WIDTH_24 = 0x18,
+-
+-/* AUD_CTS3 field values */
+- HDMI_AUD_CTS3_N_SHIFT_OFFSET = 5,
+- HDMI_AUD_CTS3_N_SHIFT_MASK = 0xe0,
+- HDMI_AUD_CTS3_N_SHIFT_1 = 0,
+- HDMI_AUD_CTS3_N_SHIFT_16 = 0x20,
+- HDMI_AUD_CTS3_N_SHIFT_32 = 0x40,
+- HDMI_AUD_CTS3_N_SHIFT_64 = 0x60,
+- HDMI_AUD_CTS3_N_SHIFT_128 = 0x80,
+- HDMI_AUD_CTS3_N_SHIFT_256 = 0xa0,
+- /* note that the CTS3 MANUAL bit has been removed
+- from our part. Can't set it, will read as 0. */
+- HDMI_AUD_CTS3_CTS_MANUAL = 0x10,
+- HDMI_AUD_CTS3_AUDCTS19_16_MASK = 0x0f,
+-
+-/* HDMI_AUD_INPUTCLKFS field values */
+- HDMI_AUD_INPUTCLKFS_128FS = 0,
+- HDMI_AUD_INPUTCLKFS_256FS = 1,
+- HDMI_AUD_INPUTCLKFS_512FS = 2,
+- HDMI_AUD_INPUTCLKFS_64FS = 4,
+-
+-/* AHB_DMA_CONF0 field values */
+- HDMI_AHB_DMA_CONF0_SW_FIFO_RST_OFFSET = 7,
+- HDMI_AHB_DMA_CONF0_SW_FIFO_RST_MASK = 0x80,
+- HDMI_AHB_DMA_CONF0_HBR = 0x10,
+- HDMI_AHB_DMA_CONF0_EN_HLOCK_OFFSET = 3,
+- HDMI_AHB_DMA_CONF0_EN_HLOCK_MASK = 0x08,
+- HDMI_AHB_DMA_CONF0_INCR_TYPE_OFFSET = 1,
+- HDMI_AHB_DMA_CONF0_INCR_TYPE_MASK = 0x06,
+- HDMI_AHB_DMA_CONF0_INCR4 = 0x0,
+- HDMI_AHB_DMA_CONF0_INCR8 = 0x2,
+- HDMI_AHB_DMA_CONF0_INCR16 = 0x4,
+- HDMI_AHB_DMA_CONF0_BURST_MODE = 0x1,
+-
+-/* HDMI_AHB_DMA_START field values */
+- HDMI_AHB_DMA_START_START_OFFSET = 0,
+- HDMI_AHB_DMA_START_START_MASK = 0x01,
+-
+-/* HDMI_AHB_DMA_STOP field values */
+- HDMI_AHB_DMA_STOP_STOP_OFFSET = 0,
+- HDMI_AHB_DMA_STOP_STOP_MASK = 0x01,
+-
+-/* AHB_DMA_STAT, AHB_DMA_INT, AHB_DMA_MASK, AHB_DMA_POL field values */
+- HDMI_AHB_DMA_DONE = 0x80,
+- HDMI_AHB_DMA_RETRY_SPLIT = 0x40,
+- HDMI_AHB_DMA_LOSTOWNERSHIP = 0x20,
+- HDMI_AHB_DMA_ERROR = 0x10,
+- HDMI_AHB_DMA_FIFO_THREMPTY = 0x04,
+- HDMI_AHB_DMA_FIFO_FULL = 0x02,
+- HDMI_AHB_DMA_FIFO_EMPTY = 0x01,
+-
+-/* AHB_DMA_BUFFSTAT, AHB_DMA_BUFFINT,AHB_DMA_BUFFMASK,AHB_DMA_BUFFPOL values */
+- HDMI_AHB_DMA_BUFFSTAT_FULL = 0x02,
+- HDMI_AHB_DMA_BUFFSTAT_EMPTY = 0x01,
+-
+-/* MC_CLKDIS field values */
+- HDMI_MC_CLKDIS_HDCPCLK_DISABLE = 0x40,
+- HDMI_MC_CLKDIS_CECCLK_DISABLE = 0x20,
+- HDMI_MC_CLKDIS_CSCCLK_DISABLE = 0x10,
+- HDMI_MC_CLKDIS_AUDCLK_DISABLE = 0x8,
+- HDMI_MC_CLKDIS_PREPCLK_DISABLE = 0x4,
+- HDMI_MC_CLKDIS_TMDSCLK_DISABLE = 0x2,
+- HDMI_MC_CLKDIS_PIXELCLK_DISABLE = 0x1,
+-
+-/* MC_SWRSTZ field values */
+- HDMI_MC_SWRSTZ_TMDSSWRST_REQ = 0x02,
+-
+-/* MC_FLOWCTRL field values */
+- HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_MASK = 0x1,
+- HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_IN_PATH = 0x1,
+- HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_BYPASS = 0x0,
+-
+-/* MC_PHYRSTZ field values */
+- HDMI_MC_PHYRSTZ_PHYRSTZ = 0x01,
+-
+-/* MC_HEACPHY_RST field values */
+- HDMI_MC_HEACPHY_RST_ASSERT = 0x1,
+- HDMI_MC_HEACPHY_RST_DEASSERT = 0x0,
+-
+-/* CSC_CFG field values */
+- HDMI_CSC_CFG_INTMODE_MASK = 0x30,
+- HDMI_CSC_CFG_INTMODE_OFFSET = 4,
+- HDMI_CSC_CFG_INTMODE_DISABLE = 0x00,
+- HDMI_CSC_CFG_INTMODE_CHROMA_INT_FORMULA1 = 0x10,
+- HDMI_CSC_CFG_INTMODE_CHROMA_INT_FORMULA2 = 0x20,
+- HDMI_CSC_CFG_DECMODE_MASK = 0x3,
+- HDMI_CSC_CFG_DECMODE_OFFSET = 0,
+- HDMI_CSC_CFG_DECMODE_DISABLE = 0x0,
+- HDMI_CSC_CFG_DECMODE_CHROMA_INT_FORMULA1 = 0x1,
+- HDMI_CSC_CFG_DECMODE_CHROMA_INT_FORMULA2 = 0x2,
+- HDMI_CSC_CFG_DECMODE_CHROMA_INT_FORMULA3 = 0x3,
+-
+-/* CSC_SCALE field values */
+- HDMI_CSC_SCALE_CSC_COLORDE_PTH_MASK = 0xF0,
+- HDMI_CSC_SCALE_CSC_COLORDE_PTH_24BPP = 0x00,
+- HDMI_CSC_SCALE_CSC_COLORDE_PTH_30BPP = 0x50,
+- HDMI_CSC_SCALE_CSC_COLORDE_PTH_36BPP = 0x60,
+- HDMI_CSC_SCALE_CSC_COLORDE_PTH_48BPP = 0x70,
+- HDMI_CSC_SCALE_CSCSCALE_MASK = 0x03,
+-
+-/* A_HDCPCFG0 field values */
+- HDMI_A_HDCPCFG0_ELVENA_MASK = 0x80,
+- HDMI_A_HDCPCFG0_ELVENA_ENABLE = 0x80,
+- HDMI_A_HDCPCFG0_ELVENA_DISABLE = 0x00,
+- HDMI_A_HDCPCFG0_I2CFASTMODE_MASK = 0x40,
+- HDMI_A_HDCPCFG0_I2CFASTMODE_ENABLE = 0x40,
+- HDMI_A_HDCPCFG0_I2CFASTMODE_DISABLE = 0x00,
+- HDMI_A_HDCPCFG0_BYPENCRYPTION_MASK = 0x20,
+- HDMI_A_HDCPCFG0_BYPENCRYPTION_ENABLE = 0x20,
+- HDMI_A_HDCPCFG0_BYPENCRYPTION_DISABLE = 0x00,
+- HDMI_A_HDCPCFG0_SYNCRICHECK_MASK = 0x10,
+- HDMI_A_HDCPCFG0_SYNCRICHECK_ENABLE = 0x10,
+- HDMI_A_HDCPCFG0_SYNCRICHECK_DISABLE = 0x00,
+- HDMI_A_HDCPCFG0_AVMUTE_MASK = 0x8,
+- HDMI_A_HDCPCFG0_AVMUTE_ENABLE = 0x8,
+- HDMI_A_HDCPCFG0_AVMUTE_DISABLE = 0x0,
+- HDMI_A_HDCPCFG0_RXDETECT_MASK = 0x4,
+- HDMI_A_HDCPCFG0_RXDETECT_ENABLE = 0x4,
+- HDMI_A_HDCPCFG0_RXDETECT_DISABLE = 0x0,
+- HDMI_A_HDCPCFG0_EN11FEATURE_MASK = 0x2,
+- HDMI_A_HDCPCFG0_EN11FEATURE_ENABLE = 0x2,
+- HDMI_A_HDCPCFG0_EN11FEATURE_DISABLE = 0x0,
+- HDMI_A_HDCPCFG0_HDMIDVI_MASK = 0x1,
+- HDMI_A_HDCPCFG0_HDMIDVI_HDMI = 0x1,
+- HDMI_A_HDCPCFG0_HDMIDVI_DVI = 0x0,
+-
+-/* A_HDCPCFG1 field values */
+- HDMI_A_HDCPCFG1_DISSHA1CHECK_MASK = 0x8,
+- HDMI_A_HDCPCFG1_DISSHA1CHECK_DISABLE = 0x8,
+- HDMI_A_HDCPCFG1_DISSHA1CHECK_ENABLE = 0x0,
+- HDMI_A_HDCPCFG1_PH2UPSHFTENC_MASK = 0x4,
+- HDMI_A_HDCPCFG1_PH2UPSHFTENC_ENABLE = 0x4,
+- HDMI_A_HDCPCFG1_PH2UPSHFTENC_DISABLE = 0x0,
+- HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_MASK = 0x2,
+- HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_DISABLE = 0x2,
+- HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_ENABLE = 0x0,
+- HDMI_A_HDCPCFG1_SWRESET_MASK = 0x1,
+- HDMI_A_HDCPCFG1_SWRESET_ASSERT = 0x0,
+-
+-/* A_VIDPOLCFG field values */
+- HDMI_A_VIDPOLCFG_UNENCRYPTCONF_MASK = 0x60,
+- HDMI_A_VIDPOLCFG_UNENCRYPTCONF_OFFSET = 5,
+- HDMI_A_VIDPOLCFG_DATAENPOL_MASK = 0x10,
+- HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_HIGH = 0x10,
+- HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_LOW = 0x0,
+- HDMI_A_VIDPOLCFG_VSYNCPOL_MASK = 0x8,
+- HDMI_A_VIDPOLCFG_VSYNCPOL_ACTIVE_HIGH = 0x8,
+- HDMI_A_VIDPOLCFG_VSYNCPOL_ACTIVE_LOW = 0x0,
+- HDMI_A_VIDPOLCFG_HSYNCPOL_MASK = 0x2,
+- HDMI_A_VIDPOLCFG_HSYNCPOL_ACTIVE_HIGH = 0x2,
+- HDMI_A_VIDPOLCFG_HSYNCPOL_ACTIVE_LOW = 0x0,
+-
+-/* I2CM_OPERATION field values */
+- HDMI_I2CM_OPERATION_WRITE = 0x10,
+- HDMI_I2CM_OPERATION_READ_EXT = 0x2,
+- HDMI_I2CM_OPERATION_READ = 0x1,
+-
+-/* I2CM_INT field values */
+- HDMI_I2CM_INT_DONE_POL = 0x8,
+- HDMI_I2CM_INT_DONE_MASK = 0x4,
+-
+-/* I2CM_CTLINT field values */
+- HDMI_I2CM_CTLINT_NAC_POL = 0x80,
+- HDMI_I2CM_CTLINT_NAC_MASK = 0x40,
+- HDMI_I2CM_CTLINT_ARB_POL = 0x8,
+- HDMI_I2CM_CTLINT_ARB_MASK = 0x4,
+-};
+-
+-/*
+- * HDMI 3D TX PHY registers
+- */
+-#define HDMI_3D_TX_PHY_PWRCTRL 0x00
+-#define HDMI_3D_TX_PHY_SERDIVCTRL 0x01
+-#define HDMI_3D_TX_PHY_SERCKCTRL 0x02
+-#define HDMI_3D_TX_PHY_SERCKKILLCTRL 0x03
+-#define HDMI_3D_TX_PHY_TXRESCTRL 0x04
+-#define HDMI_3D_TX_PHY_CKCALCTRL 0x05
+-#define HDMI_3D_TX_PHY_CPCE_CTRL 0x06
+-#define HDMI_3D_TX_PHY_TXCLKMEASCTRL 0x07
+-#define HDMI_3D_TX_PHY_TXMEASCTRL 0x08
+-#define HDMI_3D_TX_PHY_CKSYMTXCTRL 0x09
+-#define HDMI_3D_TX_PHY_CMPSEQCTRL 0x0a
+-#define HDMI_3D_TX_PHY_CMPPWRCTRL 0x0b
+-#define HDMI_3D_TX_PHY_CMPMODECTRL 0x0c
+-#define HDMI_3D_TX_PHY_MEASCTRL 0x0d
+-#define HDMI_3D_TX_PHY_VLEVCTRL 0x0e
+-#define HDMI_3D_TX_PHY_D2ACTRL 0x0f
+-#define HDMI_3D_TX_PHY_CURRCTRL 0x10
+-#define HDMI_3D_TX_PHY_DRVANACTRL 0x11
+-#define HDMI_3D_TX_PHY_PLLMEASCTRL 0x12
+-#define HDMI_3D_TX_PHY_PLLPHBYCTRL 0x13
+-#define HDMI_3D_TX_PHY_GRP_CTRL 0x14
+-#define HDMI_3D_TX_PHY_GMPCTRL 0x15
+-#define HDMI_3D_TX_PHY_MPLLMEASCTRL 0x16
+-#define HDMI_3D_TX_PHY_MSM_CTRL 0x17
+-#define HDMI_3D_TX_PHY_SCRPB_STATUS 0x18
+-#define HDMI_3D_TX_PHY_TXTERM 0x19
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL 0x1a
+-#define HDMI_3D_TX_PHY_PATTERNGEN 0x1b
+-#define HDMI_3D_TX_PHY_SDCAP_MODE 0x1c
+-#define HDMI_3D_TX_PHY_SCOPEMODE 0x1d
+-#define HDMI_3D_TX_PHY_DIGTXMODE 0x1e
+-#define HDMI_3D_TX_PHY_STR_STATUS 0x1f
+-#define HDMI_3D_TX_PHY_SCOPECNT0 0x20
+-#define HDMI_3D_TX_PHY_SCOPECNT1 0x21
+-#define HDMI_3D_TX_PHY_SCOPECNT2 0x22
+-#define HDMI_3D_TX_PHY_SCOPECNTCLK 0x23
+-#define HDMI_3D_TX_PHY_SCOPESAMPLE 0x24
+-#define HDMI_3D_TX_PHY_SCOPECNTMSB01 0x25
+-#define HDMI_3D_TX_PHY_SCOPECNTMSB2CK 0x26
+-
+-/* HDMI_3D_TX_PHY_CKCALCTRL values */
+-#define HDMI_3D_TX_PHY_CKCALCTRL_OVERRIDE BIT(15)
+-
+-/* HDMI_3D_TX_PHY_MSM_CTRL values */
+-#define HDMI_3D_TX_PHY_MSM_CTRL_MPLL_PH_SEL_CK BIT(13)
+-#define HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_CLK_REF_MPLL (0 << 1)
+-#define HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_OFF (1 << 1)
+-#define HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_PCLK (2 << 1)
+-#define HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_FB_CLK (3 << 1)
+-#define HDMI_3D_TX_PHY_MSM_CTRL_SCOPE_CK_SEL BIT(0)
+-
+-/* HDMI_3D_TX_PHY_PTRPT_ENBL values */
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL_OVERRIDE BIT(15)
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL_PG_SKIP_BIT2 BIT(8)
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL_PG_SKIP_BIT1 BIT(7)
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL_PG_SKIP_BIT0 BIT(6)
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL_CK_REF_ENB BIT(5)
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL_RCAL_ENB BIT(4)
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL_TX_CLK_ALIGN_ENB BIT(3)
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL_TX_READY BIT(2)
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL_CKO_WORD_ENB BIT(1)
+-#define HDMI_3D_TX_PHY_PTRPT_ENBL_REFCLK_ENB BIT(0)
+-
+-#endif /* __DW_HDMI_H__ */
--- /dev/null
+++ b/drivers/gpu/drm/bridge/synopsys/Kconfig
@@ -0,0 +1,23 @@
@@ -123,9 +4426,6 @@ index 000000000000..40d2827a6d19
+ help
+ Support the I2S Audio interface which is part of the Synopsys
+ Designware HDMI block.
-diff --git a/drivers/gpu/drm/bridge/synopsys/Makefile b/drivers/gpu/drm/bridge/synopsys/Makefile
-new file mode 100644
-index 000000000000..17aa7a65b57e
--- /dev/null
+++ b/drivers/gpu/drm/bridge/synopsys/Makefile
@@ -0,0 +1,5 @@
@@ -134,26 +4434,4299 @@ index 000000000000..17aa7a65b57e
+obj-$(CONFIG_DRM_DW_HDMI) += dw-hdmi.o
+obj-$(CONFIG_DRM_DW_HDMI_AHB_AUDIO) += dw-hdmi-ahb-audio.o
+obj-$(CONFIG_DRM_DW_HDMI_I2S_AUDIO) += dw-hdmi-i2s-audio.o
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi-ahb-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c
-similarity index 100%
-rename from drivers/gpu/drm/bridge/dw-hdmi-ahb-audio.c
-rename to drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi-audio.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h
-similarity index 100%
-rename from drivers/gpu/drm/bridge/dw-hdmi-audio.h
-rename to drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi-i2s-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
-similarity index 100%
-rename from drivers/gpu/drm/bridge/dw-hdmi-i2s-audio.c
-rename to drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-similarity index 100%
-rename from drivers/gpu/drm/bridge/dw-hdmi.c
-rename to drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-diff --git a/drivers/gpu/drm/bridge/dw-hdmi.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
-similarity index 100%
-rename from drivers/gpu/drm/bridge/dw-hdmi.h
-rename to drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
---
-2.13.3
-
+--- /dev/null
++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c
+@@ -0,0 +1,652 @@
++/*
++ * DesignWare HDMI audio driver
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * Written and tested against the Designware HDMI Tx found in iMX6.
++ */
++#include <linux/io.h>
++#include <linux/interrupt.h>
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <drm/bridge/dw_hdmi.h>
++#include <drm/drm_edid.h>
++
++#include <sound/asoundef.h>
++#include <sound/core.h>
++#include <sound/initval.h>
++#include <sound/pcm.h>
++#include <sound/pcm_drm_eld.h>
++#include <sound/pcm_iec958.h>
++
++#include "dw-hdmi-audio.h"
++
++#define DRIVER_NAME "dw-hdmi-ahb-audio"
++
++/* Provide some bits rather than bit offsets */
++enum {
++ HDMI_AHB_DMA_CONF0_SW_FIFO_RST = BIT(7),
++ HDMI_AHB_DMA_CONF0_EN_HLOCK = BIT(3),
++ HDMI_AHB_DMA_START_START = BIT(0),
++ HDMI_AHB_DMA_STOP_STOP = BIT(0),
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_ERROR = BIT(5),
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_LOST = BIT(4),
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_RETRY = BIT(3),
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_DONE = BIT(2),
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFFULL = BIT(1),
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFEMPTY = BIT(0),
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_ALL =
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_ERROR |
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_LOST |
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_RETRY |
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_DONE |
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFFULL |
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFEMPTY,
++ HDMI_IH_AHBDMAAUD_STAT0_ERROR = BIT(5),
++ HDMI_IH_AHBDMAAUD_STAT0_LOST = BIT(4),
++ HDMI_IH_AHBDMAAUD_STAT0_RETRY = BIT(3),
++ HDMI_IH_AHBDMAAUD_STAT0_DONE = BIT(2),
++ HDMI_IH_AHBDMAAUD_STAT0_BUFFFULL = BIT(1),
++ HDMI_IH_AHBDMAAUD_STAT0_BUFFEMPTY = BIT(0),
++ HDMI_IH_AHBDMAAUD_STAT0_ALL =
++ HDMI_IH_AHBDMAAUD_STAT0_ERROR |
++ HDMI_IH_AHBDMAAUD_STAT0_LOST |
++ HDMI_IH_AHBDMAAUD_STAT0_RETRY |
++ HDMI_IH_AHBDMAAUD_STAT0_DONE |
++ HDMI_IH_AHBDMAAUD_STAT0_BUFFFULL |
++ HDMI_IH_AHBDMAAUD_STAT0_BUFFEMPTY,
++ HDMI_AHB_DMA_CONF0_INCR16 = 2 << 1,
++ HDMI_AHB_DMA_CONF0_INCR8 = 1 << 1,
++ HDMI_AHB_DMA_CONF0_INCR4 = 0,
++ HDMI_AHB_DMA_CONF0_BURST_MODE = BIT(0),
++ HDMI_AHB_DMA_MASK_DONE = BIT(7),
++
++ HDMI_REVISION_ID = 0x0001,
++ HDMI_IH_AHBDMAAUD_STAT0 = 0x0109,
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0 = 0x0189,
++ HDMI_FC_AUDICONF2 = 0x1027,
++ HDMI_FC_AUDSCONF = 0x1063,
++ HDMI_FC_AUDSCONF_LAYOUT1 = 1 << 0,
++ HDMI_FC_AUDSCONF_LAYOUT0 = 0 << 0,
++ HDMI_AHB_DMA_CONF0 = 0x3600,
++ HDMI_AHB_DMA_START = 0x3601,
++ HDMI_AHB_DMA_STOP = 0x3602,
++ HDMI_AHB_DMA_THRSLD = 0x3603,
++ HDMI_AHB_DMA_STRADDR0 = 0x3604,
++ HDMI_AHB_DMA_STPADDR0 = 0x3608,
++ HDMI_AHB_DMA_MASK = 0x3614,
++ HDMI_AHB_DMA_POL = 0x3615,
++ HDMI_AHB_DMA_CONF1 = 0x3616,
++ HDMI_AHB_DMA_BUFFPOL = 0x361a,
++};
++
++struct dw_hdmi_channel_conf {
++ u8 conf1;
++ u8 ca;
++};
++
++/*
++ * The default mapping of ALSA channels to HDMI channels and speaker
++ * allocation bits. Note that we can't do channel remapping here -
++ * channels must be in the same order.
++ *
++ * Mappings for alsa-lib pcm/surround*.conf files:
++ *
++ * Front Sur4.0 Sur4.1 Sur5.0 Sur5.1 Sur7.1
++ * Channels 2 4 6 6 6 8
++ *
++ * Our mapping from ALSA channel to CEA686D speaker name and HDMI channel:
++ *
++ * Number of ALSA channels
++ * ALSA Channel 2 3 4 5 6 7 8
++ * 0 FL:0 = = = = = =
++ * 1 FR:1 = = = = = =
++ * 2 FC:3 RL:4 LFE:2 = = =
++ * 3 RR:5 RL:4 FC:3 = =
++ * 4 RR:5 RL:4 = =
++ * 5 RR:5 = =
++ * 6 RC:6 =
++ * 7 RLC/FRC RLC/FRC
++ */
++static struct dw_hdmi_channel_conf default_hdmi_channel_config[7] = {
++ { 0x03, 0x00 }, /* FL,FR */
++ { 0x0b, 0x02 }, /* FL,FR,FC */
++ { 0x33, 0x08 }, /* FL,FR,RL,RR */
++ { 0x37, 0x09 }, /* FL,FR,LFE,RL,RR */
++ { 0x3f, 0x0b }, /* FL,FR,LFE,FC,RL,RR */
++ { 0x7f, 0x0f }, /* FL,FR,LFE,FC,RL,RR,RC */
++ { 0xff, 0x13 }, /* FL,FR,LFE,FC,RL,RR,[FR]RC,[FR]LC */
++};
++
++struct snd_dw_hdmi {
++ struct snd_card *card;
++ struct snd_pcm *pcm;
++ spinlock_t lock;
++ struct dw_hdmi_audio_data data;
++ struct snd_pcm_substream *substream;
++ void (*reformat)(struct snd_dw_hdmi *, size_t, size_t);
++ void *buf_src;
++ void *buf_dst;
++ dma_addr_t buf_addr;
++ unsigned buf_offset;
++ unsigned buf_period;
++ unsigned buf_size;
++ unsigned channels;
++ u8 revision;
++ u8 iec_offset;
++ u8 cs[192][8];
++};
++
++static void dw_hdmi_writel(u32 val, void __iomem *ptr)
++{
++ writeb_relaxed(val, ptr);
++ writeb_relaxed(val >> 8, ptr + 1);
++ writeb_relaxed(val >> 16, ptr + 2);
++ writeb_relaxed(val >> 24, ptr + 3);
++}
++
++/*
++ * Convert to hardware format: The userspace buffer contains IEC958 samples,
++ * with the PCUV bits in bits 31..28 and audio samples in bits 27..4. We
++ * need these to be in bits 27..24, with the IEC B bit in bit 28, and audio
++ * samples in 23..0.
++ *
++ * Default preamble in bits 3..0: 8 = block start, 4 = even 2 = odd
++ *
++ * Ideally, we could do with having the data properly formatted in userspace.
++ */
++static void dw_hdmi_reformat_iec958(struct snd_dw_hdmi *dw,
++ size_t offset, size_t bytes)
++{
++ u32 *src = dw->buf_src + offset;
++ u32 *dst = dw->buf_dst + offset;
++ u32 *end = dw->buf_src + offset + bytes;
++
++ do {
++ u32 b, sample = *src++;
++
++ b = (sample & 8) << (28 - 3);
++
++ sample >>= 4;
++
++ *dst++ = sample | b;
++ } while (src < end);
++}
++
++static u32 parity(u32 sample)
++{
++ sample ^= sample >> 16;
++ sample ^= sample >> 8;
++ sample ^= sample >> 4;
++ sample ^= sample >> 2;
++ sample ^= sample >> 1;
++ return (sample & 1) << 27;
++}
++
++static void dw_hdmi_reformat_s24(struct snd_dw_hdmi *dw,
++ size_t offset, size_t bytes)
++{
++ u32 *src = dw->buf_src + offset;
++ u32 *dst = dw->buf_dst + offset;
++ u32 *end = dw->buf_src + offset + bytes;
++
++ do {
++ unsigned i;
++ u8 *cs;
++
++ cs = dw->cs[dw->iec_offset++];
++ if (dw->iec_offset >= 192)
++ dw->iec_offset = 0;
++
++ i = dw->channels;
++ do {
++ u32 sample = *src++;
++
++ sample &= ~0xff000000;
++ sample |= *cs++ << 24;
++ sample |= parity(sample & ~0xf8000000);
++
++ *dst++ = sample;
++ } while (--i);
++ } while (src < end);
++}
++
++static void dw_hdmi_create_cs(struct snd_dw_hdmi *dw,
++ struct snd_pcm_runtime *runtime)
++{
++ u8 cs[4];
++ unsigned ch, i, j;
++
++ snd_pcm_create_iec958_consumer(runtime, cs, sizeof(cs));
++
++ memset(dw->cs, 0, sizeof(dw->cs));
++
++ for (ch = 0; ch < 8; ch++) {
++ cs[2] &= ~IEC958_AES2_CON_CHANNEL;
++ cs[2] |= (ch + 1) << 4;
++
++ for (i = 0; i < ARRAY_SIZE(cs); i++) {
++ unsigned c = cs[i];
++
++ for (j = 0; j < 8; j++, c >>= 1)
++ dw->cs[i * 8 + j][ch] = (c & 1) << 2;
++ }
++ }
++ dw->cs[0][0] |= BIT(4);
++}
++
++static void dw_hdmi_start_dma(struct snd_dw_hdmi *dw)
++{
++ void __iomem *base = dw->data.base;
++ unsigned offset = dw->buf_offset;
++ unsigned period = dw->buf_period;
++ u32 start, stop;
++
++ dw->reformat(dw, offset, period);
++
++ /* Clear all irqs before enabling irqs and starting DMA */
++ writeb_relaxed(HDMI_IH_AHBDMAAUD_STAT0_ALL,
++ base + HDMI_IH_AHBDMAAUD_STAT0);
++
++ start = dw->buf_addr + offset;
++ stop = start + period - 1;
++
++ /* Setup the hardware start/stop addresses */
++ dw_hdmi_writel(start, base + HDMI_AHB_DMA_STRADDR0);
++ dw_hdmi_writel(stop, base + HDMI_AHB_DMA_STPADDR0);
++
++ writeb_relaxed((u8)~HDMI_AHB_DMA_MASK_DONE, base + HDMI_AHB_DMA_MASK);
++ writeb(HDMI_AHB_DMA_START_START, base + HDMI_AHB_DMA_START);
++
++ offset += period;
++ if (offset >= dw->buf_size)
++ offset = 0;
++ dw->buf_offset = offset;
++}
++
++static void dw_hdmi_stop_dma(struct snd_dw_hdmi *dw)
++{
++ /* Disable interrupts before disabling DMA */
++ writeb_relaxed(~0, dw->data.base + HDMI_AHB_DMA_MASK);
++ writeb_relaxed(HDMI_AHB_DMA_STOP_STOP, dw->data.base + HDMI_AHB_DMA_STOP);
++}
++
++static irqreturn_t snd_dw_hdmi_irq(int irq, void *data)
++{
++ struct snd_dw_hdmi *dw = data;
++ struct snd_pcm_substream *substream;
++ unsigned stat;
++
++ stat = readb_relaxed(dw->data.base + HDMI_IH_AHBDMAAUD_STAT0);
++ if (!stat)
++ return IRQ_NONE;
++
++ writeb_relaxed(stat, dw->data.base + HDMI_IH_AHBDMAAUD_STAT0);
++
++ substream = dw->substream;
++ if (stat & HDMI_IH_AHBDMAAUD_STAT0_DONE && substream) {
++ snd_pcm_period_elapsed(substream);
++
++ spin_lock(&dw->lock);
++ if (dw->substream)
++ dw_hdmi_start_dma(dw);
++ spin_unlock(&dw->lock);
++ }
++
++ return IRQ_HANDLED;
++}
++
++static struct snd_pcm_hardware dw_hdmi_hw = {
++ .info = SNDRV_PCM_INFO_INTERLEAVED |
++ SNDRV_PCM_INFO_BLOCK_TRANSFER |
++ SNDRV_PCM_INFO_MMAP |
++ SNDRV_PCM_INFO_MMAP_VALID,
++ .formats = SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE |
++ SNDRV_PCM_FMTBIT_S24_LE,
++ .rates = SNDRV_PCM_RATE_32000 |
++ SNDRV_PCM_RATE_44100 |
++ SNDRV_PCM_RATE_48000 |
++ SNDRV_PCM_RATE_88200 |
++ SNDRV_PCM_RATE_96000 |
++ SNDRV_PCM_RATE_176400 |
++ SNDRV_PCM_RATE_192000,
++ .channels_min = 2,
++ .channels_max = 8,
++ .buffer_bytes_max = 1024 * 1024,
++ .period_bytes_min = 256,
++ .period_bytes_max = 8192, /* ERR004323: must limit to 8k */
++ .periods_min = 2,
++ .periods_max = 16,
++ .fifo_size = 0,
++};
++
++static int dw_hdmi_open(struct snd_pcm_substream *substream)
++{
++ struct snd_pcm_runtime *runtime = substream->runtime;
++ struct snd_dw_hdmi *dw = substream->private_data;
++ void __iomem *base = dw->data.base;
++ int ret;
++
++ runtime->hw = dw_hdmi_hw;
++
++ ret = snd_pcm_hw_constraint_eld(runtime, dw->data.eld);
++ if (ret < 0)
++ return ret;
++
++ ret = snd_pcm_limit_hw_rates(runtime);
++ if (ret < 0)
++ return ret;
++
++ ret = snd_pcm_hw_constraint_integer(runtime,
++ SNDRV_PCM_HW_PARAM_PERIODS);
++ if (ret < 0)
++ return ret;
++
++ /* Limit the buffer size to the size of the preallocated buffer */
++ ret = snd_pcm_hw_constraint_minmax(runtime,
++ SNDRV_PCM_HW_PARAM_BUFFER_SIZE,
++ 0, substream->dma_buffer.bytes);
++ if (ret < 0)
++ return ret;
++
++ /* Clear FIFO */
++ writeb_relaxed(HDMI_AHB_DMA_CONF0_SW_FIFO_RST,
++ base + HDMI_AHB_DMA_CONF0);
++
++ /* Configure interrupt polarities */
++ writeb_relaxed(~0, base + HDMI_AHB_DMA_POL);
++ writeb_relaxed(~0, base + HDMI_AHB_DMA_BUFFPOL);
++
++ /* Keep interrupts masked, and clear any pending */
++ writeb_relaxed(~0, base + HDMI_AHB_DMA_MASK);
++ writeb_relaxed(~0, base + HDMI_IH_AHBDMAAUD_STAT0);
++
++ ret = request_irq(dw->data.irq, snd_dw_hdmi_irq, IRQF_SHARED,
++ "dw-hdmi-audio", dw);
++ if (ret)
++ return ret;
++
++ /* Un-mute done interrupt */
++ writeb_relaxed(HDMI_IH_MUTE_AHBDMAAUD_STAT0_ALL &
++ ~HDMI_IH_MUTE_AHBDMAAUD_STAT0_DONE,
++ base + HDMI_IH_MUTE_AHBDMAAUD_STAT0);
++
++ return 0;
++}
++
++static int dw_hdmi_close(struct snd_pcm_substream *substream)
++{
++ struct snd_dw_hdmi *dw = substream->private_data;
++
++ /* Mute all interrupts */
++ writeb_relaxed(HDMI_IH_MUTE_AHBDMAAUD_STAT0_ALL,
++ dw->data.base + HDMI_IH_MUTE_AHBDMAAUD_STAT0);
++
++ free_irq(dw->data.irq, dw);
++
++ return 0;
++}
++
++static int dw_hdmi_hw_free(struct snd_pcm_substream *substream)
++{
++ return snd_pcm_lib_free_vmalloc_buffer(substream);
++}
++
++static int dw_hdmi_hw_params(struct snd_pcm_substream *substream,
++ struct snd_pcm_hw_params *params)
++{
++ /* Allocate the PCM runtime buffer, which is exposed to userspace. */
++ return snd_pcm_lib_alloc_vmalloc_buffer(substream,
++ params_buffer_bytes(params));
++}
++
++static int dw_hdmi_prepare(struct snd_pcm_substream *substream)
++{
++ struct snd_pcm_runtime *runtime = substream->runtime;
++ struct snd_dw_hdmi *dw = substream->private_data;
++ u8 threshold, conf0, conf1, layout, ca;
++
++ /* Setup as per 3.0.5 FSL 4.1.0 BSP */
++ switch (dw->revision) {
++ case 0x0a:
++ conf0 = HDMI_AHB_DMA_CONF0_BURST_MODE |
++ HDMI_AHB_DMA_CONF0_INCR4;
++ if (runtime->channels == 2)
++ threshold = 126;
++ else
++ threshold = 124;
++ break;
++ case 0x1a:
++ conf0 = HDMI_AHB_DMA_CONF0_BURST_MODE |
++ HDMI_AHB_DMA_CONF0_INCR8;
++ threshold = 128;
++ break;
++ default:
++ /* NOTREACHED */
++ return -EINVAL;
++ }
++
++ dw_hdmi_set_sample_rate(dw->data.hdmi, runtime->rate);
++
++ /* Minimum number of bytes in the fifo. */
++ runtime->hw.fifo_size = threshold * 32;
++
++ conf0 |= HDMI_AHB_DMA_CONF0_EN_HLOCK;
++ conf1 = default_hdmi_channel_config[runtime->channels - 2].conf1;
++ ca = default_hdmi_channel_config[runtime->channels - 2].ca;
++
++ /*
++ * For >2 channel PCM audio, we need to select layout 1
++ * and set an appropriate channel map.
++ */
++ if (runtime->channels > 2)
++ layout = HDMI_FC_AUDSCONF_LAYOUT1;
++ else
++ layout = HDMI_FC_AUDSCONF_LAYOUT0;
++
++ writeb_relaxed(threshold, dw->data.base + HDMI_AHB_DMA_THRSLD);
++ writeb_relaxed(conf0, dw->data.base + HDMI_AHB_DMA_CONF0);
++ writeb_relaxed(conf1, dw->data.base + HDMI_AHB_DMA_CONF1);
++ writeb_relaxed(layout, dw->data.base + HDMI_FC_AUDSCONF);
++ writeb_relaxed(ca, dw->data.base + HDMI_FC_AUDICONF2);
++
++ switch (runtime->format) {
++ case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE:
++ dw->reformat = dw_hdmi_reformat_iec958;
++ break;
++ case SNDRV_PCM_FORMAT_S24_LE:
++ dw_hdmi_create_cs(dw, runtime);
++ dw->reformat = dw_hdmi_reformat_s24;
++ break;
++ }
++ dw->iec_offset = 0;
++ dw->channels = runtime->channels;
++ dw->buf_src = runtime->dma_area;
++ dw->buf_dst = substream->dma_buffer.area;
++ dw->buf_addr = substream->dma_buffer.addr;
++ dw->buf_period = snd_pcm_lib_period_bytes(substream);
++ dw->buf_size = snd_pcm_lib_buffer_bytes(substream);
++
++ return 0;
++}
++
++static int dw_hdmi_trigger(struct snd_pcm_substream *substream, int cmd)
++{
++ struct snd_dw_hdmi *dw = substream->private_data;
++ unsigned long flags;
++ int ret = 0;
++
++ switch (cmd) {
++ case SNDRV_PCM_TRIGGER_START:
++ spin_lock_irqsave(&dw->lock, flags);
++ dw->buf_offset = 0;
++ dw->substream = substream;
++ dw_hdmi_start_dma(dw);
++ dw_hdmi_audio_enable(dw->data.hdmi);
++ spin_unlock_irqrestore(&dw->lock, flags);
++ substream->runtime->delay = substream->runtime->period_size;
++ break;
++
++ case SNDRV_PCM_TRIGGER_STOP:
++ spin_lock_irqsave(&dw->lock, flags);
++ dw->substream = NULL;
++ dw_hdmi_stop_dma(dw);
++ dw_hdmi_audio_disable(dw->data.hdmi);
++ spin_unlock_irqrestore(&dw->lock, flags);
++ break;
++
++ default:
++ ret = -EINVAL;
++ break;
++ }
++
++ return ret;
++}
++
++static snd_pcm_uframes_t dw_hdmi_pointer(struct snd_pcm_substream *substream)
++{
++ struct snd_pcm_runtime *runtime = substream->runtime;
++ struct snd_dw_hdmi *dw = substream->private_data;
++
++ /*
++ * We are unable to report the exact hardware position as
++ * reading the 32-bit DMA position using 8-bit reads is racy.
++ */
++ return bytes_to_frames(runtime, dw->buf_offset);
++}
++
++static struct snd_pcm_ops snd_dw_hdmi_ops = {
++ .open = dw_hdmi_open,
++ .close = dw_hdmi_close,
++ .ioctl = snd_pcm_lib_ioctl,
++ .hw_params = dw_hdmi_hw_params,
++ .hw_free = dw_hdmi_hw_free,
++ .prepare = dw_hdmi_prepare,
++ .trigger = dw_hdmi_trigger,
++ .pointer = dw_hdmi_pointer,
++ .page = snd_pcm_lib_get_vmalloc_page,
++};
++
++static int snd_dw_hdmi_probe(struct platform_device *pdev)
++{
++ const struct dw_hdmi_audio_data *data = pdev->dev.platform_data;
++ struct device *dev = pdev->dev.parent;
++ struct snd_dw_hdmi *dw;
++ struct snd_card *card;
++ struct snd_pcm *pcm;
++ unsigned revision;
++ int ret;
++
++ writeb_relaxed(HDMI_IH_MUTE_AHBDMAAUD_STAT0_ALL,
++ data->base + HDMI_IH_MUTE_AHBDMAAUD_STAT0);
++ revision = readb_relaxed(data->base + HDMI_REVISION_ID);
++ if (revision != 0x0a && revision != 0x1a) {
++ dev_err(dev, "dw-hdmi-audio: unknown revision 0x%02x\n",
++ revision);
++ return -ENXIO;
++ }
++
++ ret = snd_card_new(dev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
++ THIS_MODULE, sizeof(struct snd_dw_hdmi), &card);
++ if (ret < 0)
++ return ret;
++
++ strlcpy(card->driver, DRIVER_NAME, sizeof(card->driver));
++ strlcpy(card->shortname, "DW-HDMI", sizeof(card->shortname));
++ snprintf(card->longname, sizeof(card->longname),
++ "%s rev 0x%02x, irq %d", card->shortname, revision,
++ data->irq);
++
++ dw = card->private_data;
++ dw->card = card;
++ dw->data = *data;
++ dw->revision = revision;
++
++ spin_lock_init(&dw->lock);
++
++ ret = snd_pcm_new(card, "DW HDMI", 0, 1, 0, &pcm);
++ if (ret < 0)
++ goto err;
++
++ dw->pcm = pcm;
++ pcm->private_data = dw;
++ strlcpy(pcm->name, DRIVER_NAME, sizeof(pcm->name));
++ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_dw_hdmi_ops);
++
++ /*
++ * To support 8-channel 96kHz audio reliably, we need 512k
++ * to satisfy alsa with our restricted period (ERR004323).
++ */
++ snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
++ dev, 128 * 1024, 1024 * 1024);
++
++ ret = snd_card_register(card);
++ if (ret < 0)
++ goto err;
++
++ platform_set_drvdata(pdev, dw);
++
++ return 0;
++
++err:
++ snd_card_free(card);
++ return ret;
++}
++
++static int snd_dw_hdmi_remove(struct platform_device *pdev)
++{
++ struct snd_dw_hdmi *dw = platform_get_drvdata(pdev);
++
++ snd_card_free(dw->card);
++
++ return 0;
++}
++
++#if defined(CONFIG_PM_SLEEP) && defined(IS_NOT_BROKEN)
++/*
++ * This code is fine, but requires implementation in the dw_hdmi_trigger()
++ * method which is currently missing as I have no way to test this.
++ */
++static int snd_dw_hdmi_suspend(struct device *dev)
++{
++ struct snd_dw_hdmi *dw = dev_get_drvdata(dev);
++
++ snd_power_change_state(dw->card, SNDRV_CTL_POWER_D3cold);
++ snd_pcm_suspend_all(dw->pcm);
++
++ return 0;
++}
++
++static int snd_dw_hdmi_resume(struct device *dev)
++{
++ struct snd_dw_hdmi *dw = dev_get_drvdata(dev);
++
++ snd_power_change_state(dw->card, SNDRV_CTL_POWER_D0);
++
++ return 0;
++}
++
++static SIMPLE_DEV_PM_OPS(snd_dw_hdmi_pm, snd_dw_hdmi_suspend,
++ snd_dw_hdmi_resume);
++#define PM_OPS &snd_dw_hdmi_pm
++#else
++#define PM_OPS NULL
++#endif
++
++static struct platform_driver snd_dw_hdmi_driver = {
++ .probe = snd_dw_hdmi_probe,
++ .remove = snd_dw_hdmi_remove,
++ .driver = {
++ .name = DRIVER_NAME,
++ .pm = PM_OPS,
++ },
++};
++
++module_platform_driver(snd_dw_hdmi_driver);
++
++MODULE_AUTHOR("Russell King <rmk+kernel@arm.linux.org.uk>");
++MODULE_DESCRIPTION("Synopsis Designware HDMI AHB ALSA interface");
++MODULE_LICENSE("GPL v2");
++MODULE_ALIAS("platform:" DRIVER_NAME);
+--- /dev/null
++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h
+@@ -0,0 +1,21 @@
++#ifndef DW_HDMI_AUDIO_H
++#define DW_HDMI_AUDIO_H
++
++struct dw_hdmi;
++
++struct dw_hdmi_audio_data {
++ phys_addr_t phys;
++ void __iomem *base;
++ int irq;
++ struct dw_hdmi *hdmi;
++ u8 *eld;
++};
++
++struct dw_hdmi_i2s_audio_data {
++ struct dw_hdmi *hdmi;
++
++ void (*write)(struct dw_hdmi *hdmi, u8 val, int offset);
++ u8 (*read)(struct dw_hdmi *hdmi, int offset);
++};
++
++#endif
+--- /dev/null
++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
+@@ -0,0 +1,141 @@
++/*
++ * dw-hdmi-i2s-audio.c
++ *
++ * Copyright (c) 2016 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++#include <drm/bridge/dw_hdmi.h>
++
++#include <sound/hdmi-codec.h>
++
++#include "dw-hdmi.h"
++#include "dw-hdmi-audio.h"
++
++#define DRIVER_NAME "dw-hdmi-i2s-audio"
++
++static inline void hdmi_write(struct dw_hdmi_i2s_audio_data *audio,
++ u8 val, int offset)
++{
++ struct dw_hdmi *hdmi = audio->hdmi;
++
++ audio->write(hdmi, val, offset);
++}
++
++static inline u8 hdmi_read(struct dw_hdmi_i2s_audio_data *audio, int offset)
++{
++ struct dw_hdmi *hdmi = audio->hdmi;
++
++ return audio->read(hdmi, offset);
++}
++
++static int dw_hdmi_i2s_hw_params(struct device *dev, void *data,
++ struct hdmi_codec_daifmt *fmt,
++ struct hdmi_codec_params *hparms)
++{
++ struct dw_hdmi_i2s_audio_data *audio = data;
++ struct dw_hdmi *hdmi = audio->hdmi;
++ u8 conf0 = 0;
++ u8 conf1 = 0;
++ u8 inputclkfs = 0;
++
++ /* it cares I2S only */
++ if ((fmt->fmt != HDMI_I2S) ||
++ (fmt->bit_clk_master | fmt->frame_clk_master)) {
++ dev_err(dev, "unsupported format/settings\n");
++ return -EINVAL;
++ }
++
++ inputclkfs = HDMI_AUD_INPUTCLKFS_64FS;
++ conf0 = HDMI_AUD_CONF0_I2S_ALL_ENABLE;
++
++ switch (hparms->sample_width) {
++ case 16:
++ conf1 = HDMI_AUD_CONF1_WIDTH_16;
++ break;
++ case 24:
++ case 32:
++ conf1 = HDMI_AUD_CONF1_WIDTH_24;
++ break;
++ }
++
++ dw_hdmi_set_sample_rate(hdmi, hparms->sample_rate);
++
++ hdmi_write(audio, inputclkfs, HDMI_AUD_INPUTCLKFS);
++ hdmi_write(audio, conf0, HDMI_AUD_CONF0);
++ hdmi_write(audio, conf1, HDMI_AUD_CONF1);
++
++ dw_hdmi_audio_enable(hdmi);
++
++ return 0;
++}
++
++static void dw_hdmi_i2s_audio_shutdown(struct device *dev, void *data)
++{
++ struct dw_hdmi_i2s_audio_data *audio = data;
++ struct dw_hdmi *hdmi = audio->hdmi;
++
++ dw_hdmi_audio_disable(hdmi);
++
++ hdmi_write(audio, HDMI_AUD_CONF0_SW_RESET, HDMI_AUD_CONF0);
++}
++
++static struct hdmi_codec_ops dw_hdmi_i2s_ops = {
++ .hw_params = dw_hdmi_i2s_hw_params,
++ .audio_shutdown = dw_hdmi_i2s_audio_shutdown,
++};
++
++static int snd_dw_hdmi_probe(struct platform_device *pdev)
++{
++ struct dw_hdmi_i2s_audio_data *audio = pdev->dev.platform_data;
++ struct platform_device_info pdevinfo;
++ struct hdmi_codec_pdata pdata;
++ struct platform_device *platform;
++
++ pdata.ops = &dw_hdmi_i2s_ops;
++ pdata.i2s = 1;
++ pdata.max_i2s_channels = 6;
++ pdata.data = audio;
++
++ memset(&pdevinfo, 0, sizeof(pdevinfo));
++ pdevinfo.parent = pdev->dev.parent;
++ pdevinfo.id = PLATFORM_DEVID_AUTO;
++ pdevinfo.name = HDMI_CODEC_DRV_NAME;
++ pdevinfo.data = &pdata;
++ pdevinfo.size_data = sizeof(pdata);
++ pdevinfo.dma_mask = DMA_BIT_MASK(32);
++
++ platform = platform_device_register_full(&pdevinfo);
++ if (IS_ERR(platform))
++ return PTR_ERR(platform);
++
++ dev_set_drvdata(&pdev->dev, platform);
++
++ return 0;
++}
++
++static int snd_dw_hdmi_remove(struct platform_device *pdev)
++{
++ struct platform_device *platform = dev_get_drvdata(&pdev->dev);
++
++ platform_device_unregister(platform);
++
++ return 0;
++}
++
++static struct platform_driver snd_dw_hdmi_driver = {
++ .probe = snd_dw_hdmi_probe,
++ .remove = snd_dw_hdmi_remove,
++ .driver = {
++ .name = DRIVER_NAME,
++ .owner = THIS_MODULE,
++ },
++};
++module_platform_driver(snd_dw_hdmi_driver);
++
++MODULE_AUTHOR("Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>");
++MODULE_DESCRIPTION("Synopsis Designware HDMI I2S ALSA SoC interface");
++MODULE_LICENSE("GPL v2");
++MODULE_ALIAS("platform:" DRIVER_NAME);
+--- /dev/null
++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+@@ -0,0 +1,2314 @@
++/*
++ * DesignWare High-Definition Multimedia Interface (HDMI) driver
++ *
++ * Copyright (C) 2013-2015 Mentor Graphics Inc.
++ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc.
++ * Copyright (C) 2010, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ */
++#include <linux/module.h>
++#include <linux/irq.h>
++#include <linux/delay.h>
++#include <linux/err.h>
++#include <linux/clk.h>
++#include <linux/hdmi.h>
++#include <linux/mutex.h>
++#include <linux/of_device.h>
++#include <linux/regmap.h>
++#include <linux/spinlock.h>
++
++#include <drm/drm_of.h>
++#include <drm/drmP.h>
++#include <drm/drm_atomic_helper.h>
++#include <drm/drm_crtc_helper.h>
++#include <drm/drm_edid.h>
++#include <drm/drm_encoder_slave.h>
++#include <drm/bridge/dw_hdmi.h>
++
++#include "dw-hdmi.h"
++#include "dw-hdmi-audio.h"
++
++#define HDMI_EDID_LEN 512
++
++#define RGB 0
++#define YCBCR444 1
++#define YCBCR422_16BITS 2
++#define YCBCR422_8BITS 3
++#define XVYCC444 4
++
++enum hdmi_datamap {
++ RGB444_8B = 0x01,
++ RGB444_10B = 0x03,
++ RGB444_12B = 0x05,
++ RGB444_16B = 0x07,
++ YCbCr444_8B = 0x09,
++ YCbCr444_10B = 0x0B,
++ YCbCr444_12B = 0x0D,
++ YCbCr444_16B = 0x0F,
++ YCbCr422_8B = 0x16,
++ YCbCr422_10B = 0x14,
++ YCbCr422_12B = 0x12,
++};
++
++static const u16 csc_coeff_default[3][4] = {
++ { 0x2000, 0x0000, 0x0000, 0x0000 },
++ { 0x0000, 0x2000, 0x0000, 0x0000 },
++ { 0x0000, 0x0000, 0x2000, 0x0000 }
++};
++
++static const u16 csc_coeff_rgb_out_eitu601[3][4] = {
++ { 0x2000, 0x6926, 0x74fd, 0x010e },
++ { 0x2000, 0x2cdd, 0x0000, 0x7e9a },
++ { 0x2000, 0x0000, 0x38b4, 0x7e3b }
++};
++
++static const u16 csc_coeff_rgb_out_eitu709[3][4] = {
++ { 0x2000, 0x7106, 0x7a02, 0x00a7 },
++ { 0x2000, 0x3264, 0x0000, 0x7e6d },
++ { 0x2000, 0x0000, 0x3b61, 0x7e25 }
++};
++
++static const u16 csc_coeff_rgb_in_eitu601[3][4] = {
++ { 0x2591, 0x1322, 0x074b, 0x0000 },
++ { 0x6535, 0x2000, 0x7acc, 0x0200 },
++ { 0x6acd, 0x7534, 0x2000, 0x0200 }
++};
++
++static const u16 csc_coeff_rgb_in_eitu709[3][4] = {
++ { 0x2dc5, 0x0d9b, 0x049e, 0x0000 },
++ { 0x62f0, 0x2000, 0x7d11, 0x0200 },
++ { 0x6756, 0x78ab, 0x2000, 0x0200 }
++};
++
++struct hdmi_vmode {
++ bool mdataenablepolarity;
++
++ unsigned int mpixelclock;
++ unsigned int mpixelrepetitioninput;
++ unsigned int mpixelrepetitionoutput;
++};
++
++struct hdmi_data_info {
++ unsigned int enc_in_format;
++ unsigned int enc_out_format;
++ unsigned int enc_color_depth;
++ unsigned int colorimetry;
++ unsigned int pix_repet_factor;
++ unsigned int hdcp_enable;
++ struct hdmi_vmode video_mode;
++};
++
++struct dw_hdmi_i2c {
++ struct i2c_adapter adap;
++
++ struct mutex lock; /* used to serialize data transfers */
++ struct completion cmp;
++ u8 stat;
++
++ u8 slave_reg;
++ bool is_regaddr;
++};
++
++struct dw_hdmi_phy_data {
++ enum dw_hdmi_phy_type type;
++ const char *name;
++ unsigned int gen;
++ bool has_svsret;
++ int (*configure)(struct dw_hdmi *hdmi,
++ const struct dw_hdmi_plat_data *pdata,
++ unsigned long mpixelclock);
++};
++
++struct dw_hdmi {
++ struct drm_connector connector;
++ struct drm_bridge bridge;
++
++ unsigned int version;
++
++ struct platform_device *audio;
++ struct device *dev;
++ struct clk *isfr_clk;
++ struct clk *iahb_clk;
++ struct dw_hdmi_i2c *i2c;
++
++ struct hdmi_data_info hdmi_data;
++ const struct dw_hdmi_plat_data *plat_data;
++
++ int vic;
++
++ u8 edid[HDMI_EDID_LEN];
++ bool cable_plugin;
++
++ struct {
++ const struct dw_hdmi_phy_ops *ops;
++ const char *name;
++ void *data;
++ bool enabled;
++ } phy;
++
++ struct drm_display_mode previous_mode;
++
++ struct i2c_adapter *ddc;
++ void __iomem *regs;
++ bool sink_is_hdmi;
++ bool sink_has_audio;
++
++ struct mutex mutex; /* for state below and previous_mode */
++ enum drm_connector_force force; /* mutex-protected force state */
++ bool disabled; /* DRM has disabled our bridge */
++ bool bridge_is_on; /* indicates the bridge is on */
++ bool rxsense; /* rxsense state */
++ u8 phy_mask; /* desired phy int mask settings */
++
++ spinlock_t audio_lock;
++ struct mutex audio_mutex;
++ unsigned int sample_rate;
++ unsigned int audio_cts;
++ unsigned int audio_n;
++ bool audio_enable;
++
++ unsigned int reg_shift;
++ struct regmap *regm;
++};
++
++#define HDMI_IH_PHY_STAT0_RX_SENSE \
++ (HDMI_IH_PHY_STAT0_RX_SENSE0 | HDMI_IH_PHY_STAT0_RX_SENSE1 | \
++ HDMI_IH_PHY_STAT0_RX_SENSE2 | HDMI_IH_PHY_STAT0_RX_SENSE3)
++
++#define HDMI_PHY_RX_SENSE \
++ (HDMI_PHY_RX_SENSE0 | HDMI_PHY_RX_SENSE1 | \
++ HDMI_PHY_RX_SENSE2 | HDMI_PHY_RX_SENSE3)
++
++static inline void hdmi_writeb(struct dw_hdmi *hdmi, u8 val, int offset)
++{
++ regmap_write(hdmi->regm, offset << hdmi->reg_shift, val);
++}
++
++static inline u8 hdmi_readb(struct dw_hdmi *hdmi, int offset)
++{
++ unsigned int val = 0;
++
++ regmap_read(hdmi->regm, offset << hdmi->reg_shift, &val);
++
++ return val;
++}
++
++static void hdmi_modb(struct dw_hdmi *hdmi, u8 data, u8 mask, unsigned reg)
++{
++ regmap_update_bits(hdmi->regm, reg << hdmi->reg_shift, mask, data);
++}
++
++static void hdmi_mask_writeb(struct dw_hdmi *hdmi, u8 data, unsigned int reg,
++ u8 shift, u8 mask)
++{
++ hdmi_modb(hdmi, data << shift, mask, reg);
++}
++
++static void dw_hdmi_i2c_init(struct dw_hdmi *hdmi)
++{
++ /* Software reset */
++ hdmi_writeb(hdmi, 0x00, HDMI_I2CM_SOFTRSTZ);
++
++ /* Set Standard Mode speed (determined to be 100KHz on iMX6) */
++ hdmi_writeb(hdmi, 0x00, HDMI_I2CM_DIV);
++
++ /* Set done, not acknowledged and arbitration interrupt polarities */
++ hdmi_writeb(hdmi, HDMI_I2CM_INT_DONE_POL, HDMI_I2CM_INT);
++ hdmi_writeb(hdmi, HDMI_I2CM_CTLINT_NAC_POL | HDMI_I2CM_CTLINT_ARB_POL,
++ HDMI_I2CM_CTLINT);
++
++ /* Clear DONE and ERROR interrupts */
++ hdmi_writeb(hdmi, HDMI_IH_I2CM_STAT0_ERROR | HDMI_IH_I2CM_STAT0_DONE,
++ HDMI_IH_I2CM_STAT0);
++
++ /* Mute DONE and ERROR interrupts */
++ hdmi_writeb(hdmi, HDMI_IH_I2CM_STAT0_ERROR | HDMI_IH_I2CM_STAT0_DONE,
++ HDMI_IH_MUTE_I2CM_STAT0);
++}
++
++static int dw_hdmi_i2c_read(struct dw_hdmi *hdmi,
++ unsigned char *buf, unsigned int length)
++{
++ struct dw_hdmi_i2c *i2c = hdmi->i2c;
++ int stat;
++
++ if (!i2c->is_regaddr) {
++ dev_dbg(hdmi->dev, "set read register address to 0\n");
++ i2c->slave_reg = 0x00;
++ i2c->is_regaddr = true;
++ }
++
++ while (length--) {
++ reinit_completion(&i2c->cmp);
++
++ hdmi_writeb(hdmi, i2c->slave_reg++, HDMI_I2CM_ADDRESS);
++ hdmi_writeb(hdmi, HDMI_I2CM_OPERATION_READ,
++ HDMI_I2CM_OPERATION);
++
++ stat = wait_for_completion_timeout(&i2c->cmp, HZ / 10);
++ if (!stat)
++ return -EAGAIN;
++
++ /* Check for error condition on the bus */
++ if (i2c->stat & HDMI_IH_I2CM_STAT0_ERROR)
++ return -EIO;
++
++ *buf++ = hdmi_readb(hdmi, HDMI_I2CM_DATAI);
++ }
++
++ return 0;
++}
++
++static int dw_hdmi_i2c_write(struct dw_hdmi *hdmi,
++ unsigned char *buf, unsigned int length)
++{
++ struct dw_hdmi_i2c *i2c = hdmi->i2c;
++ int stat;
++
++ if (!i2c->is_regaddr) {
++ /* Use the first write byte as register address */
++ i2c->slave_reg = buf[0];
++ length--;
++ buf++;
++ i2c->is_regaddr = true;
++ }
++
++ while (length--) {
++ reinit_completion(&i2c->cmp);
++
++ hdmi_writeb(hdmi, *buf++, HDMI_I2CM_DATAO);
++ hdmi_writeb(hdmi, i2c->slave_reg++, HDMI_I2CM_ADDRESS);
++ hdmi_writeb(hdmi, HDMI_I2CM_OPERATION_WRITE,
++ HDMI_I2CM_OPERATION);
++
++ stat = wait_for_completion_timeout(&i2c->cmp, HZ / 10);
++ if (!stat)
++ return -EAGAIN;
++
++ /* Check for error condition on the bus */
++ if (i2c->stat & HDMI_IH_I2CM_STAT0_ERROR)
++ return -EIO;
++ }
++
++ return 0;
++}
++
++static int dw_hdmi_i2c_xfer(struct i2c_adapter *adap,
++ struct i2c_msg *msgs, int num)
++{
++ struct dw_hdmi *hdmi = i2c_get_adapdata(adap);
++ struct dw_hdmi_i2c *i2c = hdmi->i2c;
++ u8 addr = msgs[0].addr;
++ int i, ret = 0;
++
++ dev_dbg(hdmi->dev, "xfer: num: %d, addr: %#x\n", num, addr);
++
++ for (i = 0; i < num; i++) {
++ if (msgs[i].addr != addr) {
++ dev_warn(hdmi->dev,
++ "unsupported transfer, changed slave address\n");
++ return -EOPNOTSUPP;
++ }
++
++ if (msgs[i].len == 0) {
++ dev_dbg(hdmi->dev,
++ "unsupported transfer %d/%d, no data\n",
++ i + 1, num);
++ return -EOPNOTSUPP;
++ }
++ }
++
++ mutex_lock(&i2c->lock);
++
++ /* Unmute DONE and ERROR interrupts */
++ hdmi_writeb(hdmi, 0x00, HDMI_IH_MUTE_I2CM_STAT0);
++
++ /* Set slave device address taken from the first I2C message */
++ hdmi_writeb(hdmi, addr, HDMI_I2CM_SLAVE);
++
++ /* Set slave device register address on transfer */
++ i2c->is_regaddr = false;
++
++ for (i = 0; i < num; i++) {
++ dev_dbg(hdmi->dev, "xfer: num: %d/%d, len: %d, flags: %#x\n",
++ i + 1, num, msgs[i].len, msgs[i].flags);
++
++ if (msgs[i].flags & I2C_M_RD)
++ ret = dw_hdmi_i2c_read(hdmi, msgs[i].buf, msgs[i].len);
++ else
++ ret = dw_hdmi_i2c_write(hdmi, msgs[i].buf, msgs[i].len);
++
++ if (ret < 0)
++ break;
++ }
++
++ if (!ret)
++ ret = num;
++
++ /* Mute DONE and ERROR interrupts */
++ hdmi_writeb(hdmi, HDMI_IH_I2CM_STAT0_ERROR | HDMI_IH_I2CM_STAT0_DONE,
++ HDMI_IH_MUTE_I2CM_STAT0);
++
++ mutex_unlock(&i2c->lock);
++
++ return ret;
++}
++
++static u32 dw_hdmi_i2c_func(struct i2c_adapter *adapter)
++{
++ return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL;
++}
++
++static const struct i2c_algorithm dw_hdmi_algorithm = {
++ .master_xfer = dw_hdmi_i2c_xfer,
++ .functionality = dw_hdmi_i2c_func,
++};
++
++static struct i2c_adapter *dw_hdmi_i2c_adapter(struct dw_hdmi *hdmi)
++{
++ struct i2c_adapter *adap;
++ struct dw_hdmi_i2c *i2c;
++ int ret;
++
++ i2c = devm_kzalloc(hdmi->dev, sizeof(*i2c), GFP_KERNEL);
++ if (!i2c)
++ return ERR_PTR(-ENOMEM);
++
++ mutex_init(&i2c->lock);
++ init_completion(&i2c->cmp);
++
++ adap = &i2c->adap;
++ adap->class = I2C_CLASS_DDC;
++ adap->owner = THIS_MODULE;
++ adap->dev.parent = hdmi->dev;
++ adap->algo = &dw_hdmi_algorithm;
++ strlcpy(adap->name, "DesignWare HDMI", sizeof(adap->name));
++ i2c_set_adapdata(adap, hdmi);
++
++ ret = i2c_add_adapter(adap);
++ if (ret) {
++ dev_warn(hdmi->dev, "cannot add %s I2C adapter\n", adap->name);
++ devm_kfree(hdmi->dev, i2c);
++ return ERR_PTR(ret);
++ }
++
++ hdmi->i2c = i2c;
++
++ dev_info(hdmi->dev, "registered %s I2C bus driver\n", adap->name);
++
++ return adap;
++}
++
++static void hdmi_set_cts_n(struct dw_hdmi *hdmi, unsigned int cts,
++ unsigned int n)
++{
++ /* Must be set/cleared first */
++ hdmi_modb(hdmi, 0, HDMI_AUD_CTS3_CTS_MANUAL, HDMI_AUD_CTS3);
++
++ /* nshift factor = 0 */
++ hdmi_modb(hdmi, 0, HDMI_AUD_CTS3_N_SHIFT_MASK, HDMI_AUD_CTS3);
++
++ hdmi_writeb(hdmi, ((cts >> 16) & HDMI_AUD_CTS3_AUDCTS19_16_MASK) |
++ HDMI_AUD_CTS3_CTS_MANUAL, HDMI_AUD_CTS3);
++ hdmi_writeb(hdmi, (cts >> 8) & 0xff, HDMI_AUD_CTS2);
++ hdmi_writeb(hdmi, cts & 0xff, HDMI_AUD_CTS1);
++
++ hdmi_writeb(hdmi, (n >> 16) & 0x0f, HDMI_AUD_N3);
++ hdmi_writeb(hdmi, (n >> 8) & 0xff, HDMI_AUD_N2);
++ hdmi_writeb(hdmi, n & 0xff, HDMI_AUD_N1);
++}
++
++static unsigned int hdmi_compute_n(unsigned int freq, unsigned long pixel_clk)
++{
++ unsigned int n = (128 * freq) / 1000;
++ unsigned int mult = 1;
++
++ while (freq > 48000) {
++ mult *= 2;
++ freq /= 2;
++ }
++
++ switch (freq) {
++ case 32000:
++ if (pixel_clk == 25175000)
++ n = 4576;
++ else if (pixel_clk == 27027000)
++ n = 4096;
++ else if (pixel_clk == 74176000 || pixel_clk == 148352000)
++ n = 11648;
++ else
++ n = 4096;
++ n *= mult;
++ break;
++
++ case 44100:
++ if (pixel_clk == 25175000)
++ n = 7007;
++ else if (pixel_clk == 74176000)
++ n = 17836;
++ else if (pixel_clk == 148352000)
++ n = 8918;
++ else
++ n = 6272;
++ n *= mult;
++ break;
++
++ case 48000:
++ if (pixel_clk == 25175000)
++ n = 6864;
++ else if (pixel_clk == 27027000)
++ n = 6144;
++ else if (pixel_clk == 74176000)
++ n = 11648;
++ else if (pixel_clk == 148352000)
++ n = 5824;
++ else
++ n = 6144;
++ n *= mult;
++ break;
++
++ default:
++ break;
++ }
++
++ return n;
++}
++
++static void hdmi_set_clk_regenerator(struct dw_hdmi *hdmi,
++ unsigned long pixel_clk, unsigned int sample_rate)
++{
++ unsigned long ftdms = pixel_clk;
++ unsigned int n, cts;
++ u64 tmp;
++
++ n = hdmi_compute_n(sample_rate, pixel_clk);
++
++ /*
++ * Compute the CTS value from the N value. Note that CTS and N
++ * can be up to 20 bits in total, so we need 64-bit math. Also
++ * note that our TDMS clock is not fully accurate; it is accurate
++ * to kHz. This can introduce an unnecessary remainder in the
++ * calculation below, so we don't try to warn about that.
++ */
++ tmp = (u64)ftdms * n;
++ do_div(tmp, 128 * sample_rate);
++ cts = tmp;
++
++ dev_dbg(hdmi->dev, "%s: fs=%uHz ftdms=%lu.%03luMHz N=%d cts=%d\n",
++ __func__, sample_rate, ftdms / 1000000, (ftdms / 1000) % 1000,
++ n, cts);
++
++ spin_lock_irq(&hdmi->audio_lock);
++ hdmi->audio_n = n;
++ hdmi->audio_cts = cts;
++ hdmi_set_cts_n(hdmi, cts, hdmi->audio_enable ? n : 0);
++ spin_unlock_irq(&hdmi->audio_lock);
++}
++
++static void hdmi_init_clk_regenerator(struct dw_hdmi *hdmi)
++{
++ mutex_lock(&hdmi->audio_mutex);
++ hdmi_set_clk_regenerator(hdmi, 74250000, hdmi->sample_rate);
++ mutex_unlock(&hdmi->audio_mutex);
++}
++
++static void hdmi_clk_regenerator_update_pixel_clock(struct dw_hdmi *hdmi)
++{
++ mutex_lock(&hdmi->audio_mutex);
++ hdmi_set_clk_regenerator(hdmi, hdmi->hdmi_data.video_mode.mpixelclock,
++ hdmi->sample_rate);
++ mutex_unlock(&hdmi->audio_mutex);
++}
++
++void dw_hdmi_set_sample_rate(struct dw_hdmi *hdmi, unsigned int rate)
++{
++ mutex_lock(&hdmi->audio_mutex);
++ hdmi->sample_rate = rate;
++ hdmi_set_clk_regenerator(hdmi, hdmi->hdmi_data.video_mode.mpixelclock,
++ hdmi->sample_rate);
++ mutex_unlock(&hdmi->audio_mutex);
++}
++EXPORT_SYMBOL_GPL(dw_hdmi_set_sample_rate);
++
++void dw_hdmi_audio_enable(struct dw_hdmi *hdmi)
++{
++ unsigned long flags;
++
++ spin_lock_irqsave(&hdmi->audio_lock, flags);
++ hdmi->audio_enable = true;
++ hdmi_set_cts_n(hdmi, hdmi->audio_cts, hdmi->audio_n);
++ spin_unlock_irqrestore(&hdmi->audio_lock, flags);
++}
++EXPORT_SYMBOL_GPL(dw_hdmi_audio_enable);
++
++void dw_hdmi_audio_disable(struct dw_hdmi *hdmi)
++{
++ unsigned long flags;
++
++ spin_lock_irqsave(&hdmi->audio_lock, flags);
++ hdmi->audio_enable = false;
++ hdmi_set_cts_n(hdmi, hdmi->audio_cts, 0);
++ spin_unlock_irqrestore(&hdmi->audio_lock, flags);
++}
++EXPORT_SYMBOL_GPL(dw_hdmi_audio_disable);
++
++/*
++ * this submodule is responsible for the video data synchronization.
++ * for example, for RGB 4:4:4 input, the data map is defined as
++ * pin{47~40} <==> R[7:0]
++ * pin{31~24} <==> G[7:0]
++ * pin{15~8} <==> B[7:0]
++ */
++static void hdmi_video_sample(struct dw_hdmi *hdmi)
++{
++ int color_format = 0;
++ u8 val;
++
++ if (hdmi->hdmi_data.enc_in_format == RGB) {
++ if (hdmi->hdmi_data.enc_color_depth == 8)
++ color_format = 0x01;
++ else if (hdmi->hdmi_data.enc_color_depth == 10)
++ color_format = 0x03;
++ else if (hdmi->hdmi_data.enc_color_depth == 12)
++ color_format = 0x05;
++ else if (hdmi->hdmi_data.enc_color_depth == 16)
++ color_format = 0x07;
++ else
++ return;
++ } else if (hdmi->hdmi_data.enc_in_format == YCBCR444) {
++ if (hdmi->hdmi_data.enc_color_depth == 8)
++ color_format = 0x09;
++ else if (hdmi->hdmi_data.enc_color_depth == 10)
++ color_format = 0x0B;
++ else if (hdmi->hdmi_data.enc_color_depth == 12)
++ color_format = 0x0D;
++ else if (hdmi->hdmi_data.enc_color_depth == 16)
++ color_format = 0x0F;
++ else
++ return;
++ } else if (hdmi->hdmi_data.enc_in_format == YCBCR422_8BITS) {
++ if (hdmi->hdmi_data.enc_color_depth == 8)
++ color_format = 0x16;
++ else if (hdmi->hdmi_data.enc_color_depth == 10)
++ color_format = 0x14;
++ else if (hdmi->hdmi_data.enc_color_depth == 12)
++ color_format = 0x12;
++ else
++ return;
++ }
++
++ val = HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_DISABLE |
++ ((color_format << HDMI_TX_INVID0_VIDEO_MAPPING_OFFSET) &
++ HDMI_TX_INVID0_VIDEO_MAPPING_MASK);
++ hdmi_writeb(hdmi, val, HDMI_TX_INVID0);
++
++ /* Enable TX stuffing: When DE is inactive, fix the output data to 0 */
++ val = HDMI_TX_INSTUFFING_BDBDATA_STUFFING_ENABLE |
++ HDMI_TX_INSTUFFING_RCRDATA_STUFFING_ENABLE |
++ HDMI_TX_INSTUFFING_GYDATA_STUFFING_ENABLE;
++ hdmi_writeb(hdmi, val, HDMI_TX_INSTUFFING);
++ hdmi_writeb(hdmi, 0x0, HDMI_TX_GYDATA0);
++ hdmi_writeb(hdmi, 0x0, HDMI_TX_GYDATA1);
++ hdmi_writeb(hdmi, 0x0, HDMI_TX_RCRDATA0);
++ hdmi_writeb(hdmi, 0x0, HDMI_TX_RCRDATA1);
++ hdmi_writeb(hdmi, 0x0, HDMI_TX_BCBDATA0);
++ hdmi_writeb(hdmi, 0x0, HDMI_TX_BCBDATA1);
++}
++
++static int is_color_space_conversion(struct dw_hdmi *hdmi)
++{
++ return hdmi->hdmi_data.enc_in_format != hdmi->hdmi_data.enc_out_format;
++}
++
++static int is_color_space_decimation(struct dw_hdmi *hdmi)
++{
++ if (hdmi->hdmi_data.enc_out_format != YCBCR422_8BITS)
++ return 0;
++ if (hdmi->hdmi_data.enc_in_format == RGB ||
++ hdmi->hdmi_data.enc_in_format == YCBCR444)
++ return 1;
++ return 0;
++}
++
++static int is_color_space_interpolation(struct dw_hdmi *hdmi)
++{
++ if (hdmi->hdmi_data.enc_in_format != YCBCR422_8BITS)
++ return 0;
++ if (hdmi->hdmi_data.enc_out_format == RGB ||
++ hdmi->hdmi_data.enc_out_format == YCBCR444)
++ return 1;
++ return 0;
++}
++
++static void dw_hdmi_update_csc_coeffs(struct dw_hdmi *hdmi)
++{
++ const u16 (*csc_coeff)[3][4] = &csc_coeff_default;
++ unsigned i;
++ u32 csc_scale = 1;
++
++ if (is_color_space_conversion(hdmi)) {
++ if (hdmi->hdmi_data.enc_out_format == RGB) {
++ if (hdmi->hdmi_data.colorimetry ==
++ HDMI_COLORIMETRY_ITU_601)
++ csc_coeff = &csc_coeff_rgb_out_eitu601;
++ else
++ csc_coeff = &csc_coeff_rgb_out_eitu709;
++ } else if (hdmi->hdmi_data.enc_in_format == RGB) {
++ if (hdmi->hdmi_data.colorimetry ==
++ HDMI_COLORIMETRY_ITU_601)
++ csc_coeff = &csc_coeff_rgb_in_eitu601;
++ else
++ csc_coeff = &csc_coeff_rgb_in_eitu709;
++ csc_scale = 0;
++ }
++ }
++
++ /* The CSC registers are sequential, alternating MSB then LSB */
++ for (i = 0; i < ARRAY_SIZE(csc_coeff_default[0]); i++) {
++ u16 coeff_a = (*csc_coeff)[0][i];
++ u16 coeff_b = (*csc_coeff)[1][i];
++ u16 coeff_c = (*csc_coeff)[2][i];
++
++ hdmi_writeb(hdmi, coeff_a & 0xff, HDMI_CSC_COEF_A1_LSB + i * 2);
++ hdmi_writeb(hdmi, coeff_a >> 8, HDMI_CSC_COEF_A1_MSB + i * 2);
++ hdmi_writeb(hdmi, coeff_b & 0xff, HDMI_CSC_COEF_B1_LSB + i * 2);
++ hdmi_writeb(hdmi, coeff_b >> 8, HDMI_CSC_COEF_B1_MSB + i * 2);
++ hdmi_writeb(hdmi, coeff_c & 0xff, HDMI_CSC_COEF_C1_LSB + i * 2);
++ hdmi_writeb(hdmi, coeff_c >> 8, HDMI_CSC_COEF_C1_MSB + i * 2);
++ }
++
++ hdmi_modb(hdmi, csc_scale, HDMI_CSC_SCALE_CSCSCALE_MASK,
++ HDMI_CSC_SCALE);
++}
++
++static void hdmi_video_csc(struct dw_hdmi *hdmi)
++{
++ int color_depth = 0;
++ int interpolation = HDMI_CSC_CFG_INTMODE_DISABLE;
++ int decimation = 0;
++
++ /* YCC422 interpolation to 444 mode */
++ if (is_color_space_interpolation(hdmi))
++ interpolation = HDMI_CSC_CFG_INTMODE_CHROMA_INT_FORMULA1;
++ else if (is_color_space_decimation(hdmi))
++ decimation = HDMI_CSC_CFG_DECMODE_CHROMA_INT_FORMULA3;
++
++ if (hdmi->hdmi_data.enc_color_depth == 8)
++ color_depth = HDMI_CSC_SCALE_CSC_COLORDE_PTH_24BPP;
++ else if (hdmi->hdmi_data.enc_color_depth == 10)
++ color_depth = HDMI_CSC_SCALE_CSC_COLORDE_PTH_30BPP;
++ else if (hdmi->hdmi_data.enc_color_depth == 12)
++ color_depth = HDMI_CSC_SCALE_CSC_COLORDE_PTH_36BPP;
++ else if (hdmi->hdmi_data.enc_color_depth == 16)
++ color_depth = HDMI_CSC_SCALE_CSC_COLORDE_PTH_48BPP;
++ else
++ return;
++
++ /* Configure the CSC registers */
++ hdmi_writeb(hdmi, interpolation | decimation, HDMI_CSC_CFG);
++ hdmi_modb(hdmi, color_depth, HDMI_CSC_SCALE_CSC_COLORDE_PTH_MASK,
++ HDMI_CSC_SCALE);
++
++ dw_hdmi_update_csc_coeffs(hdmi);
++}
++
++/*
++ * HDMI video packetizer is used to packetize the data.
++ * for example, if input is YCC422 mode or repeater is used,
++ * data should be repacked this module can be bypassed.
++ */
++static void hdmi_video_packetize(struct dw_hdmi *hdmi)
++{
++ unsigned int color_depth = 0;
++ unsigned int remap_size = HDMI_VP_REMAP_YCC422_16bit;
++ unsigned int output_select = HDMI_VP_CONF_OUTPUT_SELECTOR_PP;
++ struct hdmi_data_info *hdmi_data = &hdmi->hdmi_data;
++ u8 val, vp_conf;
++
++ if (hdmi_data->enc_out_format == RGB ||
++ hdmi_data->enc_out_format == YCBCR444) {
++ if (!hdmi_data->enc_color_depth) {
++ output_select = HDMI_VP_CONF_OUTPUT_SELECTOR_BYPASS;
++ } else if (hdmi_data->enc_color_depth == 8) {
++ color_depth = 4;
++ output_select = HDMI_VP_CONF_OUTPUT_SELECTOR_BYPASS;
++ } else if (hdmi_data->enc_color_depth == 10) {
++ color_depth = 5;
++ } else if (hdmi_data->enc_color_depth == 12) {
++ color_depth = 6;
++ } else if (hdmi_data->enc_color_depth == 16) {
++ color_depth = 7;
++ } else {
++ return;
++ }
++ } else if (hdmi_data->enc_out_format == YCBCR422_8BITS) {
++ if (!hdmi_data->enc_color_depth ||
++ hdmi_data->enc_color_depth == 8)
++ remap_size = HDMI_VP_REMAP_YCC422_16bit;
++ else if (hdmi_data->enc_color_depth == 10)
++ remap_size = HDMI_VP_REMAP_YCC422_20bit;
++ else if (hdmi_data->enc_color_depth == 12)
++ remap_size = HDMI_VP_REMAP_YCC422_24bit;
++ else
++ return;
++ output_select = HDMI_VP_CONF_OUTPUT_SELECTOR_YCC422;
++ } else {
++ return;
++ }
++
++ /* set the packetizer registers */
++ val = ((color_depth << HDMI_VP_PR_CD_COLOR_DEPTH_OFFSET) &
++ HDMI_VP_PR_CD_COLOR_DEPTH_MASK) |
++ ((hdmi_data->pix_repet_factor <<
++ HDMI_VP_PR_CD_DESIRED_PR_FACTOR_OFFSET) &
++ HDMI_VP_PR_CD_DESIRED_PR_FACTOR_MASK);
++ hdmi_writeb(hdmi, val, HDMI_VP_PR_CD);
++
++ hdmi_modb(hdmi, HDMI_VP_STUFF_PR_STUFFING_STUFFING_MODE,
++ HDMI_VP_STUFF_PR_STUFFING_MASK, HDMI_VP_STUFF);
++
++ /* Data from pixel repeater block */
++ if (hdmi_data->pix_repet_factor > 1) {
++ vp_conf = HDMI_VP_CONF_PR_EN_ENABLE |
++ HDMI_VP_CONF_BYPASS_SELECT_PIX_REPEATER;
++ } else { /* data from packetizer block */
++ vp_conf = HDMI_VP_CONF_PR_EN_DISABLE |
++ HDMI_VP_CONF_BYPASS_SELECT_VID_PACKETIZER;
++ }
++
++ hdmi_modb(hdmi, vp_conf,
++ HDMI_VP_CONF_PR_EN_MASK |
++ HDMI_VP_CONF_BYPASS_SELECT_MASK, HDMI_VP_CONF);
++
++ hdmi_modb(hdmi, 1 << HDMI_VP_STUFF_IDEFAULT_PHASE_OFFSET,
++ HDMI_VP_STUFF_IDEFAULT_PHASE_MASK, HDMI_VP_STUFF);
++
++ hdmi_writeb(hdmi, remap_size, HDMI_VP_REMAP);
++
++ if (output_select == HDMI_VP_CONF_OUTPUT_SELECTOR_PP) {
++ vp_conf = HDMI_VP_CONF_BYPASS_EN_DISABLE |
++ HDMI_VP_CONF_PP_EN_ENABLE |
++ HDMI_VP_CONF_YCC422_EN_DISABLE;
++ } else if (output_select == HDMI_VP_CONF_OUTPUT_SELECTOR_YCC422) {
++ vp_conf = HDMI_VP_CONF_BYPASS_EN_DISABLE |
++ HDMI_VP_CONF_PP_EN_DISABLE |
++ HDMI_VP_CONF_YCC422_EN_ENABLE;
++ } else if (output_select == HDMI_VP_CONF_OUTPUT_SELECTOR_BYPASS) {
++ vp_conf = HDMI_VP_CONF_BYPASS_EN_ENABLE |
++ HDMI_VP_CONF_PP_EN_DISABLE |
++ HDMI_VP_CONF_YCC422_EN_DISABLE;
++ } else {
++ return;
++ }
++
++ hdmi_modb(hdmi, vp_conf,
++ HDMI_VP_CONF_BYPASS_EN_MASK | HDMI_VP_CONF_PP_EN_ENMASK |
++ HDMI_VP_CONF_YCC422_EN_MASK, HDMI_VP_CONF);
++
++ hdmi_modb(hdmi, HDMI_VP_STUFF_PP_STUFFING_STUFFING_MODE |
++ HDMI_VP_STUFF_YCC422_STUFFING_STUFFING_MODE,
++ HDMI_VP_STUFF_PP_STUFFING_MASK |
++ HDMI_VP_STUFF_YCC422_STUFFING_MASK, HDMI_VP_STUFF);
++
++ hdmi_modb(hdmi, output_select, HDMI_VP_CONF_OUTPUT_SELECTOR_MASK,
++ HDMI_VP_CONF);
++}
++
++/* -----------------------------------------------------------------------------
++ * Synopsys PHY Handling
++ */
++
++static inline void hdmi_phy_test_clear(struct dw_hdmi *hdmi,
++ unsigned char bit)
++{
++ hdmi_modb(hdmi, bit << HDMI_PHY_TST0_TSTCLR_OFFSET,
++ HDMI_PHY_TST0_TSTCLR_MASK, HDMI_PHY_TST0);
++}
++
++static bool hdmi_phy_wait_i2c_done(struct dw_hdmi *hdmi, int msec)
++{
++ u32 val;
++
++ while ((val = hdmi_readb(hdmi, HDMI_IH_I2CMPHY_STAT0) & 0x3) == 0) {
++ if (msec-- == 0)
++ return false;
++ udelay(1000);
++ }
++ hdmi_writeb(hdmi, val, HDMI_IH_I2CMPHY_STAT0);
++
++ return true;
++}
++
++void dw_hdmi_phy_i2c_write(struct dw_hdmi *hdmi, unsigned short data,
++ unsigned char addr)
++{
++ hdmi_writeb(hdmi, 0xFF, HDMI_IH_I2CMPHY_STAT0);
++ hdmi_writeb(hdmi, addr, HDMI_PHY_I2CM_ADDRESS_ADDR);
++ hdmi_writeb(hdmi, (unsigned char)(data >> 8),
++ HDMI_PHY_I2CM_DATAO_1_ADDR);
++ hdmi_writeb(hdmi, (unsigned char)(data >> 0),
++ HDMI_PHY_I2CM_DATAO_0_ADDR);
++ hdmi_writeb(hdmi, HDMI_PHY_I2CM_OPERATION_ADDR_WRITE,
++ HDMI_PHY_I2CM_OPERATION_ADDR);
++ hdmi_phy_wait_i2c_done(hdmi, 1000);
++}
++EXPORT_SYMBOL_GPL(dw_hdmi_phy_i2c_write);
++
++static void dw_hdmi_phy_enable_powerdown(struct dw_hdmi *hdmi, bool enable)
++{
++ hdmi_mask_writeb(hdmi, !enable, HDMI_PHY_CONF0,
++ HDMI_PHY_CONF0_PDZ_OFFSET,
++ HDMI_PHY_CONF0_PDZ_MASK);
++}
++
++static void dw_hdmi_phy_enable_tmds(struct dw_hdmi *hdmi, u8 enable)
++{
++ hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
++ HDMI_PHY_CONF0_ENTMDS_OFFSET,
++ HDMI_PHY_CONF0_ENTMDS_MASK);
++}
++
++static void dw_hdmi_phy_enable_svsret(struct dw_hdmi *hdmi, u8 enable)
++{
++ hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
++ HDMI_PHY_CONF0_SVSRET_OFFSET,
++ HDMI_PHY_CONF0_SVSRET_MASK);
++}
++
++static void dw_hdmi_phy_gen2_pddq(struct dw_hdmi *hdmi, u8 enable)
++{
++ hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
++ HDMI_PHY_CONF0_GEN2_PDDQ_OFFSET,
++ HDMI_PHY_CONF0_GEN2_PDDQ_MASK);
++}
++
++static void dw_hdmi_phy_gen2_txpwron(struct dw_hdmi *hdmi, u8 enable)
++{
++ hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
++ HDMI_PHY_CONF0_GEN2_TXPWRON_OFFSET,
++ HDMI_PHY_CONF0_GEN2_TXPWRON_MASK);
++}
++
++static void dw_hdmi_phy_sel_data_en_pol(struct dw_hdmi *hdmi, u8 enable)
++{
++ hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
++ HDMI_PHY_CONF0_SELDATAENPOL_OFFSET,
++ HDMI_PHY_CONF0_SELDATAENPOL_MASK);
++}
++
++static void dw_hdmi_phy_sel_interface_control(struct dw_hdmi *hdmi, u8 enable)
++{
++ hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0,
++ HDMI_PHY_CONF0_SELDIPIF_OFFSET,
++ HDMI_PHY_CONF0_SELDIPIF_MASK);
++}
++
++static void dw_hdmi_phy_power_off(struct dw_hdmi *hdmi)
++{
++ const struct dw_hdmi_phy_data *phy = hdmi->phy.data;
++ unsigned int i;
++ u16 val;
++
++ if (phy->gen == 1) {
++ dw_hdmi_phy_enable_tmds(hdmi, 0);
++ dw_hdmi_phy_enable_powerdown(hdmi, true);
++ return;
++ }
++
++ dw_hdmi_phy_gen2_txpwron(hdmi, 0);
++
++ /*
++ * Wait for TX_PHY_LOCK to be deasserted to indicate that the PHY went
++ * to low power mode.
++ */
++ for (i = 0; i < 5; ++i) {
++ val = hdmi_readb(hdmi, HDMI_PHY_STAT0);
++ if (!(val & HDMI_PHY_TX_PHY_LOCK))
++ break;
++
++ usleep_range(1000, 2000);
++ }
++
++ if (val & HDMI_PHY_TX_PHY_LOCK)
++ dev_warn(hdmi->dev, "PHY failed to power down\n");
++ else
++ dev_dbg(hdmi->dev, "PHY powered down in %u iterations\n", i);
++
++ dw_hdmi_phy_gen2_pddq(hdmi, 1);
++}
++
++static int dw_hdmi_phy_power_on(struct dw_hdmi *hdmi)
++{
++ const struct dw_hdmi_phy_data *phy = hdmi->phy.data;
++ unsigned int i;
++ u8 val;
++
++ if (phy->gen == 1) {
++ dw_hdmi_phy_enable_powerdown(hdmi, false);
++
++ /* Toggle TMDS enable. */
++ dw_hdmi_phy_enable_tmds(hdmi, 0);
++ dw_hdmi_phy_enable_tmds(hdmi, 1);
++ return 0;
++ }
++
++ dw_hdmi_phy_gen2_txpwron(hdmi, 1);
++ dw_hdmi_phy_gen2_pddq(hdmi, 0);
++
++ /* Wait for PHY PLL lock */
++ for (i = 0; i < 5; ++i) {
++ val = hdmi_readb(hdmi, HDMI_PHY_STAT0) & HDMI_PHY_TX_PHY_LOCK;
++ if (val)
++ break;
++
++ usleep_range(1000, 2000);
++ }
++
++ if (!val) {
++ dev_err(hdmi->dev, "PHY PLL failed to lock\n");
++ return -ETIMEDOUT;
++ }
++
++ dev_dbg(hdmi->dev, "PHY PLL locked %u iterations\n", i);
++ return 0;
++}
++
++/*
++ * PHY configuration function for the DWC HDMI 3D TX PHY. Based on the available
++ * information the DWC MHL PHY has the same register layout and is thus also
++ * supported by this function.
++ */
++static int hdmi_phy_configure_dwc_hdmi_3d_tx(struct dw_hdmi *hdmi,
++ const struct dw_hdmi_plat_data *pdata,
++ unsigned long mpixelclock)
++{
++ const struct dw_hdmi_mpll_config *mpll_config = pdata->mpll_cfg;
++ const struct dw_hdmi_curr_ctrl *curr_ctrl = pdata->cur_ctr;
++ const struct dw_hdmi_phy_config *phy_config = pdata->phy_config;
++
++ /* PLL/MPLL Cfg - always match on final entry */
++ for (; mpll_config->mpixelclock != ~0UL; mpll_config++)
++ if (mpixelclock <= mpll_config->mpixelclock)
++ break;
++
++ for (; curr_ctrl->mpixelclock != ~0UL; curr_ctrl++)
++ if (mpixelclock <= curr_ctrl->mpixelclock)
++ break;
++
++ for (; phy_config->mpixelclock != ~0UL; phy_config++)
++ if (mpixelclock <= phy_config->mpixelclock)
++ break;
++
++ if (mpll_config->mpixelclock == ~0UL ||
++ curr_ctrl->mpixelclock == ~0UL ||
++ phy_config->mpixelclock == ~0UL)
++ return -EINVAL;
++
++ dw_hdmi_phy_i2c_write(hdmi, mpll_config->res[0].cpce,
++ HDMI_3D_TX_PHY_CPCE_CTRL);
++ dw_hdmi_phy_i2c_write(hdmi, mpll_config->res[0].gmp,
++ HDMI_3D_TX_PHY_GMPCTRL);
++ dw_hdmi_phy_i2c_write(hdmi, curr_ctrl->curr[0],
++ HDMI_3D_TX_PHY_CURRCTRL);
++
++ dw_hdmi_phy_i2c_write(hdmi, 0, HDMI_3D_TX_PHY_PLLPHBYCTRL);
++ dw_hdmi_phy_i2c_write(hdmi, HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_FB_CLK,
++ HDMI_3D_TX_PHY_MSM_CTRL);
++
++ dw_hdmi_phy_i2c_write(hdmi, phy_config->term, HDMI_3D_TX_PHY_TXTERM);
++ dw_hdmi_phy_i2c_write(hdmi, phy_config->sym_ctr,
++ HDMI_3D_TX_PHY_CKSYMTXCTRL);
++ dw_hdmi_phy_i2c_write(hdmi, phy_config->vlev_ctr,
++ HDMI_3D_TX_PHY_VLEVCTRL);
++
++ /* Override and disable clock termination. */
++ dw_hdmi_phy_i2c_write(hdmi, HDMI_3D_TX_PHY_CKCALCTRL_OVERRIDE,
++ HDMI_3D_TX_PHY_CKCALCTRL);
++
++ return 0;
++}
++
++static int hdmi_phy_configure(struct dw_hdmi *hdmi)
++{
++ const struct dw_hdmi_phy_data *phy = hdmi->phy.data;
++ const struct dw_hdmi_plat_data *pdata = hdmi->plat_data;
++ unsigned long mpixelclock = hdmi->hdmi_data.video_mode.mpixelclock;
++ int ret;
++
++ dw_hdmi_phy_power_off(hdmi);
++
++ /* Leave low power consumption mode by asserting SVSRET. */
++ if (phy->has_svsret)
++ dw_hdmi_phy_enable_svsret(hdmi, 1);
++
++ /* PHY reset. The reset signal is active high on Gen2 PHYs. */
++ hdmi_writeb(hdmi, HDMI_MC_PHYRSTZ_PHYRSTZ, HDMI_MC_PHYRSTZ);
++ hdmi_writeb(hdmi, 0, HDMI_MC_PHYRSTZ);
++
++ hdmi_writeb(hdmi, HDMI_MC_HEACPHY_RST_ASSERT, HDMI_MC_HEACPHY_RST);
++
++ hdmi_phy_test_clear(hdmi, 1);
++ hdmi_writeb(hdmi, HDMI_PHY_I2CM_SLAVE_ADDR_PHY_GEN2,
++ HDMI_PHY_I2CM_SLAVE_ADDR);
++ hdmi_phy_test_clear(hdmi, 0);
++
++ /* Write to the PHY as configured by the platform */
++ if (pdata->configure_phy)
++ ret = pdata->configure_phy(hdmi, pdata, mpixelclock);
++ else
++ ret = phy->configure(hdmi, pdata, mpixelclock);
++ if (ret) {
++ dev_err(hdmi->dev, "PHY configuration failed (clock %lu)\n",
++ mpixelclock);
++ return ret;
++ }
++
++ return dw_hdmi_phy_power_on(hdmi);
++}
++
++static int dw_hdmi_phy_init(struct dw_hdmi *hdmi, void *data,
++ struct drm_display_mode *mode)
++{
++ int i, ret;
++
++ /* HDMI Phy spec says to do the phy initialization sequence twice */
++ for (i = 0; i < 2; i++) {
++ dw_hdmi_phy_sel_data_en_pol(hdmi, 1);
++ dw_hdmi_phy_sel_interface_control(hdmi, 0);
++
++ ret = hdmi_phy_configure(hdmi);
++ if (ret)
++ return ret;
++ }
++
++ return 0;
++}
++
++static void dw_hdmi_phy_disable(struct dw_hdmi *hdmi, void *data)
++{
++ dw_hdmi_phy_power_off(hdmi);
++}
++
++static enum drm_connector_status dw_hdmi_phy_read_hpd(struct dw_hdmi *hdmi,
++ void *data)
++{
++ return hdmi_readb(hdmi, HDMI_PHY_STAT0) & HDMI_PHY_HPD ?
++ connector_status_connected : connector_status_disconnected;
++}
++
++static const struct dw_hdmi_phy_ops dw_hdmi_synopsys_phy_ops = {
++ .init = dw_hdmi_phy_init,
++ .disable = dw_hdmi_phy_disable,
++ .read_hpd = dw_hdmi_phy_read_hpd,
++};
++
++/* -----------------------------------------------------------------------------
++ * HDMI TX Setup
++ */
++
++static void hdmi_tx_hdcp_config(struct dw_hdmi *hdmi)
++{
++ u8 de;
++
++ if (hdmi->hdmi_data.video_mode.mdataenablepolarity)
++ de = HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_HIGH;
++ else
++ de = HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_LOW;
++
++ /* disable rx detect */
++ hdmi_modb(hdmi, HDMI_A_HDCPCFG0_RXDETECT_DISABLE,
++ HDMI_A_HDCPCFG0_RXDETECT_MASK, HDMI_A_HDCPCFG0);
++
++ hdmi_modb(hdmi, de, HDMI_A_VIDPOLCFG_DATAENPOL_MASK, HDMI_A_VIDPOLCFG);
++
++ hdmi_modb(hdmi, HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_DISABLE,
++ HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_MASK, HDMI_A_HDCPCFG1);
++}
++
++static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
++{
++ struct hdmi_avi_infoframe frame;
++ u8 val;
++
++ /* Initialise info frame from DRM mode */
++ drm_hdmi_avi_infoframe_from_display_mode(&frame, mode);
++
++ if (hdmi->hdmi_data.enc_out_format == YCBCR444)
++ frame.colorspace = HDMI_COLORSPACE_YUV444;
++ else if (hdmi->hdmi_data.enc_out_format == YCBCR422_8BITS)
++ frame.colorspace = HDMI_COLORSPACE_YUV422;
++ else
++ frame.colorspace = HDMI_COLORSPACE_RGB;
++
++ /* Set up colorimetry */
++ if (hdmi->hdmi_data.enc_out_format == XVYCC444) {
++ frame.colorimetry = HDMI_COLORIMETRY_EXTENDED;
++ if (hdmi->hdmi_data.colorimetry == HDMI_COLORIMETRY_ITU_601)
++ frame.extended_colorimetry =
++ HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
++ else /*hdmi->hdmi_data.colorimetry == HDMI_COLORIMETRY_ITU_709*/
++ frame.extended_colorimetry =
++ HDMI_EXTENDED_COLORIMETRY_XV_YCC_709;
++ } else if (hdmi->hdmi_data.enc_out_format != RGB) {
++ frame.colorimetry = hdmi->hdmi_data.colorimetry;
++ frame.extended_colorimetry = HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
++ } else { /* Carries no data */
++ frame.colorimetry = HDMI_COLORIMETRY_NONE;
++ frame.extended_colorimetry = HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
++ }
++
++ frame.scan_mode = HDMI_SCAN_MODE_NONE;
++
++ /*
++ * The Designware IP uses a different byte format from standard
++ * AVI info frames, though generally the bits are in the correct
++ * bytes.
++ */
++
++ /*
++ * AVI data byte 1 differences: Colorspace in bits 0,1 rather than 5,6,
++ * scan info in bits 4,5 rather than 0,1 and active aspect present in
++ * bit 6 rather than 4.
++ */
++ val = (frame.scan_mode & 3) << 4 | (frame.colorspace & 3);
++ if (frame.active_aspect & 15)
++ val |= HDMI_FC_AVICONF0_ACTIVE_FMT_INFO_PRESENT;
++ if (frame.top_bar || frame.bottom_bar)
++ val |= HDMI_FC_AVICONF0_BAR_DATA_HORIZ_BAR;
++ if (frame.left_bar || frame.right_bar)
++ val |= HDMI_FC_AVICONF0_BAR_DATA_VERT_BAR;
++ hdmi_writeb(hdmi, val, HDMI_FC_AVICONF0);
++
++ /* AVI data byte 2 differences: none */
++ val = ((frame.colorimetry & 0x3) << 6) |
++ ((frame.picture_aspect & 0x3) << 4) |
++ (frame.active_aspect & 0xf);
++ hdmi_writeb(hdmi, val, HDMI_FC_AVICONF1);
++
++ /* AVI data byte 3 differences: none */
++ val = ((frame.extended_colorimetry & 0x7) << 4) |
++ ((frame.quantization_range & 0x3) << 2) |
++ (frame.nups & 0x3);
++ if (frame.itc)
++ val |= HDMI_FC_AVICONF2_IT_CONTENT_VALID;
++ hdmi_writeb(hdmi, val, HDMI_FC_AVICONF2);
++
++ /* AVI data byte 4 differences: none */
++ val = frame.video_code & 0x7f;
++ hdmi_writeb(hdmi, val, HDMI_FC_AVIVID);
++
++ /* AVI Data Byte 5- set up input and output pixel repetition */
++ val = (((hdmi->hdmi_data.video_mode.mpixelrepetitioninput + 1) <<
++ HDMI_FC_PRCONF_INCOMING_PR_FACTOR_OFFSET) &
++ HDMI_FC_PRCONF_INCOMING_PR_FACTOR_MASK) |
++ ((hdmi->hdmi_data.video_mode.mpixelrepetitionoutput <<
++ HDMI_FC_PRCONF_OUTPUT_PR_FACTOR_OFFSET) &
++ HDMI_FC_PRCONF_OUTPUT_PR_FACTOR_MASK);
++ hdmi_writeb(hdmi, val, HDMI_FC_PRCONF);
++
++ /*
++ * AVI data byte 5 differences: content type in 0,1 rather than 4,5,
++ * ycc range in bits 2,3 rather than 6,7
++ */
++ val = ((frame.ycc_quantization_range & 0x3) << 2) |
++ (frame.content_type & 0x3);
++ hdmi_writeb(hdmi, val, HDMI_FC_AVICONF3);
++
++ /* AVI Data Bytes 6-13 */
++ hdmi_writeb(hdmi, frame.top_bar & 0xff, HDMI_FC_AVIETB0);
++ hdmi_writeb(hdmi, (frame.top_bar >> 8) & 0xff, HDMI_FC_AVIETB1);
++ hdmi_writeb(hdmi, frame.bottom_bar & 0xff, HDMI_FC_AVISBB0);
++ hdmi_writeb(hdmi, (frame.bottom_bar >> 8) & 0xff, HDMI_FC_AVISBB1);
++ hdmi_writeb(hdmi, frame.left_bar & 0xff, HDMI_FC_AVIELB0);
++ hdmi_writeb(hdmi, (frame.left_bar >> 8) & 0xff, HDMI_FC_AVIELB1);
++ hdmi_writeb(hdmi, frame.right_bar & 0xff, HDMI_FC_AVISRB0);
++ hdmi_writeb(hdmi, (frame.right_bar >> 8) & 0xff, HDMI_FC_AVISRB1);
++}
++
++static void hdmi_av_composer(struct dw_hdmi *hdmi,
++ const struct drm_display_mode *mode)
++{
++ u8 inv_val;
++ struct hdmi_vmode *vmode = &hdmi->hdmi_data.video_mode;
++ int hblank, vblank, h_de_hs, v_de_vs, hsync_len, vsync_len;
++ unsigned int vdisplay;
++
++ vmode->mpixelclock = mode->clock * 1000;
++
++ dev_dbg(hdmi->dev, "final pixclk = %d\n", vmode->mpixelclock);
++
++ /* Set up HDMI_FC_INVIDCONF */
++ inv_val = (hdmi->hdmi_data.hdcp_enable ?
++ HDMI_FC_INVIDCONF_HDCP_KEEPOUT_ACTIVE :
++ HDMI_FC_INVIDCONF_HDCP_KEEPOUT_INACTIVE);
++
++ inv_val |= mode->flags & DRM_MODE_FLAG_PVSYNC ?
++ HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_HIGH :
++ HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_LOW;
++
++ inv_val |= mode->flags & DRM_MODE_FLAG_PHSYNC ?
++ HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_HIGH :
++ HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_LOW;
++
++ inv_val |= (vmode->mdataenablepolarity ?
++ HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_HIGH :
++ HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_LOW);
++
++ if (hdmi->vic == 39)
++ inv_val |= HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_HIGH;
++ else
++ inv_val |= mode->flags & DRM_MODE_FLAG_INTERLACE ?
++ HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_HIGH :
++ HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_LOW;
++
++ inv_val |= mode->flags & DRM_MODE_FLAG_INTERLACE ?
++ HDMI_FC_INVIDCONF_IN_I_P_INTERLACED :
++ HDMI_FC_INVIDCONF_IN_I_P_PROGRESSIVE;
++
++ inv_val |= hdmi->sink_is_hdmi ?
++ HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE :
++ HDMI_FC_INVIDCONF_DVI_MODEZ_DVI_MODE;
++
++ hdmi_writeb(hdmi, inv_val, HDMI_FC_INVIDCONF);
++
++ vdisplay = mode->vdisplay;
++ vblank = mode->vtotal - mode->vdisplay;
++ v_de_vs = mode->vsync_start - mode->vdisplay;
++ vsync_len = mode->vsync_end - mode->vsync_start;
++
++ /*
++ * When we're setting an interlaced mode, we need
++ * to adjust the vertical timing to suit.
++ */
++ if (mode->flags & DRM_MODE_FLAG_INTERLACE) {
++ vdisplay /= 2;
++ vblank /= 2;
++ v_de_vs /= 2;
++ vsync_len /= 2;
++ }
++
++ /* Set up horizontal active pixel width */
++ hdmi_writeb(hdmi, mode->hdisplay >> 8, HDMI_FC_INHACTV1);
++ hdmi_writeb(hdmi, mode->hdisplay, HDMI_FC_INHACTV0);
++
++ /* Set up vertical active lines */
++ hdmi_writeb(hdmi, vdisplay >> 8, HDMI_FC_INVACTV1);
++ hdmi_writeb(hdmi, vdisplay, HDMI_FC_INVACTV0);
++
++ /* Set up horizontal blanking pixel region width */
++ hblank = mode->htotal - mode->hdisplay;
++ hdmi_writeb(hdmi, hblank >> 8, HDMI_FC_INHBLANK1);
++ hdmi_writeb(hdmi, hblank, HDMI_FC_INHBLANK0);
++
++ /* Set up vertical blanking pixel region width */
++ hdmi_writeb(hdmi, vblank, HDMI_FC_INVBLANK);
++
++ /* Set up HSYNC active edge delay width (in pixel clks) */
++ h_de_hs = mode->hsync_start - mode->hdisplay;
++ hdmi_writeb(hdmi, h_de_hs >> 8, HDMI_FC_HSYNCINDELAY1);
++ hdmi_writeb(hdmi, h_de_hs, HDMI_FC_HSYNCINDELAY0);
++
++ /* Set up VSYNC active edge delay (in lines) */
++ hdmi_writeb(hdmi, v_de_vs, HDMI_FC_VSYNCINDELAY);
++
++ /* Set up HSYNC active pulse width (in pixel clks) */
++ hsync_len = mode->hsync_end - mode->hsync_start;
++ hdmi_writeb(hdmi, hsync_len >> 8, HDMI_FC_HSYNCINWIDTH1);
++ hdmi_writeb(hdmi, hsync_len, HDMI_FC_HSYNCINWIDTH0);
++
++ /* Set up VSYNC active edge delay (in lines) */
++ hdmi_writeb(hdmi, vsync_len, HDMI_FC_VSYNCINWIDTH);
++}
++
++/* HDMI Initialization Step B.4 */
++static void dw_hdmi_enable_video_path(struct dw_hdmi *hdmi)
++{
++ u8 clkdis;
++
++ /* control period minimum duration */
++ hdmi_writeb(hdmi, 12, HDMI_FC_CTRLDUR);
++ hdmi_writeb(hdmi, 32, HDMI_FC_EXCTRLDUR);
++ hdmi_writeb(hdmi, 1, HDMI_FC_EXCTRLSPAC);
++
++ /* Set to fill TMDS data channels */
++ hdmi_writeb(hdmi, 0x0B, HDMI_FC_CH0PREAM);
++ hdmi_writeb(hdmi, 0x16, HDMI_FC_CH1PREAM);
++ hdmi_writeb(hdmi, 0x21, HDMI_FC_CH2PREAM);
++
++ /* Enable pixel clock and tmds data path */
++ clkdis = 0x7F;
++ clkdis &= ~HDMI_MC_CLKDIS_PIXELCLK_DISABLE;
++ hdmi_writeb(hdmi, clkdis, HDMI_MC_CLKDIS);
++
++ clkdis &= ~HDMI_MC_CLKDIS_TMDSCLK_DISABLE;
++ hdmi_writeb(hdmi, clkdis, HDMI_MC_CLKDIS);
++
++ /* Enable csc path */
++ if (is_color_space_conversion(hdmi)) {
++ clkdis &= ~HDMI_MC_CLKDIS_CSCCLK_DISABLE;
++ hdmi_writeb(hdmi, clkdis, HDMI_MC_CLKDIS);
++ }
++
++ /* Enable color space conversion if needed */
++ if (is_color_space_conversion(hdmi))
++ hdmi_writeb(hdmi, HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_IN_PATH,
++ HDMI_MC_FLOWCTRL);
++ else
++ hdmi_writeb(hdmi, HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_BYPASS,
++ HDMI_MC_FLOWCTRL);
++}
++
++static void hdmi_enable_audio_clk(struct dw_hdmi *hdmi)
++{
++ hdmi_modb(hdmi, 0, HDMI_MC_CLKDIS_AUDCLK_DISABLE, HDMI_MC_CLKDIS);
++}
++
++/* Workaround to clear the overflow condition */
++static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi)
++{
++ unsigned int count;
++ unsigned int i;
++ u8 val;
++
++ /*
++ * Under some circumstances the Frame Composer arithmetic unit can miss
++ * an FC register write due to being busy processing the previous one.
++ * The issue can be worked around by issuing a TMDS software reset and
++ * then write one of the FC registers several times.
++ *
++ * The number of iterations matters and depends on the HDMI TX revision
++ * (and possibly on the platform). So far only i.MX6Q (v1.30a) and
++ * i.MX6DL (v1.31a) have been identified as needing the workaround, with
++ * 4 and 1 iterations respectively.
++ */
++
++ switch (hdmi->version) {
++ case 0x130a:
++ count = 4;
++ break;
++ case 0x131a:
++ count = 1;
++ break;
++ default:
++ return;
++ }
++
++ /* TMDS software reset */
++ hdmi_writeb(hdmi, (u8)~HDMI_MC_SWRSTZ_TMDSSWRST_REQ, HDMI_MC_SWRSTZ);
++
++ val = hdmi_readb(hdmi, HDMI_FC_INVIDCONF);
++ for (i = 0; i < count; i++)
++ hdmi_writeb(hdmi, val, HDMI_FC_INVIDCONF);
++}
++
++static void hdmi_enable_overflow_interrupts(struct dw_hdmi *hdmi)
++{
++ hdmi_writeb(hdmi, 0, HDMI_FC_MASK2);
++ hdmi_writeb(hdmi, 0, HDMI_IH_MUTE_FC_STAT2);
++}
++
++static void hdmi_disable_overflow_interrupts(struct dw_hdmi *hdmi)
++{
++ hdmi_writeb(hdmi, HDMI_IH_MUTE_FC_STAT2_OVERFLOW_MASK,
++ HDMI_IH_MUTE_FC_STAT2);
++}
++
++static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
++{
++ int ret;
++
++ hdmi_disable_overflow_interrupts(hdmi);
++
++ hdmi->vic = drm_match_cea_mode(mode);
++
++ if (!hdmi->vic) {
++ dev_dbg(hdmi->dev, "Non-CEA mode used in HDMI\n");
++ } else {
++ dev_dbg(hdmi->dev, "CEA mode used vic=%d\n", hdmi->vic);
++ }
++
++ if ((hdmi->vic == 6) || (hdmi->vic == 7) ||
++ (hdmi->vic == 21) || (hdmi->vic == 22) ||
++ (hdmi->vic == 2) || (hdmi->vic == 3) ||
++ (hdmi->vic == 17) || (hdmi->vic == 18))
++ hdmi->hdmi_data.colorimetry = HDMI_COLORIMETRY_ITU_601;
++ else
++ hdmi->hdmi_data.colorimetry = HDMI_COLORIMETRY_ITU_709;
++
++ hdmi->hdmi_data.video_mode.mpixelrepetitionoutput = 0;
++ hdmi->hdmi_data.video_mode.mpixelrepetitioninput = 0;
++
++ /* TODO: Get input format from IPU (via FB driver interface) */
++ hdmi->hdmi_data.enc_in_format = RGB;
++
++ hdmi->hdmi_data.enc_out_format = RGB;
++
++ hdmi->hdmi_data.enc_color_depth = 8;
++ hdmi->hdmi_data.pix_repet_factor = 0;
++ hdmi->hdmi_data.hdcp_enable = 0;
++ hdmi->hdmi_data.video_mode.mdataenablepolarity = true;
++
++ /* HDMI Initialization Step B.1 */
++ hdmi_av_composer(hdmi, mode);
++
++ /* HDMI Initializateion Step B.2 */
++ ret = hdmi->phy.ops->init(hdmi, hdmi->phy.data, &hdmi->previous_mode);
++ if (ret)
++ return ret;
++ hdmi->phy.enabled = true;
++
++ /* HDMI Initialization Step B.3 */
++ dw_hdmi_enable_video_path(hdmi);
++
++ if (hdmi->sink_has_audio) {
++ dev_dbg(hdmi->dev, "sink has audio support\n");
++
++ /* HDMI Initialization Step E - Configure audio */
++ hdmi_clk_regenerator_update_pixel_clock(hdmi);
++ hdmi_enable_audio_clk(hdmi);
++ }
++
++ /* not for DVI mode */
++ if (hdmi->sink_is_hdmi) {
++ dev_dbg(hdmi->dev, "%s HDMI mode\n", __func__);
++
++ /* HDMI Initialization Step F - Configure AVI InfoFrame */
++ hdmi_config_AVI(hdmi, mode);
++ } else {
++ dev_dbg(hdmi->dev, "%s DVI mode\n", __func__);
++ }
++
++ hdmi_video_packetize(hdmi);
++ hdmi_video_csc(hdmi);
++ hdmi_video_sample(hdmi);
++ hdmi_tx_hdcp_config(hdmi);
++
++ dw_hdmi_clear_overflow(hdmi);
++ if (hdmi->cable_plugin && hdmi->sink_is_hdmi)
++ hdmi_enable_overflow_interrupts(hdmi);
++
++ return 0;
++}
++
++/* Wait until we are registered to enable interrupts */
++static int dw_hdmi_fb_registered(struct dw_hdmi *hdmi)
++{
++ hdmi_writeb(hdmi, HDMI_PHY_I2CM_INT_ADDR_DONE_POL,
++ HDMI_PHY_I2CM_INT_ADDR);
++
++ hdmi_writeb(hdmi, HDMI_PHY_I2CM_CTLINT_ADDR_NAC_POL |
++ HDMI_PHY_I2CM_CTLINT_ADDR_ARBITRATION_POL,
++ HDMI_PHY_I2CM_CTLINT_ADDR);
++
++ /* enable cable hot plug irq */
++ hdmi_writeb(hdmi, hdmi->phy_mask, HDMI_PHY_MASK0);
++
++ /* Clear Hotplug interrupts */
++ hdmi_writeb(hdmi, HDMI_IH_PHY_STAT0_HPD | HDMI_IH_PHY_STAT0_RX_SENSE,
++ HDMI_IH_PHY_STAT0);
++
++ return 0;
++}
++
++static void initialize_hdmi_ih_mutes(struct dw_hdmi *hdmi)
++{
++ u8 ih_mute;
++
++ /*
++ * Boot up defaults are:
++ * HDMI_IH_MUTE = 0x03 (disabled)
++ * HDMI_IH_MUTE_* = 0x00 (enabled)
++ *
++ * Disable top level interrupt bits in HDMI block
++ */
++ ih_mute = hdmi_readb(hdmi, HDMI_IH_MUTE) |
++ HDMI_IH_MUTE_MUTE_WAKEUP_INTERRUPT |
++ HDMI_IH_MUTE_MUTE_ALL_INTERRUPT;
++
++ hdmi_writeb(hdmi, ih_mute, HDMI_IH_MUTE);
++
++ /* by default mask all interrupts */
++ hdmi_writeb(hdmi, 0xff, HDMI_VP_MASK);
++ hdmi_writeb(hdmi, 0xff, HDMI_FC_MASK0);
++ hdmi_writeb(hdmi, 0xff, HDMI_FC_MASK1);
++ hdmi_writeb(hdmi, 0xff, HDMI_FC_MASK2);
++ hdmi_writeb(hdmi, 0xff, HDMI_PHY_MASK0);
++ hdmi_writeb(hdmi, 0xff, HDMI_PHY_I2CM_INT_ADDR);
++ hdmi_writeb(hdmi, 0xff, HDMI_PHY_I2CM_CTLINT_ADDR);
++ hdmi_writeb(hdmi, 0xff, HDMI_AUD_INT);
++ hdmi_writeb(hdmi, 0xff, HDMI_AUD_SPDIFINT);
++ hdmi_writeb(hdmi, 0xff, HDMI_AUD_HBR_MASK);
++ hdmi_writeb(hdmi, 0xff, HDMI_GP_MASK);
++ hdmi_writeb(hdmi, 0xff, HDMI_A_APIINTMSK);
++ hdmi_writeb(hdmi, 0xff, HDMI_CEC_MASK);
++ hdmi_writeb(hdmi, 0xff, HDMI_I2CM_INT);
++ hdmi_writeb(hdmi, 0xff, HDMI_I2CM_CTLINT);
++
++ /* Disable interrupts in the IH_MUTE_* registers */
++ hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_FC_STAT0);
++ hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_FC_STAT1);
++ hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_FC_STAT2);
++ hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_AS_STAT0);
++ hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_PHY_STAT0);
++ hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_I2CM_STAT0);
++ hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_CEC_STAT0);
++ hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_VP_STAT0);
++ hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_I2CMPHY_STAT0);
++ hdmi_writeb(hdmi, 0xff, HDMI_IH_MUTE_AHBDMAAUD_STAT0);
++
++ /* Enable top level interrupt bits in HDMI block */
++ ih_mute &= ~(HDMI_IH_MUTE_MUTE_WAKEUP_INTERRUPT |
++ HDMI_IH_MUTE_MUTE_ALL_INTERRUPT);
++ hdmi_writeb(hdmi, ih_mute, HDMI_IH_MUTE);
++}
++
++static void dw_hdmi_poweron(struct dw_hdmi *hdmi)
++{
++ hdmi->bridge_is_on = true;
++ dw_hdmi_setup(hdmi, &hdmi->previous_mode);
++}
++
++static void dw_hdmi_poweroff(struct dw_hdmi *hdmi)
++{
++ if (hdmi->phy.enabled) {
++ hdmi->phy.ops->disable(hdmi, hdmi->phy.data);
++ hdmi->phy.enabled = false;
++ }
++
++ hdmi->bridge_is_on = false;
++}
++
++static void dw_hdmi_update_power(struct dw_hdmi *hdmi)
++{
++ int force = hdmi->force;
++
++ if (hdmi->disabled) {
++ force = DRM_FORCE_OFF;
++ } else if (force == DRM_FORCE_UNSPECIFIED) {
++ if (hdmi->rxsense)
++ force = DRM_FORCE_ON;
++ else
++ force = DRM_FORCE_OFF;
++ }
++
++ if (force == DRM_FORCE_OFF) {
++ if (hdmi->bridge_is_on)
++ dw_hdmi_poweroff(hdmi);
++ } else {
++ if (!hdmi->bridge_is_on)
++ dw_hdmi_poweron(hdmi);
++ }
++}
++
++/*
++ * Adjust the detection of RXSENSE according to whether we have a forced
++ * connection mode enabled, or whether we have been disabled. There is
++ * no point processing RXSENSE interrupts if we have a forced connection
++ * state, or DRM has us disabled.
++ *
++ * We also disable rxsense interrupts when we think we're disconnected
++ * to avoid floating TDMS signals giving false rxsense interrupts.
++ *
++ * Note: we still need to listen for HPD interrupts even when DRM has us
++ * disabled so that we can detect a connect event.
++ */
++static void dw_hdmi_update_phy_mask(struct dw_hdmi *hdmi)
++{
++ u8 old_mask = hdmi->phy_mask;
++
++ if (hdmi->force || hdmi->disabled || !hdmi->rxsense)
++ hdmi->phy_mask |= HDMI_PHY_RX_SENSE;
++ else
++ hdmi->phy_mask &= ~HDMI_PHY_RX_SENSE;
++
++ if (old_mask != hdmi->phy_mask)
++ hdmi_writeb(hdmi, hdmi->phy_mask, HDMI_PHY_MASK0);
++}
++
++static enum drm_connector_status
++dw_hdmi_connector_detect(struct drm_connector *connector, bool force)
++{
++ struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi,
++ connector);
++
++ mutex_lock(&hdmi->mutex);
++ hdmi->force = DRM_FORCE_UNSPECIFIED;
++ dw_hdmi_update_power(hdmi);
++ dw_hdmi_update_phy_mask(hdmi);
++ mutex_unlock(&hdmi->mutex);
++
++ return hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data);
++}
++
++static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
++{
++ struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi,
++ connector);
++ struct edid *edid;
++ int ret = 0;
++
++ if (!hdmi->ddc)
++ return 0;
++
++ edid = drm_get_edid(connector, hdmi->ddc);
++ if (edid) {
++ dev_dbg(hdmi->dev, "got edid: width[%d] x height[%d]\n",
++ edid->width_cm, edid->height_cm);
++
++ hdmi->sink_is_hdmi = drm_detect_hdmi_monitor(edid);
++ hdmi->sink_has_audio = drm_detect_monitor_audio(edid);
++ drm_mode_connector_update_edid_property(connector, edid);
++ ret = drm_add_edid_modes(connector, edid);
++ /* Store the ELD */
++ drm_edid_to_eld(connector, edid);
++ kfree(edid);
++ } else {
++ dev_dbg(hdmi->dev, "failed to get edid\n");
++ }
++
++ return ret;
++}
++
++static enum drm_mode_status
++dw_hdmi_connector_mode_valid(struct drm_connector *connector,
++ struct drm_display_mode *mode)
++{
++ struct dw_hdmi *hdmi = container_of(connector,
++ struct dw_hdmi, connector);
++ enum drm_mode_status mode_status = MODE_OK;
++
++ /* We don't support double-clocked modes */
++ if (mode->flags & DRM_MODE_FLAG_DBLCLK)
++ return MODE_BAD;
++
++ if (hdmi->plat_data->mode_valid)
++ mode_status = hdmi->plat_data->mode_valid(connector, mode);
++
++ return mode_status;
++}
++
++static void dw_hdmi_connector_force(struct drm_connector *connector)
++{
++ struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi,
++ connector);
++
++ mutex_lock(&hdmi->mutex);
++ hdmi->force = connector->force;
++ dw_hdmi_update_power(hdmi);
++ dw_hdmi_update_phy_mask(hdmi);
++ mutex_unlock(&hdmi->mutex);
++}
++
++static const struct drm_connector_funcs dw_hdmi_connector_funcs = {
++ .dpms = drm_atomic_helper_connector_dpms,
++ .fill_modes = drm_helper_probe_single_connector_modes,
++ .detect = dw_hdmi_connector_detect,
++ .destroy = drm_connector_cleanup,
++ .force = dw_hdmi_connector_force,
++ .reset = drm_atomic_helper_connector_reset,
++ .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
++ .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
++};
++
++static const struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs = {
++ .get_modes = dw_hdmi_connector_get_modes,
++ .mode_valid = dw_hdmi_connector_mode_valid,
++ .best_encoder = drm_atomic_helper_best_encoder,
++};
++
++static int dw_hdmi_bridge_attach(struct drm_bridge *bridge)
++{
++ struct dw_hdmi *hdmi = bridge->driver_private;
++ struct drm_encoder *encoder = bridge->encoder;
++ struct drm_connector *connector = &hdmi->connector;
++
++ connector->interlace_allowed = 1;
++ connector->polled = DRM_CONNECTOR_POLL_HPD;
++
++ drm_connector_helper_add(connector, &dw_hdmi_connector_helper_funcs);
++
++ drm_connector_init(bridge->dev, connector, &dw_hdmi_connector_funcs,
++ DRM_MODE_CONNECTOR_HDMIA);
++
++ drm_mode_connector_attach_encoder(connector, encoder);
++
++ return 0;
++}
++
++static void dw_hdmi_bridge_mode_set(struct drm_bridge *bridge,
++ struct drm_display_mode *orig_mode,
++ struct drm_display_mode *mode)
++{
++ struct dw_hdmi *hdmi = bridge->driver_private;
++
++ mutex_lock(&hdmi->mutex);
++
++ /* Store the display mode for plugin/DKMS poweron events */
++ memcpy(&hdmi->previous_mode, mode, sizeof(hdmi->previous_mode));
++
++ mutex_unlock(&hdmi->mutex);
++}
++
++static void dw_hdmi_bridge_disable(struct drm_bridge *bridge)
++{
++ struct dw_hdmi *hdmi = bridge->driver_private;
++
++ mutex_lock(&hdmi->mutex);
++ hdmi->disabled = true;
++ dw_hdmi_update_power(hdmi);
++ dw_hdmi_update_phy_mask(hdmi);
++ mutex_unlock(&hdmi->mutex);
++}
++
++static void dw_hdmi_bridge_enable(struct drm_bridge *bridge)
++{
++ struct dw_hdmi *hdmi = bridge->driver_private;
++
++ mutex_lock(&hdmi->mutex);
++ hdmi->disabled = false;
++ dw_hdmi_update_power(hdmi);
++ dw_hdmi_update_phy_mask(hdmi);
++ mutex_unlock(&hdmi->mutex);
++}
++
++static const struct drm_bridge_funcs dw_hdmi_bridge_funcs = {
++ .attach = dw_hdmi_bridge_attach,
++ .enable = dw_hdmi_bridge_enable,
++ .disable = dw_hdmi_bridge_disable,
++ .mode_set = dw_hdmi_bridge_mode_set,
++};
++
++static irqreturn_t dw_hdmi_i2c_irq(struct dw_hdmi *hdmi)
++{
++ struct dw_hdmi_i2c *i2c = hdmi->i2c;
++ unsigned int stat;
++
++ stat = hdmi_readb(hdmi, HDMI_IH_I2CM_STAT0);
++ if (!stat)
++ return IRQ_NONE;
++
++ hdmi_writeb(hdmi, stat, HDMI_IH_I2CM_STAT0);
++
++ i2c->stat = stat;
++
++ complete(&i2c->cmp);
++
++ return IRQ_HANDLED;
++}
++
++static irqreturn_t dw_hdmi_hardirq(int irq, void *dev_id)
++{
++ struct dw_hdmi *hdmi = dev_id;
++ u8 intr_stat;
++ irqreturn_t ret = IRQ_NONE;
++
++ if (hdmi->i2c)
++ ret = dw_hdmi_i2c_irq(hdmi);
++
++ intr_stat = hdmi_readb(hdmi, HDMI_IH_PHY_STAT0);
++ if (intr_stat) {
++ hdmi_writeb(hdmi, ~0, HDMI_IH_MUTE_PHY_STAT0);
++ return IRQ_WAKE_THREAD;
++ }
++
++ return ret;
++}
++
++static irqreturn_t dw_hdmi_irq(int irq, void *dev_id)
++{
++ struct dw_hdmi *hdmi = dev_id;
++ u8 intr_stat, phy_int_pol, phy_pol_mask, phy_stat;
++
++ intr_stat = hdmi_readb(hdmi, HDMI_IH_PHY_STAT0);
++ phy_int_pol = hdmi_readb(hdmi, HDMI_PHY_POL0);
++ phy_stat = hdmi_readb(hdmi, HDMI_PHY_STAT0);
++
++ phy_pol_mask = 0;
++ if (intr_stat & HDMI_IH_PHY_STAT0_HPD)
++ phy_pol_mask |= HDMI_PHY_HPD;
++ if (intr_stat & HDMI_IH_PHY_STAT0_RX_SENSE0)
++ phy_pol_mask |= HDMI_PHY_RX_SENSE0;
++ if (intr_stat & HDMI_IH_PHY_STAT0_RX_SENSE1)
++ phy_pol_mask |= HDMI_PHY_RX_SENSE1;
++ if (intr_stat & HDMI_IH_PHY_STAT0_RX_SENSE2)
++ phy_pol_mask |= HDMI_PHY_RX_SENSE2;
++ if (intr_stat & HDMI_IH_PHY_STAT0_RX_SENSE3)
++ phy_pol_mask |= HDMI_PHY_RX_SENSE3;
++
++ if (phy_pol_mask)
++ hdmi_modb(hdmi, ~phy_int_pol, phy_pol_mask, HDMI_PHY_POL0);
++
++ /*
++ * RX sense tells us whether the TDMS transmitters are detecting
++ * load - in other words, there's something listening on the
++ * other end of the link. Use this to decide whether we should
++ * power on the phy as HPD may be toggled by the sink to merely
++ * ask the source to re-read the EDID.
++ */
++ if (intr_stat &
++ (HDMI_IH_PHY_STAT0_RX_SENSE | HDMI_IH_PHY_STAT0_HPD)) {
++ mutex_lock(&hdmi->mutex);
++ if (!hdmi->disabled && !hdmi->force) {
++ /*
++ * If the RX sense status indicates we're disconnected,
++ * clear the software rxsense status.
++ */
++ if (!(phy_stat & HDMI_PHY_RX_SENSE))
++ hdmi->rxsense = false;
++
++ /*
++ * Only set the software rxsense status when both
++ * rxsense and hpd indicates we're connected.
++ * This avoids what seems to be bad behaviour in
++ * at least iMX6S versions of the phy.
++ */
++ if (phy_stat & HDMI_PHY_HPD)
++ hdmi->rxsense = true;
++
++ dw_hdmi_update_power(hdmi);
++ dw_hdmi_update_phy_mask(hdmi);
++ }
++ mutex_unlock(&hdmi->mutex);
++ }
++
++ if (intr_stat & HDMI_IH_PHY_STAT0_HPD) {
++ dev_dbg(hdmi->dev, "EVENT=%s\n",
++ phy_int_pol & HDMI_PHY_HPD ? "plugin" : "plugout");
++ if (hdmi->bridge.dev)
++ drm_helper_hpd_irq_event(hdmi->bridge.dev);
++ }
++
++ hdmi_writeb(hdmi, intr_stat, HDMI_IH_PHY_STAT0);
++ hdmi_writeb(hdmi, ~(HDMI_IH_PHY_STAT0_HPD | HDMI_IH_PHY_STAT0_RX_SENSE),
++ HDMI_IH_MUTE_PHY_STAT0);
++
++ return IRQ_HANDLED;
++}
++
++static const struct dw_hdmi_phy_data dw_hdmi_phys[] = {
++ {
++ .type = DW_HDMI_PHY_DWC_HDMI_TX_PHY,
++ .name = "DWC HDMI TX PHY",
++ .gen = 1,
++ }, {
++ .type = DW_HDMI_PHY_DWC_MHL_PHY_HEAC,
++ .name = "DWC MHL PHY + HEAC PHY",
++ .gen = 2,
++ .has_svsret = true,
++ .configure = hdmi_phy_configure_dwc_hdmi_3d_tx,
++ }, {
++ .type = DW_HDMI_PHY_DWC_MHL_PHY,
++ .name = "DWC MHL PHY",
++ .gen = 2,
++ .has_svsret = true,
++ .configure = hdmi_phy_configure_dwc_hdmi_3d_tx,
++ }, {
++ .type = DW_HDMI_PHY_DWC_HDMI_3D_TX_PHY_HEAC,
++ .name = "DWC HDMI 3D TX PHY + HEAC PHY",
++ .gen = 2,
++ .configure = hdmi_phy_configure_dwc_hdmi_3d_tx,
++ }, {
++ .type = DW_HDMI_PHY_DWC_HDMI_3D_TX_PHY,
++ .name = "DWC HDMI 3D TX PHY",
++ .gen = 2,
++ .configure = hdmi_phy_configure_dwc_hdmi_3d_tx,
++ }, {
++ .type = DW_HDMI_PHY_DWC_HDMI20_TX_PHY,
++ .name = "DWC HDMI 2.0 TX PHY",
++ .gen = 2,
++ .has_svsret = true,
++ }, {
++ .type = DW_HDMI_PHY_VENDOR_PHY,
++ .name = "Vendor PHY",
++ }
++};
++
++static int dw_hdmi_detect_phy(struct dw_hdmi *hdmi)
++{
++ unsigned int i;
++ u8 phy_type;
++
++ phy_type = hdmi_readb(hdmi, HDMI_CONFIG2_ID);
++
++ if (phy_type == DW_HDMI_PHY_VENDOR_PHY) {
++ /* Vendor PHYs require support from the glue layer. */
++ if (!hdmi->plat_data->phy_ops || !hdmi->plat_data->phy_name) {
++ dev_err(hdmi->dev,
++ "Vendor HDMI PHY not supported by glue layer\n");
++ return -ENODEV;
++ }
++
++ hdmi->phy.ops = hdmi->plat_data->phy_ops;
++ hdmi->phy.data = hdmi->plat_data->phy_data;
++ hdmi->phy.name = hdmi->plat_data->phy_name;
++ return 0;
++ }
++
++ /* Synopsys PHYs are handled internally. */
++ for (i = 0; i < ARRAY_SIZE(dw_hdmi_phys); ++i) {
++ if (dw_hdmi_phys[i].type == phy_type) {
++ hdmi->phy.ops = &dw_hdmi_synopsys_phy_ops;
++ hdmi->phy.name = dw_hdmi_phys[i].name;
++ hdmi->phy.data = (void *)&dw_hdmi_phys[i];
++
++ if (!dw_hdmi_phys[i].configure &&
++ !hdmi->plat_data->configure_phy) {
++ dev_err(hdmi->dev, "%s requires platform support\n",
++ hdmi->phy.name);
++ return -ENODEV;
++ }
++
++ return 0;
++ }
++ }
++
++ dev_err(hdmi->dev, "Unsupported HDMI PHY type (%02x)\n", phy_type);
++ return -ENODEV;
++}
++
++static const struct regmap_config hdmi_regmap_8bit_config = {
++ .reg_bits = 32,
++ .val_bits = 8,
++ .reg_stride = 1,
++ .max_register = HDMI_I2CM_FS_SCL_LCNT_0_ADDR,
++};
++
++static const struct regmap_config hdmi_regmap_32bit_config = {
++ .reg_bits = 32,
++ .val_bits = 32,
++ .reg_stride = 4,
++ .max_register = HDMI_I2CM_FS_SCL_LCNT_0_ADDR << 2,
++};
++
++static struct dw_hdmi *
++__dw_hdmi_probe(struct platform_device *pdev,
++ const struct dw_hdmi_plat_data *plat_data)
++{
++ struct device *dev = &pdev->dev;
++ struct device_node *np = dev->of_node;
++ struct platform_device_info pdevinfo;
++ struct device_node *ddc_node;
++ struct dw_hdmi *hdmi;
++ struct resource *iores = NULL;
++ int irq;
++ int ret;
++ u32 val = 1;
++ u8 prod_id0;
++ u8 prod_id1;
++ u8 config0;
++ u8 config3;
++
++ hdmi = devm_kzalloc(dev, sizeof(*hdmi), GFP_KERNEL);
++ if (!hdmi)
++ return ERR_PTR(-ENOMEM);
++
++ hdmi->plat_data = plat_data;
++ hdmi->dev = dev;
++ hdmi->sample_rate = 48000;
++ hdmi->disabled = true;
++ hdmi->rxsense = true;
++ hdmi->phy_mask = (u8)~(HDMI_PHY_HPD | HDMI_PHY_RX_SENSE);
++
++ mutex_init(&hdmi->mutex);
++ mutex_init(&hdmi->audio_mutex);
++ spin_lock_init(&hdmi->audio_lock);
++
++ ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
++ if (ddc_node) {
++ hdmi->ddc = of_get_i2c_adapter_by_node(ddc_node);
++ of_node_put(ddc_node);
++ if (!hdmi->ddc) {
++ dev_dbg(hdmi->dev, "failed to read ddc node\n");
++ return ERR_PTR(-EPROBE_DEFER);
++ }
++
++ } else {
++ dev_dbg(hdmi->dev, "no ddc property found\n");
++ }
++
++ if (!plat_data->regm) {
++ const struct regmap_config *reg_config;
++
++ of_property_read_u32(np, "reg-io-width", &val);
++ switch (val) {
++ case 4:
++ reg_config = &hdmi_regmap_32bit_config;
++ hdmi->reg_shift = 2;
++ break;
++ case 1:
++ reg_config = &hdmi_regmap_8bit_config;
++ break;
++ default:
++ dev_err(dev, "reg-io-width must be 1 or 4\n");
++ return ERR_PTR(-EINVAL);
++ }
++
++ iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ hdmi->regs = devm_ioremap_resource(dev, iores);
++ if (IS_ERR(hdmi->regs)) {
++ ret = PTR_ERR(hdmi->regs);
++ goto err_res;
++ }
++
++ hdmi->regm = devm_regmap_init_mmio(dev, hdmi->regs, reg_config);
++ if (IS_ERR(hdmi->regm)) {
++ dev_err(dev, "Failed to configure regmap\n");
++ ret = PTR_ERR(hdmi->regm);
++ goto err_res;
++ }
++ } else {
++ hdmi->regm = plat_data->regm;
++ }
++
++ hdmi->isfr_clk = devm_clk_get(hdmi->dev, "isfr");
++ if (IS_ERR(hdmi->isfr_clk)) {
++ ret = PTR_ERR(hdmi->isfr_clk);
++ dev_err(hdmi->dev, "Unable to get HDMI isfr clk: %d\n", ret);
++ goto err_res;
++ }
++
++ ret = clk_prepare_enable(hdmi->isfr_clk);
++ if (ret) {
++ dev_err(hdmi->dev, "Cannot enable HDMI isfr clock: %d\n", ret);
++ goto err_res;
++ }
++
++ hdmi->iahb_clk = devm_clk_get(hdmi->dev, "iahb");
++ if (IS_ERR(hdmi->iahb_clk)) {
++ ret = PTR_ERR(hdmi->iahb_clk);
++ dev_err(hdmi->dev, "Unable to get HDMI iahb clk: %d\n", ret);
++ goto err_isfr;
++ }
++
++ ret = clk_prepare_enable(hdmi->iahb_clk);
++ if (ret) {
++ dev_err(hdmi->dev, "Cannot enable HDMI iahb clock: %d\n", ret);
++ goto err_isfr;
++ }
++
++ /* Product and revision IDs */
++ hdmi->version = (hdmi_readb(hdmi, HDMI_DESIGN_ID) << 8)
++ | (hdmi_readb(hdmi, HDMI_REVISION_ID) << 0);
++ prod_id0 = hdmi_readb(hdmi, HDMI_PRODUCT_ID0);
++ prod_id1 = hdmi_readb(hdmi, HDMI_PRODUCT_ID1);
++
++ if (prod_id0 != HDMI_PRODUCT_ID0_HDMI_TX ||
++ (prod_id1 & ~HDMI_PRODUCT_ID1_HDCP) != HDMI_PRODUCT_ID1_HDMI_TX) {
++ dev_err(dev, "Unsupported HDMI controller (%04x:%02x:%02x)\n",
++ hdmi->version, prod_id0, prod_id1);
++ ret = -ENODEV;
++ goto err_iahb;
++ }
++
++ ret = dw_hdmi_detect_phy(hdmi);
++ if (ret < 0)
++ goto err_iahb;
++
++ dev_info(dev, "Detected HDMI TX controller v%x.%03x %s HDCP (%s)\n",
++ hdmi->version >> 12, hdmi->version & 0xfff,
++ prod_id1 & HDMI_PRODUCT_ID1_HDCP ? "with" : "without",
++ hdmi->phy.name);
++
++ initialize_hdmi_ih_mutes(hdmi);
++
++ irq = platform_get_irq(pdev, 0);
++ if (irq < 0) {
++ ret = irq;
++ goto err_iahb;
++ }
++
++ ret = devm_request_threaded_irq(dev, irq, dw_hdmi_hardirq,
++ dw_hdmi_irq, IRQF_SHARED,
++ dev_name(dev), hdmi);
++ if (ret)
++ goto err_iahb;
++
++ /*
++ * To prevent overflows in HDMI_IH_FC_STAT2, set the clk regenerator
++ * N and cts values before enabling phy
++ */
++ hdmi_init_clk_regenerator(hdmi);
++
++ /* If DDC bus is not specified, try to register HDMI I2C bus */
++ if (!hdmi->ddc) {
++ hdmi->ddc = dw_hdmi_i2c_adapter(hdmi);
++ if (IS_ERR(hdmi->ddc))
++ hdmi->ddc = NULL;
++ }
++
++ /*
++ * Configure registers related to HDMI interrupt
++ * generation before registering IRQ.
++ */
++ hdmi_writeb(hdmi, HDMI_PHY_HPD | HDMI_PHY_RX_SENSE, HDMI_PHY_POL0);
++
++ /* Clear Hotplug interrupts */
++ hdmi_writeb(hdmi, HDMI_IH_PHY_STAT0_HPD | HDMI_IH_PHY_STAT0_RX_SENSE,
++ HDMI_IH_PHY_STAT0);
++
++ hdmi->bridge.driver_private = hdmi;
++ hdmi->bridge.funcs = &dw_hdmi_bridge_funcs;
++#ifdef CONFIG_OF
++ hdmi->bridge.of_node = pdev->dev.of_node;
++#endif
++
++ ret = dw_hdmi_fb_registered(hdmi);
++ if (ret)
++ goto err_iahb;
++
++ /* Unmute interrupts */
++ hdmi_writeb(hdmi, ~(HDMI_IH_PHY_STAT0_HPD | HDMI_IH_PHY_STAT0_RX_SENSE),
++ HDMI_IH_MUTE_PHY_STAT0);
++
++ memset(&pdevinfo, 0, sizeof(pdevinfo));
++ pdevinfo.parent = dev;
++ pdevinfo.id = PLATFORM_DEVID_AUTO;
++
++ config0 = hdmi_readb(hdmi, HDMI_CONFIG0_ID);
++ config3 = hdmi_readb(hdmi, HDMI_CONFIG3_ID);
++
++ if (iores && config3 & HDMI_CONFIG3_AHBAUDDMA) {
++ struct dw_hdmi_audio_data audio;
++
++ audio.phys = iores->start;
++ audio.base = hdmi->regs;
++ audio.irq = irq;
++ audio.hdmi = hdmi;
++ audio.eld = hdmi->connector.eld;
++
++ pdevinfo.name = "dw-hdmi-ahb-audio";
++ pdevinfo.data = &audio;
++ pdevinfo.size_data = sizeof(audio);
++ pdevinfo.dma_mask = DMA_BIT_MASK(32);
++ hdmi->audio = platform_device_register_full(&pdevinfo);
++ } else if (config0 & HDMI_CONFIG0_I2S) {
++ struct dw_hdmi_i2s_audio_data audio;
++
++ audio.hdmi = hdmi;
++ audio.write = hdmi_writeb;
++ audio.read = hdmi_readb;
++
++ pdevinfo.name = "dw-hdmi-i2s-audio";
++ pdevinfo.data = &audio;
++ pdevinfo.size_data = sizeof(audio);
++ pdevinfo.dma_mask = DMA_BIT_MASK(32);
++ hdmi->audio = platform_device_register_full(&pdevinfo);
++ }
++
++ /* Reset HDMI DDC I2C master controller and mute I2CM interrupts */
++ if (hdmi->i2c)
++ dw_hdmi_i2c_init(hdmi);
++
++ platform_set_drvdata(pdev, hdmi);
++
++ return hdmi;
++
++err_iahb:
++ if (hdmi->i2c) {
++ i2c_del_adapter(&hdmi->i2c->adap);
++ hdmi->ddc = NULL;
++ }
++
++ clk_disable_unprepare(hdmi->iahb_clk);
++err_isfr:
++ clk_disable_unprepare(hdmi->isfr_clk);
++err_res:
++ i2c_put_adapter(hdmi->ddc);
++
++ return ERR_PTR(ret);
++}
++
++static void __dw_hdmi_remove(struct dw_hdmi *hdmi)
++{
++ if (hdmi->audio && !IS_ERR(hdmi->audio))
++ platform_device_unregister(hdmi->audio);
++
++ /* Disable all interrupts */
++ hdmi_writeb(hdmi, ~0, HDMI_IH_MUTE_PHY_STAT0);
++
++ clk_disable_unprepare(hdmi->iahb_clk);
++ clk_disable_unprepare(hdmi->isfr_clk);
++
++ if (hdmi->i2c)
++ i2c_del_adapter(&hdmi->i2c->adap);
++ else
++ i2c_put_adapter(hdmi->ddc);
++}
++
++/* -----------------------------------------------------------------------------
++ * Probe/remove API, used from platforms based on the DRM bridge API.
++ */
++int dw_hdmi_probe(struct platform_device *pdev,
++ const struct dw_hdmi_plat_data *plat_data)
++{
++ struct dw_hdmi *hdmi;
++ int ret;
++
++ hdmi = __dw_hdmi_probe(pdev, plat_data);
++ if (IS_ERR(hdmi))
++ return PTR_ERR(hdmi);
++
++ ret = drm_bridge_add(&hdmi->bridge);
++ if (ret < 0) {
++ __dw_hdmi_remove(hdmi);
++ return ret;
++ }
++
++ return 0;
++}
++EXPORT_SYMBOL_GPL(dw_hdmi_probe);
++
++void dw_hdmi_remove(struct platform_device *pdev)
++{
++ struct dw_hdmi *hdmi = platform_get_drvdata(pdev);
++
++ drm_bridge_remove(&hdmi->bridge);
++
++ __dw_hdmi_remove(hdmi);
++}
++EXPORT_SYMBOL_GPL(dw_hdmi_remove);
++
++/* -----------------------------------------------------------------------------
++ * Bind/unbind API, used from platforms based on the component framework.
++ */
++int dw_hdmi_bind(struct platform_device *pdev, struct drm_encoder *encoder,
++ const struct dw_hdmi_plat_data *plat_data)
++{
++ struct dw_hdmi *hdmi;
++ int ret;
++
++ hdmi = __dw_hdmi_probe(pdev, plat_data);
++ if (IS_ERR(hdmi))
++ return PTR_ERR(hdmi);
++
++ ret = drm_bridge_attach(encoder, &hdmi->bridge, NULL);
++ if (ret) {
++ dw_hdmi_remove(pdev);
++ DRM_ERROR("Failed to initialize bridge with drm\n");
++ return ret;
++ }
++
++ return 0;
++}
++EXPORT_SYMBOL_GPL(dw_hdmi_bind);
++
++void dw_hdmi_unbind(struct device *dev)
++{
++ struct dw_hdmi *hdmi = dev_get_drvdata(dev);
++
++ __dw_hdmi_remove(hdmi);
++}
++EXPORT_SYMBOL_GPL(dw_hdmi_unbind);
++
++MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>");
++MODULE_AUTHOR("Andy Yan <andy.yan@rock-chips.com>");
++MODULE_AUTHOR("Yakir Yang <ykk@rock-chips.com>");
++MODULE_AUTHOR("Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>");
++MODULE_DESCRIPTION("DW HDMI transmitter driver");
++MODULE_LICENSE("GPL");
++MODULE_ALIAS("platform:dw-hdmi");
+--- /dev/null
++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
+@@ -0,0 +1,1153 @@
++/*
++ * Copyright (C) 2011 Freescale Semiconductor, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ */
++
++#ifndef __DW_HDMI_H__
++#define __DW_HDMI_H__
++
++/* Identification Registers */
++#define HDMI_DESIGN_ID 0x0000
++#define HDMI_REVISION_ID 0x0001
++#define HDMI_PRODUCT_ID0 0x0002
++#define HDMI_PRODUCT_ID1 0x0003
++#define HDMI_CONFIG0_ID 0x0004
++#define HDMI_CONFIG1_ID 0x0005
++#define HDMI_CONFIG2_ID 0x0006
++#define HDMI_CONFIG3_ID 0x0007
++
++/* Interrupt Registers */
++#define HDMI_IH_FC_STAT0 0x0100
++#define HDMI_IH_FC_STAT1 0x0101
++#define HDMI_IH_FC_STAT2 0x0102
++#define HDMI_IH_AS_STAT0 0x0103
++#define HDMI_IH_PHY_STAT0 0x0104
++#define HDMI_IH_I2CM_STAT0 0x0105
++#define HDMI_IH_CEC_STAT0 0x0106
++#define HDMI_IH_VP_STAT0 0x0107
++#define HDMI_IH_I2CMPHY_STAT0 0x0108
++#define HDMI_IH_AHBDMAAUD_STAT0 0x0109
++
++#define HDMI_IH_MUTE_FC_STAT0 0x0180
++#define HDMI_IH_MUTE_FC_STAT1 0x0181
++#define HDMI_IH_MUTE_FC_STAT2 0x0182
++#define HDMI_IH_MUTE_AS_STAT0 0x0183
++#define HDMI_IH_MUTE_PHY_STAT0 0x0184
++#define HDMI_IH_MUTE_I2CM_STAT0 0x0185
++#define HDMI_IH_MUTE_CEC_STAT0 0x0186
++#define HDMI_IH_MUTE_VP_STAT0 0x0187
++#define HDMI_IH_MUTE_I2CMPHY_STAT0 0x0188
++#define HDMI_IH_MUTE_AHBDMAAUD_STAT0 0x0189
++#define HDMI_IH_MUTE 0x01FF
++
++/* Video Sample Registers */
++#define HDMI_TX_INVID0 0x0200
++#define HDMI_TX_INSTUFFING 0x0201
++#define HDMI_TX_GYDATA0 0x0202
++#define HDMI_TX_GYDATA1 0x0203
++#define HDMI_TX_RCRDATA0 0x0204
++#define HDMI_TX_RCRDATA1 0x0205
++#define HDMI_TX_BCBDATA0 0x0206
++#define HDMI_TX_BCBDATA1 0x0207
++
++/* Video Packetizer Registers */
++#define HDMI_VP_STATUS 0x0800
++#define HDMI_VP_PR_CD 0x0801
++#define HDMI_VP_STUFF 0x0802
++#define HDMI_VP_REMAP 0x0803
++#define HDMI_VP_CONF 0x0804
++#define HDMI_VP_STAT 0x0805
++#define HDMI_VP_INT 0x0806
++#define HDMI_VP_MASK 0x0807
++#define HDMI_VP_POL 0x0808
++
++/* Frame Composer Registers */
++#define HDMI_FC_INVIDCONF 0x1000
++#define HDMI_FC_INHACTV0 0x1001
++#define HDMI_FC_INHACTV1 0x1002
++#define HDMI_FC_INHBLANK0 0x1003
++#define HDMI_FC_INHBLANK1 0x1004
++#define HDMI_FC_INVACTV0 0x1005
++#define HDMI_FC_INVACTV1 0x1006
++#define HDMI_FC_INVBLANK 0x1007
++#define HDMI_FC_HSYNCINDELAY0 0x1008
++#define HDMI_FC_HSYNCINDELAY1 0x1009
++#define HDMI_FC_HSYNCINWIDTH0 0x100A
++#define HDMI_FC_HSYNCINWIDTH1 0x100B
++#define HDMI_FC_VSYNCINDELAY 0x100C
++#define HDMI_FC_VSYNCINWIDTH 0x100D
++#define HDMI_FC_INFREQ0 0x100E
++#define HDMI_FC_INFREQ1 0x100F
++#define HDMI_FC_INFREQ2 0x1010
++#define HDMI_FC_CTRLDUR 0x1011
++#define HDMI_FC_EXCTRLDUR 0x1012
++#define HDMI_FC_EXCTRLSPAC 0x1013
++#define HDMI_FC_CH0PREAM 0x1014
++#define HDMI_FC_CH1PREAM 0x1015
++#define HDMI_FC_CH2PREAM 0x1016
++#define HDMI_FC_AVICONF3 0x1017
++#define HDMI_FC_GCP 0x1018
++#define HDMI_FC_AVICONF0 0x1019
++#define HDMI_FC_AVICONF1 0x101A
++#define HDMI_FC_AVICONF2 0x101B
++#define HDMI_FC_AVIVID 0x101C
++#define HDMI_FC_AVIETB0 0x101D
++#define HDMI_FC_AVIETB1 0x101E
++#define HDMI_FC_AVISBB0 0x101F
++#define HDMI_FC_AVISBB1 0x1020
++#define HDMI_FC_AVIELB0 0x1021
++#define HDMI_FC_AVIELB1 0x1022
++#define HDMI_FC_AVISRB0 0x1023
++#define HDMI_FC_AVISRB1 0x1024
++#define HDMI_FC_AUDICONF0 0x1025
++#define HDMI_FC_AUDICONF1 0x1026
++#define HDMI_FC_AUDICONF2 0x1027
++#define HDMI_FC_AUDICONF3 0x1028
++#define HDMI_FC_VSDIEEEID0 0x1029
++#define HDMI_FC_VSDSIZE 0x102A
++#define HDMI_FC_VSDIEEEID1 0x1030
++#define HDMI_FC_VSDIEEEID2 0x1031
++#define HDMI_FC_VSDPAYLOAD0 0x1032
++#define HDMI_FC_VSDPAYLOAD1 0x1033
++#define HDMI_FC_VSDPAYLOAD2 0x1034
++#define HDMI_FC_VSDPAYLOAD3 0x1035
++#define HDMI_FC_VSDPAYLOAD4 0x1036
++#define HDMI_FC_VSDPAYLOAD5 0x1037
++#define HDMI_FC_VSDPAYLOAD6 0x1038
++#define HDMI_FC_VSDPAYLOAD7 0x1039
++#define HDMI_FC_VSDPAYLOAD8 0x103A
++#define HDMI_FC_VSDPAYLOAD9 0x103B
++#define HDMI_FC_VSDPAYLOAD10 0x103C
++#define HDMI_FC_VSDPAYLOAD11 0x103D
++#define HDMI_FC_VSDPAYLOAD12 0x103E
++#define HDMI_FC_VSDPAYLOAD13 0x103F
++#define HDMI_FC_VSDPAYLOAD14 0x1040
++#define HDMI_FC_VSDPAYLOAD15 0x1041
++#define HDMI_FC_VSDPAYLOAD16 0x1042
++#define HDMI_FC_VSDPAYLOAD17 0x1043
++#define HDMI_FC_VSDPAYLOAD18 0x1044
++#define HDMI_FC_VSDPAYLOAD19 0x1045
++#define HDMI_FC_VSDPAYLOAD20 0x1046
++#define HDMI_FC_VSDPAYLOAD21 0x1047
++#define HDMI_FC_VSDPAYLOAD22 0x1048
++#define HDMI_FC_VSDPAYLOAD23 0x1049
++#define HDMI_FC_SPDVENDORNAME0 0x104A
++#define HDMI_FC_SPDVENDORNAME1 0x104B
++#define HDMI_FC_SPDVENDORNAME2 0x104C
++#define HDMI_FC_SPDVENDORNAME3 0x104D
++#define HDMI_FC_SPDVENDORNAME4 0x104E
++#define HDMI_FC_SPDVENDORNAME5 0x104F
++#define HDMI_FC_SPDVENDORNAME6 0x1050
++#define HDMI_FC_SPDVENDORNAME7 0x1051
++#define HDMI_FC_SDPPRODUCTNAME0 0x1052
++#define HDMI_FC_SDPPRODUCTNAME1 0x1053
++#define HDMI_FC_SDPPRODUCTNAME2 0x1054
++#define HDMI_FC_SDPPRODUCTNAME3 0x1055
++#define HDMI_FC_SDPPRODUCTNAME4 0x1056
++#define HDMI_FC_SDPPRODUCTNAME5 0x1057
++#define HDMI_FC_SDPPRODUCTNAME6 0x1058
++#define HDMI_FC_SDPPRODUCTNAME7 0x1059
++#define HDMI_FC_SDPPRODUCTNAME8 0x105A
++#define HDMI_FC_SDPPRODUCTNAME9 0x105B
++#define HDMI_FC_SDPPRODUCTNAME10 0x105C
++#define HDMI_FC_SDPPRODUCTNAME11 0x105D
++#define HDMI_FC_SDPPRODUCTNAME12 0x105E
++#define HDMI_FC_SDPPRODUCTNAME13 0x105F
++#define HDMI_FC_SDPPRODUCTNAME14 0x1060
++#define HDMI_FC_SPDPRODUCTNAME15 0x1061
++#define HDMI_FC_SPDDEVICEINF 0x1062
++#define HDMI_FC_AUDSCONF 0x1063
++#define HDMI_FC_AUDSSTAT 0x1064
++#define HDMI_FC_DATACH0FILL 0x1070
++#define HDMI_FC_DATACH1FILL 0x1071
++#define HDMI_FC_DATACH2FILL 0x1072
++#define HDMI_FC_CTRLQHIGH 0x1073
++#define HDMI_FC_CTRLQLOW 0x1074
++#define HDMI_FC_ACP0 0x1075
++#define HDMI_FC_ACP28 0x1076
++#define HDMI_FC_ACP27 0x1077
++#define HDMI_FC_ACP26 0x1078
++#define HDMI_FC_ACP25 0x1079
++#define HDMI_FC_ACP24 0x107A
++#define HDMI_FC_ACP23 0x107B
++#define HDMI_FC_ACP22 0x107C
++#define HDMI_FC_ACP21 0x107D
++#define HDMI_FC_ACP20 0x107E
++#define HDMI_FC_ACP19 0x107F
++#define HDMI_FC_ACP18 0x1080
++#define HDMI_FC_ACP17 0x1081
++#define HDMI_FC_ACP16 0x1082
++#define HDMI_FC_ACP15 0x1083
++#define HDMI_FC_ACP14 0x1084
++#define HDMI_FC_ACP13 0x1085
++#define HDMI_FC_ACP12 0x1086
++#define HDMI_FC_ACP11 0x1087
++#define HDMI_FC_ACP10 0x1088
++#define HDMI_FC_ACP9 0x1089
++#define HDMI_FC_ACP8 0x108A
++#define HDMI_FC_ACP7 0x108B
++#define HDMI_FC_ACP6 0x108C
++#define HDMI_FC_ACP5 0x108D
++#define HDMI_FC_ACP4 0x108E
++#define HDMI_FC_ACP3 0x108F
++#define HDMI_FC_ACP2 0x1090
++#define HDMI_FC_ACP1 0x1091
++#define HDMI_FC_ISCR1_0 0x1092
++#define HDMI_FC_ISCR1_16 0x1093
++#define HDMI_FC_ISCR1_15 0x1094
++#define HDMI_FC_ISCR1_14 0x1095
++#define HDMI_FC_ISCR1_13 0x1096
++#define HDMI_FC_ISCR1_12 0x1097
++#define HDMI_FC_ISCR1_11 0x1098
++#define HDMI_FC_ISCR1_10 0x1099
++#define HDMI_FC_ISCR1_9 0x109A
++#define HDMI_FC_ISCR1_8 0x109B
++#define HDMI_FC_ISCR1_7 0x109C
++#define HDMI_FC_ISCR1_6 0x109D
++#define HDMI_FC_ISCR1_5 0x109E
++#define HDMI_FC_ISCR1_4 0x109F
++#define HDMI_FC_ISCR1_3 0x10A0
++#define HDMI_FC_ISCR1_2 0x10A1
++#define HDMI_FC_ISCR1_1 0x10A2
++#define HDMI_FC_ISCR2_15 0x10A3
++#define HDMI_FC_ISCR2_14 0x10A4
++#define HDMI_FC_ISCR2_13 0x10A5
++#define HDMI_FC_ISCR2_12 0x10A6
++#define HDMI_FC_ISCR2_11 0x10A7
++#define HDMI_FC_ISCR2_10 0x10A8
++#define HDMI_FC_ISCR2_9 0x10A9
++#define HDMI_FC_ISCR2_8 0x10AA
++#define HDMI_FC_ISCR2_7 0x10AB
++#define HDMI_FC_ISCR2_6 0x10AC
++#define HDMI_FC_ISCR2_5 0x10AD
++#define HDMI_FC_ISCR2_4 0x10AE
++#define HDMI_FC_ISCR2_3 0x10AF
++#define HDMI_FC_ISCR2_2 0x10B0
++#define HDMI_FC_ISCR2_1 0x10B1
++#define HDMI_FC_ISCR2_0 0x10B2
++#define HDMI_FC_DATAUTO0 0x10B3
++#define HDMI_FC_DATAUTO1 0x10B4
++#define HDMI_FC_DATAUTO2 0x10B5
++#define HDMI_FC_DATMAN 0x10B6
++#define HDMI_FC_DATAUTO3 0x10B7
++#define HDMI_FC_RDRB0 0x10B8
++#define HDMI_FC_RDRB1 0x10B9
++#define HDMI_FC_RDRB2 0x10BA
++#define HDMI_FC_RDRB3 0x10BB
++#define HDMI_FC_RDRB4 0x10BC
++#define HDMI_FC_RDRB5 0x10BD
++#define HDMI_FC_RDRB6 0x10BE
++#define HDMI_FC_RDRB7 0x10BF
++#define HDMI_FC_STAT0 0x10D0
++#define HDMI_FC_INT0 0x10D1
++#define HDMI_FC_MASK0 0x10D2
++#define HDMI_FC_POL0 0x10D3
++#define HDMI_FC_STAT1 0x10D4
++#define HDMI_FC_INT1 0x10D5
++#define HDMI_FC_MASK1 0x10D6
++#define HDMI_FC_POL1 0x10D7
++#define HDMI_FC_STAT2 0x10D8
++#define HDMI_FC_INT2 0x10D9
++#define HDMI_FC_MASK2 0x10DA
++#define HDMI_FC_POL2 0x10DB
++#define HDMI_FC_PRCONF 0x10E0
++
++#define HDMI_FC_GMD_STAT 0x1100
++#define HDMI_FC_GMD_EN 0x1101
++#define HDMI_FC_GMD_UP 0x1102
++#define HDMI_FC_GMD_CONF 0x1103
++#define HDMI_FC_GMD_HB 0x1104
++#define HDMI_FC_GMD_PB0 0x1105
++#define HDMI_FC_GMD_PB1 0x1106
++#define HDMI_FC_GMD_PB2 0x1107
++#define HDMI_FC_GMD_PB3 0x1108
++#define HDMI_FC_GMD_PB4 0x1109
++#define HDMI_FC_GMD_PB5 0x110A
++#define HDMI_FC_GMD_PB6 0x110B
++#define HDMI_FC_GMD_PB7 0x110C
++#define HDMI_FC_GMD_PB8 0x110D
++#define HDMI_FC_GMD_PB9 0x110E
++#define HDMI_FC_GMD_PB10 0x110F
++#define HDMI_FC_GMD_PB11 0x1110
++#define HDMI_FC_GMD_PB12 0x1111
++#define HDMI_FC_GMD_PB13 0x1112
++#define HDMI_FC_GMD_PB14 0x1113
++#define HDMI_FC_GMD_PB15 0x1114
++#define HDMI_FC_GMD_PB16 0x1115
++#define HDMI_FC_GMD_PB17 0x1116
++#define HDMI_FC_GMD_PB18 0x1117
++#define HDMI_FC_GMD_PB19 0x1118
++#define HDMI_FC_GMD_PB20 0x1119
++#define HDMI_FC_GMD_PB21 0x111A
++#define HDMI_FC_GMD_PB22 0x111B
++#define HDMI_FC_GMD_PB23 0x111C
++#define HDMI_FC_GMD_PB24 0x111D
++#define HDMI_FC_GMD_PB25 0x111E
++#define HDMI_FC_GMD_PB26 0x111F
++#define HDMI_FC_GMD_PB27 0x1120
++
++#define HDMI_FC_DBGFORCE 0x1200
++#define HDMI_FC_DBGAUD0CH0 0x1201
++#define HDMI_FC_DBGAUD1CH0 0x1202
++#define HDMI_FC_DBGAUD2CH0 0x1203
++#define HDMI_FC_DBGAUD0CH1 0x1204
++#define HDMI_FC_DBGAUD1CH1 0x1205
++#define HDMI_FC_DBGAUD2CH1 0x1206
++#define HDMI_FC_DBGAUD0CH2 0x1207
++#define HDMI_FC_DBGAUD1CH2 0x1208
++#define HDMI_FC_DBGAUD2CH2 0x1209
++#define HDMI_FC_DBGAUD0CH3 0x120A
++#define HDMI_FC_DBGAUD1CH3 0x120B
++#define HDMI_FC_DBGAUD2CH3 0x120C
++#define HDMI_FC_DBGAUD0CH4 0x120D
++#define HDMI_FC_DBGAUD1CH4 0x120E
++#define HDMI_FC_DBGAUD2CH4 0x120F
++#define HDMI_FC_DBGAUD0CH5 0x1210
++#define HDMI_FC_DBGAUD1CH5 0x1211
++#define HDMI_FC_DBGAUD2CH5 0x1212
++#define HDMI_FC_DBGAUD0CH6 0x1213
++#define HDMI_FC_DBGAUD1CH6 0x1214
++#define HDMI_FC_DBGAUD2CH6 0x1215
++#define HDMI_FC_DBGAUD0CH7 0x1216
++#define HDMI_FC_DBGAUD1CH7 0x1217
++#define HDMI_FC_DBGAUD2CH7 0x1218
++#define HDMI_FC_DBGTMDS0 0x1219
++#define HDMI_FC_DBGTMDS1 0x121A
++#define HDMI_FC_DBGTMDS2 0x121B
++
++/* HDMI Source PHY Registers */
++#define HDMI_PHY_CONF0 0x3000
++#define HDMI_PHY_TST0 0x3001
++#define HDMI_PHY_TST1 0x3002
++#define HDMI_PHY_TST2 0x3003
++#define HDMI_PHY_STAT0 0x3004
++#define HDMI_PHY_INT0 0x3005
++#define HDMI_PHY_MASK0 0x3006
++#define HDMI_PHY_POL0 0x3007
++
++/* HDMI Master PHY Registers */
++#define HDMI_PHY_I2CM_SLAVE_ADDR 0x3020
++#define HDMI_PHY_I2CM_ADDRESS_ADDR 0x3021
++#define HDMI_PHY_I2CM_DATAO_1_ADDR 0x3022
++#define HDMI_PHY_I2CM_DATAO_0_ADDR 0x3023
++#define HDMI_PHY_I2CM_DATAI_1_ADDR 0x3024
++#define HDMI_PHY_I2CM_DATAI_0_ADDR 0x3025
++#define HDMI_PHY_I2CM_OPERATION_ADDR 0x3026
++#define HDMI_PHY_I2CM_INT_ADDR 0x3027
++#define HDMI_PHY_I2CM_CTLINT_ADDR 0x3028
++#define HDMI_PHY_I2CM_DIV_ADDR 0x3029
++#define HDMI_PHY_I2CM_SOFTRSTZ_ADDR 0x302a
++#define HDMI_PHY_I2CM_SS_SCL_HCNT_1_ADDR 0x302b
++#define HDMI_PHY_I2CM_SS_SCL_HCNT_0_ADDR 0x302c
++#define HDMI_PHY_I2CM_SS_SCL_LCNT_1_ADDR 0x302d
++#define HDMI_PHY_I2CM_SS_SCL_LCNT_0_ADDR 0x302e
++#define HDMI_PHY_I2CM_FS_SCL_HCNT_1_ADDR 0x302f
++#define HDMI_PHY_I2CM_FS_SCL_HCNT_0_ADDR 0x3030
++#define HDMI_PHY_I2CM_FS_SCL_LCNT_1_ADDR 0x3031
++#define HDMI_PHY_I2CM_FS_SCL_LCNT_0_ADDR 0x3032
++
++/* Audio Sampler Registers */
++#define HDMI_AUD_CONF0 0x3100
++#define HDMI_AUD_CONF1 0x3101
++#define HDMI_AUD_INT 0x3102
++#define HDMI_AUD_CONF2 0x3103
++#define HDMI_AUD_N1 0x3200
++#define HDMI_AUD_N2 0x3201
++#define HDMI_AUD_N3 0x3202
++#define HDMI_AUD_CTS1 0x3203
++#define HDMI_AUD_CTS2 0x3204
++#define HDMI_AUD_CTS3 0x3205
++#define HDMI_AUD_INPUTCLKFS 0x3206
++#define HDMI_AUD_SPDIFINT 0x3302
++#define HDMI_AUD_CONF0_HBR 0x3400
++#define HDMI_AUD_HBR_STATUS 0x3401
++#define HDMI_AUD_HBR_INT 0x3402
++#define HDMI_AUD_HBR_POL 0x3403
++#define HDMI_AUD_HBR_MASK 0x3404
++
++/*
++ * Generic Parallel Audio Interface Registers
++ * Not used as GPAUD interface is not enabled in hw
++ */
++#define HDMI_GP_CONF0 0x3500
++#define HDMI_GP_CONF1 0x3501
++#define HDMI_GP_CONF2 0x3502
++#define HDMI_GP_STAT 0x3503
++#define HDMI_GP_INT 0x3504
++#define HDMI_GP_MASK 0x3505
++#define HDMI_GP_POL 0x3506
++
++/* Audio DMA Registers */
++#define HDMI_AHB_DMA_CONF0 0x3600
++#define HDMI_AHB_DMA_START 0x3601
++#define HDMI_AHB_DMA_STOP 0x3602
++#define HDMI_AHB_DMA_THRSLD 0x3603
++#define HDMI_AHB_DMA_STRADDR0 0x3604
++#define HDMI_AHB_DMA_STRADDR1 0x3605
++#define HDMI_AHB_DMA_STRADDR2 0x3606
++#define HDMI_AHB_DMA_STRADDR3 0x3607
++#define HDMI_AHB_DMA_STPADDR0 0x3608
++#define HDMI_AHB_DMA_STPADDR1 0x3609
++#define HDMI_AHB_DMA_STPADDR2 0x360a
++#define HDMI_AHB_DMA_STPADDR3 0x360b
++#define HDMI_AHB_DMA_BSTADDR0 0x360c
++#define HDMI_AHB_DMA_BSTADDR1 0x360d
++#define HDMI_AHB_DMA_BSTADDR2 0x360e
++#define HDMI_AHB_DMA_BSTADDR3 0x360f
++#define HDMI_AHB_DMA_MBLENGTH0 0x3610
++#define HDMI_AHB_DMA_MBLENGTH1 0x3611
++#define HDMI_AHB_DMA_STAT 0x3612
++#define HDMI_AHB_DMA_INT 0x3613
++#define HDMI_AHB_DMA_MASK 0x3614
++#define HDMI_AHB_DMA_POL 0x3615
++#define HDMI_AHB_DMA_CONF1 0x3616
++#define HDMI_AHB_DMA_BUFFSTAT 0x3617
++#define HDMI_AHB_DMA_BUFFINT 0x3618
++#define HDMI_AHB_DMA_BUFFMASK 0x3619
++#define HDMI_AHB_DMA_BUFFPOL 0x361a
++
++/* Main Controller Registers */
++#define HDMI_MC_SFRDIV 0x4000
++#define HDMI_MC_CLKDIS 0x4001
++#define HDMI_MC_SWRSTZ 0x4002
++#define HDMI_MC_OPCTRL 0x4003
++#define HDMI_MC_FLOWCTRL 0x4004
++#define HDMI_MC_PHYRSTZ 0x4005
++#define HDMI_MC_LOCKONCLOCK 0x4006
++#define HDMI_MC_HEACPHY_RST 0x4007
++
++/* Color Space Converter Registers */
++#define HDMI_CSC_CFG 0x4100
++#define HDMI_CSC_SCALE 0x4101
++#define HDMI_CSC_COEF_A1_MSB 0x4102
++#define HDMI_CSC_COEF_A1_LSB 0x4103
++#define HDMI_CSC_COEF_A2_MSB 0x4104
++#define HDMI_CSC_COEF_A2_LSB 0x4105
++#define HDMI_CSC_COEF_A3_MSB 0x4106
++#define HDMI_CSC_COEF_A3_LSB 0x4107
++#define HDMI_CSC_COEF_A4_MSB 0x4108
++#define HDMI_CSC_COEF_A4_LSB 0x4109
++#define HDMI_CSC_COEF_B1_MSB 0x410A
++#define HDMI_CSC_COEF_B1_LSB 0x410B
++#define HDMI_CSC_COEF_B2_MSB 0x410C
++#define HDMI_CSC_COEF_B2_LSB 0x410D
++#define HDMI_CSC_COEF_B3_MSB 0x410E
++#define HDMI_CSC_COEF_B3_LSB 0x410F
++#define HDMI_CSC_COEF_B4_MSB 0x4110
++#define HDMI_CSC_COEF_B4_LSB 0x4111
++#define HDMI_CSC_COEF_C1_MSB 0x4112
++#define HDMI_CSC_COEF_C1_LSB 0x4113
++#define HDMI_CSC_COEF_C2_MSB 0x4114
++#define HDMI_CSC_COEF_C2_LSB 0x4115
++#define HDMI_CSC_COEF_C3_MSB 0x4116
++#define HDMI_CSC_COEF_C3_LSB 0x4117
++#define HDMI_CSC_COEF_C4_MSB 0x4118
++#define HDMI_CSC_COEF_C4_LSB 0x4119
++
++/* HDCP Encryption Engine Registers */
++#define HDMI_A_HDCPCFG0 0x5000
++#define HDMI_A_HDCPCFG1 0x5001
++#define HDMI_A_HDCPOBS0 0x5002
++#define HDMI_A_HDCPOBS1 0x5003
++#define HDMI_A_HDCPOBS2 0x5004
++#define HDMI_A_HDCPOBS3 0x5005
++#define HDMI_A_APIINTCLR 0x5006
++#define HDMI_A_APIINTSTAT 0x5007
++#define HDMI_A_APIINTMSK 0x5008
++#define HDMI_A_VIDPOLCFG 0x5009
++#define HDMI_A_OESSWCFG 0x500A
++#define HDMI_A_TIMER1SETUP0 0x500B
++#define HDMI_A_TIMER1SETUP1 0x500C
++#define HDMI_A_TIMER2SETUP0 0x500D
++#define HDMI_A_TIMER2SETUP1 0x500E
++#define HDMI_A_100MSCFG 0x500F
++#define HDMI_A_2SCFG0 0x5010
++#define HDMI_A_2SCFG1 0x5011
++#define HDMI_A_5SCFG0 0x5012
++#define HDMI_A_5SCFG1 0x5013
++#define HDMI_A_SRMVERLSB 0x5014
++#define HDMI_A_SRMVERMSB 0x5015
++#define HDMI_A_SRMCTRL 0x5016
++#define HDMI_A_SFRSETUP 0x5017
++#define HDMI_A_I2CHSETUP 0x5018
++#define HDMI_A_INTSETUP 0x5019
++#define HDMI_A_PRESETUP 0x501A
++#define HDMI_A_SRM_BASE 0x5020
++
++/* CEC Engine Registers */
++#define HDMI_CEC_CTRL 0x7D00
++#define HDMI_CEC_STAT 0x7D01
++#define HDMI_CEC_MASK 0x7D02
++#define HDMI_CEC_POLARITY 0x7D03
++#define HDMI_CEC_INT 0x7D04
++#define HDMI_CEC_ADDR_L 0x7D05
++#define HDMI_CEC_ADDR_H 0x7D06
++#define HDMI_CEC_TX_CNT 0x7D07
++#define HDMI_CEC_RX_CNT 0x7D08
++#define HDMI_CEC_TX_DATA0 0x7D10
++#define HDMI_CEC_TX_DATA1 0x7D11
++#define HDMI_CEC_TX_DATA2 0x7D12
++#define HDMI_CEC_TX_DATA3 0x7D13
++#define HDMI_CEC_TX_DATA4 0x7D14
++#define HDMI_CEC_TX_DATA5 0x7D15
++#define HDMI_CEC_TX_DATA6 0x7D16
++#define HDMI_CEC_TX_DATA7 0x7D17
++#define HDMI_CEC_TX_DATA8 0x7D18
++#define HDMI_CEC_TX_DATA9 0x7D19
++#define HDMI_CEC_TX_DATA10 0x7D1a
++#define HDMI_CEC_TX_DATA11 0x7D1b
++#define HDMI_CEC_TX_DATA12 0x7D1c
++#define HDMI_CEC_TX_DATA13 0x7D1d
++#define HDMI_CEC_TX_DATA14 0x7D1e
++#define HDMI_CEC_TX_DATA15 0x7D1f
++#define HDMI_CEC_RX_DATA0 0x7D20
++#define HDMI_CEC_RX_DATA1 0x7D21
++#define HDMI_CEC_RX_DATA2 0x7D22
++#define HDMI_CEC_RX_DATA3 0x7D23
++#define HDMI_CEC_RX_DATA4 0x7D24
++#define HDMI_CEC_RX_DATA5 0x7D25
++#define HDMI_CEC_RX_DATA6 0x7D26
++#define HDMI_CEC_RX_DATA7 0x7D27
++#define HDMI_CEC_RX_DATA8 0x7D28
++#define HDMI_CEC_RX_DATA9 0x7D29
++#define HDMI_CEC_RX_DATA10 0x7D2a
++#define HDMI_CEC_RX_DATA11 0x7D2b
++#define HDMI_CEC_RX_DATA12 0x7D2c
++#define HDMI_CEC_RX_DATA13 0x7D2d
++#define HDMI_CEC_RX_DATA14 0x7D2e
++#define HDMI_CEC_RX_DATA15 0x7D2f
++#define HDMI_CEC_LOCK 0x7D30
++#define HDMI_CEC_WKUPCTRL 0x7D31
++
++/* I2C Master Registers (E-DDC) */
++#define HDMI_I2CM_SLAVE 0x7E00
++#define HDMI_I2CM_ADDRESS 0x7E01
++#define HDMI_I2CM_DATAO 0x7E02
++#define HDMI_I2CM_DATAI 0x7E03
++#define HDMI_I2CM_OPERATION 0x7E04
++#define HDMI_I2CM_INT 0x7E05
++#define HDMI_I2CM_CTLINT 0x7E06
++#define HDMI_I2CM_DIV 0x7E07
++#define HDMI_I2CM_SEGADDR 0x7E08
++#define HDMI_I2CM_SOFTRSTZ 0x7E09
++#define HDMI_I2CM_SEGPTR 0x7E0A
++#define HDMI_I2CM_SS_SCL_HCNT_1_ADDR 0x7E0B
++#define HDMI_I2CM_SS_SCL_HCNT_0_ADDR 0x7E0C
++#define HDMI_I2CM_SS_SCL_LCNT_1_ADDR 0x7E0D
++#define HDMI_I2CM_SS_SCL_LCNT_0_ADDR 0x7E0E
++#define HDMI_I2CM_FS_SCL_HCNT_1_ADDR 0x7E0F
++#define HDMI_I2CM_FS_SCL_HCNT_0_ADDR 0x7E10
++#define HDMI_I2CM_FS_SCL_LCNT_1_ADDR 0x7E11
++#define HDMI_I2CM_FS_SCL_LCNT_0_ADDR 0x7E12
++
++enum {
++/* PRODUCT_ID0 field values */
++ HDMI_PRODUCT_ID0_HDMI_TX = 0xa0,
++
++/* PRODUCT_ID1 field values */
++ HDMI_PRODUCT_ID1_HDCP = 0xc0,
++ HDMI_PRODUCT_ID1_HDMI_RX = 0x02,
++ HDMI_PRODUCT_ID1_HDMI_TX = 0x01,
++
++/* CONFIG0_ID field values */
++ HDMI_CONFIG0_I2S = 0x10,
++
++/* CONFIG1_ID field values */
++ HDMI_CONFIG1_AHB = 0x01,
++
++/* CONFIG3_ID field values */
++ HDMI_CONFIG3_AHBAUDDMA = 0x02,
++ HDMI_CONFIG3_GPAUD = 0x01,
++
++/* IH_FC_INT2 field values */
++ HDMI_IH_FC_INT2_OVERFLOW_MASK = 0x03,
++ HDMI_IH_FC_INT2_LOW_PRIORITY_OVERFLOW = 0x02,
++ HDMI_IH_FC_INT2_HIGH_PRIORITY_OVERFLOW = 0x01,
++
++/* IH_FC_STAT2 field values */
++ HDMI_IH_FC_STAT2_OVERFLOW_MASK = 0x03,
++ HDMI_IH_FC_STAT2_LOW_PRIORITY_OVERFLOW = 0x02,
++ HDMI_IH_FC_STAT2_HIGH_PRIORITY_OVERFLOW = 0x01,
++
++/* IH_PHY_STAT0 field values */
++ HDMI_IH_PHY_STAT0_RX_SENSE3 = 0x20,
++ HDMI_IH_PHY_STAT0_RX_SENSE2 = 0x10,
++ HDMI_IH_PHY_STAT0_RX_SENSE1 = 0x8,
++ HDMI_IH_PHY_STAT0_RX_SENSE0 = 0x4,
++ HDMI_IH_PHY_STAT0_TX_PHY_LOCK = 0x2,
++ HDMI_IH_PHY_STAT0_HPD = 0x1,
++
++/* IH_I2CM_STAT0 and IH_MUTE_I2CM_STAT0 field values */
++ HDMI_IH_I2CM_STAT0_DONE = 0x2,
++ HDMI_IH_I2CM_STAT0_ERROR = 0x1,
++
++/* IH_MUTE_I2CMPHY_STAT0 field values */
++ HDMI_IH_MUTE_I2CMPHY_STAT0_I2CMPHYDONE = 0x2,
++ HDMI_IH_MUTE_I2CMPHY_STAT0_I2CMPHYERROR = 0x1,
++
++/* IH_AHBDMAAUD_STAT0 field values */
++ HDMI_IH_AHBDMAAUD_STAT0_ERROR = 0x20,
++ HDMI_IH_AHBDMAAUD_STAT0_LOST = 0x10,
++ HDMI_IH_AHBDMAAUD_STAT0_RETRY = 0x08,
++ HDMI_IH_AHBDMAAUD_STAT0_DONE = 0x04,
++ HDMI_IH_AHBDMAAUD_STAT0_BUFFFULL = 0x02,
++ HDMI_IH_AHBDMAAUD_STAT0_BUFFEMPTY = 0x01,
++
++/* IH_MUTE_FC_STAT2 field values */
++ HDMI_IH_MUTE_FC_STAT2_OVERFLOW_MASK = 0x03,
++ HDMI_IH_MUTE_FC_STAT2_LOW_PRIORITY_OVERFLOW = 0x02,
++ HDMI_IH_MUTE_FC_STAT2_HIGH_PRIORITY_OVERFLOW = 0x01,
++
++/* IH_MUTE_AHBDMAAUD_STAT0 field values */
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_ERROR = 0x20,
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_LOST = 0x10,
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_RETRY = 0x08,
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_DONE = 0x04,
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFFULL = 0x02,
++ HDMI_IH_MUTE_AHBDMAAUD_STAT0_BUFFEMPTY = 0x01,
++
++/* IH_MUTE field values */
++ HDMI_IH_MUTE_MUTE_WAKEUP_INTERRUPT = 0x2,
++ HDMI_IH_MUTE_MUTE_ALL_INTERRUPT = 0x1,
++
++/* TX_INVID0 field values */
++ HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_MASK = 0x80,
++ HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_ENABLE = 0x80,
++ HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_DISABLE = 0x00,
++ HDMI_TX_INVID0_VIDEO_MAPPING_MASK = 0x1F,
++ HDMI_TX_INVID0_VIDEO_MAPPING_OFFSET = 0,
++
++/* TX_INSTUFFING field values */
++ HDMI_TX_INSTUFFING_BDBDATA_STUFFING_MASK = 0x4,
++ HDMI_TX_INSTUFFING_BDBDATA_STUFFING_ENABLE = 0x4,
++ HDMI_TX_INSTUFFING_BDBDATA_STUFFING_DISABLE = 0x0,
++ HDMI_TX_INSTUFFING_RCRDATA_STUFFING_MASK = 0x2,
++ HDMI_TX_INSTUFFING_RCRDATA_STUFFING_ENABLE = 0x2,
++ HDMI_TX_INSTUFFING_RCRDATA_STUFFING_DISABLE = 0x0,
++ HDMI_TX_INSTUFFING_GYDATA_STUFFING_MASK = 0x1,
++ HDMI_TX_INSTUFFING_GYDATA_STUFFING_ENABLE = 0x1,
++ HDMI_TX_INSTUFFING_GYDATA_STUFFING_DISABLE = 0x0,
++
++/* VP_PR_CD field values */
++ HDMI_VP_PR_CD_COLOR_DEPTH_MASK = 0xF0,
++ HDMI_VP_PR_CD_COLOR_DEPTH_OFFSET = 4,
++ HDMI_VP_PR_CD_DESIRED_PR_FACTOR_MASK = 0x0F,
++ HDMI_VP_PR_CD_DESIRED_PR_FACTOR_OFFSET = 0,
++
++/* VP_STUFF field values */
++ HDMI_VP_STUFF_IDEFAULT_PHASE_MASK = 0x20,
++ HDMI_VP_STUFF_IDEFAULT_PHASE_OFFSET = 5,
++ HDMI_VP_STUFF_IFIX_PP_TO_LAST_MASK = 0x10,
++ HDMI_VP_STUFF_IFIX_PP_TO_LAST_OFFSET = 4,
++ HDMI_VP_STUFF_ICX_GOTO_P0_ST_MASK = 0x8,
++ HDMI_VP_STUFF_ICX_GOTO_P0_ST_OFFSET = 3,
++ HDMI_VP_STUFF_YCC422_STUFFING_MASK = 0x4,
++ HDMI_VP_STUFF_YCC422_STUFFING_STUFFING_MODE = 0x4,
++ HDMI_VP_STUFF_YCC422_STUFFING_DIRECT_MODE = 0x0,
++ HDMI_VP_STUFF_PP_STUFFING_MASK = 0x2,
++ HDMI_VP_STUFF_PP_STUFFING_STUFFING_MODE = 0x2,
++ HDMI_VP_STUFF_PP_STUFFING_DIRECT_MODE = 0x0,
++ HDMI_VP_STUFF_PR_STUFFING_MASK = 0x1,
++ HDMI_VP_STUFF_PR_STUFFING_STUFFING_MODE = 0x1,
++ HDMI_VP_STUFF_PR_STUFFING_DIRECT_MODE = 0x0,
++
++/* VP_CONF field values */
++ HDMI_VP_CONF_BYPASS_EN_MASK = 0x40,
++ HDMI_VP_CONF_BYPASS_EN_ENABLE = 0x40,
++ HDMI_VP_CONF_BYPASS_EN_DISABLE = 0x00,
++ HDMI_VP_CONF_PP_EN_ENMASK = 0x20,
++ HDMI_VP_CONF_PP_EN_ENABLE = 0x20,
++ HDMI_VP_CONF_PP_EN_DISABLE = 0x00,
++ HDMI_VP_CONF_PR_EN_MASK = 0x10,
++ HDMI_VP_CONF_PR_EN_ENABLE = 0x10,
++ HDMI_VP_CONF_PR_EN_DISABLE = 0x00,
++ HDMI_VP_CONF_YCC422_EN_MASK = 0x8,
++ HDMI_VP_CONF_YCC422_EN_ENABLE = 0x8,
++ HDMI_VP_CONF_YCC422_EN_DISABLE = 0x0,
++ HDMI_VP_CONF_BYPASS_SELECT_MASK = 0x4,
++ HDMI_VP_CONF_BYPASS_SELECT_VID_PACKETIZER = 0x4,
++ HDMI_VP_CONF_BYPASS_SELECT_PIX_REPEATER = 0x0,
++ HDMI_VP_CONF_OUTPUT_SELECTOR_MASK = 0x3,
++ HDMI_VP_CONF_OUTPUT_SELECTOR_BYPASS = 0x3,
++ HDMI_VP_CONF_OUTPUT_SELECTOR_YCC422 = 0x1,
++ HDMI_VP_CONF_OUTPUT_SELECTOR_PP = 0x0,
++
++/* VP_REMAP field values */
++ HDMI_VP_REMAP_MASK = 0x3,
++ HDMI_VP_REMAP_YCC422_24bit = 0x2,
++ HDMI_VP_REMAP_YCC422_20bit = 0x1,
++ HDMI_VP_REMAP_YCC422_16bit = 0x0,
++
++/* FC_INVIDCONF field values */
++ HDMI_FC_INVIDCONF_HDCP_KEEPOUT_MASK = 0x80,
++ HDMI_FC_INVIDCONF_HDCP_KEEPOUT_ACTIVE = 0x80,
++ HDMI_FC_INVIDCONF_HDCP_KEEPOUT_INACTIVE = 0x00,
++ HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_MASK = 0x40,
++ HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_HIGH = 0x40,
++ HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_LOW = 0x00,
++ HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_MASK = 0x20,
++ HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_HIGH = 0x20,
++ HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_LOW = 0x00,
++ HDMI_FC_INVIDCONF_DE_IN_POLARITY_MASK = 0x10,
++ HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_HIGH = 0x10,
++ HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_LOW = 0x00,
++ HDMI_FC_INVIDCONF_DVI_MODEZ_MASK = 0x8,
++ HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE = 0x8,
++ HDMI_FC_INVIDCONF_DVI_MODEZ_DVI_MODE = 0x0,
++ HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_MASK = 0x2,
++ HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_HIGH = 0x2,
++ HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_LOW = 0x0,
++ HDMI_FC_INVIDCONF_IN_I_P_MASK = 0x1,
++ HDMI_FC_INVIDCONF_IN_I_P_INTERLACED = 0x1,
++ HDMI_FC_INVIDCONF_IN_I_P_PROGRESSIVE = 0x0,
++
++/* FC_AUDICONF0 field values */
++ HDMI_FC_AUDICONF0_CC_OFFSET = 4,
++ HDMI_FC_AUDICONF0_CC_MASK = 0x70,
++ HDMI_FC_AUDICONF0_CT_OFFSET = 0,
++ HDMI_FC_AUDICONF0_CT_MASK = 0xF,
++
++/* FC_AUDICONF1 field values */
++ HDMI_FC_AUDICONF1_SS_OFFSET = 3,
++ HDMI_FC_AUDICONF1_SS_MASK = 0x18,
++ HDMI_FC_AUDICONF1_SF_OFFSET = 0,
++ HDMI_FC_AUDICONF1_SF_MASK = 0x7,
++
++/* FC_AUDICONF3 field values */
++ HDMI_FC_AUDICONF3_LFEPBL_OFFSET = 5,
++ HDMI_FC_AUDICONF3_LFEPBL_MASK = 0x60,
++ HDMI_FC_AUDICONF3_DM_INH_OFFSET = 4,
++ HDMI_FC_AUDICONF3_DM_INH_MASK = 0x10,
++ HDMI_FC_AUDICONF3_LSV_OFFSET = 0,
++ HDMI_FC_AUDICONF3_LSV_MASK = 0xF,
++
++/* FC_AUDSCHNLS0 field values */
++ HDMI_FC_AUDSCHNLS0_CGMSA_OFFSET = 4,
++ HDMI_FC_AUDSCHNLS0_CGMSA_MASK = 0x30,
++ HDMI_FC_AUDSCHNLS0_COPYRIGHT_OFFSET = 0,
++ HDMI_FC_AUDSCHNLS0_COPYRIGHT_MASK = 0x01,
++
++/* FC_AUDSCHNLS3-6 field values */
++ HDMI_FC_AUDSCHNLS3_OIEC_CH0_OFFSET = 0,
++ HDMI_FC_AUDSCHNLS3_OIEC_CH0_MASK = 0x0f,
++ HDMI_FC_AUDSCHNLS3_OIEC_CH1_OFFSET = 4,
++ HDMI_FC_AUDSCHNLS3_OIEC_CH1_MASK = 0xf0,
++ HDMI_FC_AUDSCHNLS4_OIEC_CH2_OFFSET = 0,
++ HDMI_FC_AUDSCHNLS4_OIEC_CH2_MASK = 0x0f,
++ HDMI_FC_AUDSCHNLS4_OIEC_CH3_OFFSET = 4,
++ HDMI_FC_AUDSCHNLS4_OIEC_CH3_MASK = 0xf0,
++
++ HDMI_FC_AUDSCHNLS5_OIEC_CH0_OFFSET = 0,
++ HDMI_FC_AUDSCHNLS5_OIEC_CH0_MASK = 0x0f,
++ HDMI_FC_AUDSCHNLS5_OIEC_CH1_OFFSET = 4,
++ HDMI_FC_AUDSCHNLS5_OIEC_CH1_MASK = 0xf0,
++ HDMI_FC_AUDSCHNLS6_OIEC_CH2_OFFSET = 0,
++ HDMI_FC_AUDSCHNLS6_OIEC_CH2_MASK = 0x0f,
++ HDMI_FC_AUDSCHNLS6_OIEC_CH3_OFFSET = 4,
++ HDMI_FC_AUDSCHNLS6_OIEC_CH3_MASK = 0xf0,
++
++/* HDMI_FC_AUDSCHNLS7 field values */
++ HDMI_FC_AUDSCHNLS7_ACCURACY_OFFSET = 4,
++ HDMI_FC_AUDSCHNLS7_ACCURACY_MASK = 0x30,
++
++/* HDMI_FC_AUDSCHNLS8 field values */
++ HDMI_FC_AUDSCHNLS8_ORIGSAMPFREQ_MASK = 0xf0,
++ HDMI_FC_AUDSCHNLS8_ORIGSAMPFREQ_OFFSET = 4,
++ HDMI_FC_AUDSCHNLS8_WORDLEGNTH_MASK = 0x0f,
++ HDMI_FC_AUDSCHNLS8_WORDLEGNTH_OFFSET = 0,
++
++/* FC_AUDSCONF field values */
++ HDMI_FC_AUDSCONF_AUD_PACKET_SAMPFIT_MASK = 0xF0,
++ HDMI_FC_AUDSCONF_AUD_PACKET_SAMPFIT_OFFSET = 4,
++ HDMI_FC_AUDSCONF_AUD_PACKET_LAYOUT_MASK = 0x1,
++ HDMI_FC_AUDSCONF_AUD_PACKET_LAYOUT_OFFSET = 0,
++ HDMI_FC_AUDSCONF_AUD_PACKET_LAYOUT_LAYOUT1 = 0x1,
++ HDMI_FC_AUDSCONF_AUD_PACKET_LAYOUT_LAYOUT0 = 0x0,
++
++/* FC_STAT2 field values */
++ HDMI_FC_STAT2_OVERFLOW_MASK = 0x03,
++ HDMI_FC_STAT2_LOW_PRIORITY_OVERFLOW = 0x02,
++ HDMI_FC_STAT2_HIGH_PRIORITY_OVERFLOW = 0x01,
++
++/* FC_INT2 field values */
++ HDMI_FC_INT2_OVERFLOW_MASK = 0x03,
++ HDMI_FC_INT2_LOW_PRIORITY_OVERFLOW = 0x02,
++ HDMI_FC_INT2_HIGH_PRIORITY_OVERFLOW = 0x01,
++
++/* FC_MASK2 field values */
++ HDMI_FC_MASK2_OVERFLOW_MASK = 0x03,
++ HDMI_FC_MASK2_LOW_PRIORITY_OVERFLOW = 0x02,
++ HDMI_FC_MASK2_HIGH_PRIORITY_OVERFLOW = 0x01,
++
++/* FC_PRCONF field values */
++ HDMI_FC_PRCONF_INCOMING_PR_FACTOR_MASK = 0xF0,
++ HDMI_FC_PRCONF_INCOMING_PR_FACTOR_OFFSET = 4,
++ HDMI_FC_PRCONF_OUTPUT_PR_FACTOR_MASK = 0x0F,
++ HDMI_FC_PRCONF_OUTPUT_PR_FACTOR_OFFSET = 0,
++
++/* FC_AVICONF0-FC_AVICONF3 field values */
++ HDMI_FC_AVICONF0_PIX_FMT_MASK = 0x03,
++ HDMI_FC_AVICONF0_PIX_FMT_RGB = 0x00,
++ HDMI_FC_AVICONF0_PIX_FMT_YCBCR422 = 0x01,
++ HDMI_FC_AVICONF0_PIX_FMT_YCBCR444 = 0x02,
++ HDMI_FC_AVICONF0_ACTIVE_FMT_MASK = 0x40,
++ HDMI_FC_AVICONF0_ACTIVE_FMT_INFO_PRESENT = 0x40,
++ HDMI_FC_AVICONF0_ACTIVE_FMT_NO_INFO = 0x00,
++ HDMI_FC_AVICONF0_BAR_DATA_MASK = 0x0C,
++ HDMI_FC_AVICONF0_BAR_DATA_NO_DATA = 0x00,
++ HDMI_FC_AVICONF0_BAR_DATA_VERT_BAR = 0x04,
++ HDMI_FC_AVICONF0_BAR_DATA_HORIZ_BAR = 0x08,
++ HDMI_FC_AVICONF0_BAR_DATA_VERT_HORIZ_BAR = 0x0C,
++ HDMI_FC_AVICONF0_SCAN_INFO_MASK = 0x30,
++ HDMI_FC_AVICONF0_SCAN_INFO_OVERSCAN = 0x10,
++ HDMI_FC_AVICONF0_SCAN_INFO_UNDERSCAN = 0x20,
++ HDMI_FC_AVICONF0_SCAN_INFO_NODATA = 0x00,
++
++ HDMI_FC_AVICONF1_ACTIVE_ASPECT_RATIO_MASK = 0x0F,
++ HDMI_FC_AVICONF1_ACTIVE_ASPECT_RATIO_USE_CODED = 0x08,
++ HDMI_FC_AVICONF1_ACTIVE_ASPECT_RATIO_4_3 = 0x09,
++ HDMI_FC_AVICONF1_ACTIVE_ASPECT_RATIO_16_9 = 0x0A,
++ HDMI_FC_AVICONF1_ACTIVE_ASPECT_RATIO_14_9 = 0x0B,
++ HDMI_FC_AVICONF1_CODED_ASPECT_RATIO_MASK = 0x30,
++ HDMI_FC_AVICONF1_CODED_ASPECT_RATIO_NO_DATA = 0x00,
++ HDMI_FC_AVICONF1_CODED_ASPECT_RATIO_4_3 = 0x10,
++ HDMI_FC_AVICONF1_CODED_ASPECT_RATIO_16_9 = 0x20,
++ HDMI_FC_AVICONF1_COLORIMETRY_MASK = 0xC0,
++ HDMI_FC_AVICONF1_COLORIMETRY_NO_DATA = 0x00,
++ HDMI_FC_AVICONF1_COLORIMETRY_SMPTE = 0x40,
++ HDMI_FC_AVICONF1_COLORIMETRY_ITUR = 0x80,
++ HDMI_FC_AVICONF1_COLORIMETRY_EXTENDED_INFO = 0xC0,
++
++ HDMI_FC_AVICONF2_SCALING_MASK = 0x03,
++ HDMI_FC_AVICONF2_SCALING_NONE = 0x00,
++ HDMI_FC_AVICONF2_SCALING_HORIZ = 0x01,
++ HDMI_FC_AVICONF2_SCALING_VERT = 0x02,
++ HDMI_FC_AVICONF2_SCALING_HORIZ_VERT = 0x03,
++ HDMI_FC_AVICONF2_RGB_QUANT_MASK = 0x0C,
++ HDMI_FC_AVICONF2_RGB_QUANT_DEFAULT = 0x00,
++ HDMI_FC_AVICONF2_RGB_QUANT_LIMITED_RANGE = 0x04,
++ HDMI_FC_AVICONF2_RGB_QUANT_FULL_RANGE = 0x08,
++ HDMI_FC_AVICONF2_EXT_COLORIMETRY_MASK = 0x70,
++ HDMI_FC_AVICONF2_EXT_COLORIMETRY_XVYCC601 = 0x00,
++ HDMI_FC_AVICONF2_EXT_COLORIMETRY_XVYCC709 = 0x10,
++ HDMI_FC_AVICONF2_EXT_COLORIMETRY_SYCC601 = 0x20,
++ HDMI_FC_AVICONF2_EXT_COLORIMETRY_ADOBE_YCC601 = 0x30,
++ HDMI_FC_AVICONF2_EXT_COLORIMETRY_ADOBE_RGB = 0x40,
++ HDMI_FC_AVICONF2_IT_CONTENT_MASK = 0x80,
++ HDMI_FC_AVICONF2_IT_CONTENT_NO_DATA = 0x00,
++ HDMI_FC_AVICONF2_IT_CONTENT_VALID = 0x80,
++
++ HDMI_FC_AVICONF3_IT_CONTENT_TYPE_MASK = 0x03,
++ HDMI_FC_AVICONF3_IT_CONTENT_TYPE_GRAPHICS = 0x00,
++ HDMI_FC_AVICONF3_IT_CONTENT_TYPE_PHOTO = 0x01,
++ HDMI_FC_AVICONF3_IT_CONTENT_TYPE_CINEMA = 0x02,
++ HDMI_FC_AVICONF3_IT_CONTENT_TYPE_GAME = 0x03,
++ HDMI_FC_AVICONF3_QUANT_RANGE_MASK = 0x0C,
++ HDMI_FC_AVICONF3_QUANT_RANGE_LIMITED = 0x00,
++ HDMI_FC_AVICONF3_QUANT_RANGE_FULL = 0x04,
++
++/* FC_DBGFORCE field values */
++ HDMI_FC_DBGFORCE_FORCEAUDIO = 0x10,
++ HDMI_FC_DBGFORCE_FORCEVIDEO = 0x1,
++
++/* PHY_CONF0 field values */
++ HDMI_PHY_CONF0_PDZ_MASK = 0x80,
++ HDMI_PHY_CONF0_PDZ_OFFSET = 7,
++ HDMI_PHY_CONF0_ENTMDS_MASK = 0x40,
++ HDMI_PHY_CONF0_ENTMDS_OFFSET = 6,
++ HDMI_PHY_CONF0_SVSRET_MASK = 0x20,
++ HDMI_PHY_CONF0_SVSRET_OFFSET = 5,
++ HDMI_PHY_CONF0_GEN2_PDDQ_MASK = 0x10,
++ HDMI_PHY_CONF0_GEN2_PDDQ_OFFSET = 4,
++ HDMI_PHY_CONF0_GEN2_TXPWRON_MASK = 0x8,
++ HDMI_PHY_CONF0_GEN2_TXPWRON_OFFSET = 3,
++ HDMI_PHY_CONF0_GEN2_ENHPDRXSENSE_MASK = 0x4,
++ HDMI_PHY_CONF0_GEN2_ENHPDRXSENSE_OFFSET = 2,
++ HDMI_PHY_CONF0_SELDATAENPOL_MASK = 0x2,
++ HDMI_PHY_CONF0_SELDATAENPOL_OFFSET = 1,
++ HDMI_PHY_CONF0_SELDIPIF_MASK = 0x1,
++ HDMI_PHY_CONF0_SELDIPIF_OFFSET = 0,
++
++/* PHY_TST0 field values */
++ HDMI_PHY_TST0_TSTCLR_MASK = 0x20,
++ HDMI_PHY_TST0_TSTCLR_OFFSET = 5,
++ HDMI_PHY_TST0_TSTEN_MASK = 0x10,
++ HDMI_PHY_TST0_TSTEN_OFFSET = 4,
++ HDMI_PHY_TST0_TSTCLK_MASK = 0x1,
++ HDMI_PHY_TST0_TSTCLK_OFFSET = 0,
++
++/* PHY_STAT0 field values */
++ HDMI_PHY_RX_SENSE3 = 0x80,
++ HDMI_PHY_RX_SENSE2 = 0x40,
++ HDMI_PHY_RX_SENSE1 = 0x20,
++ HDMI_PHY_RX_SENSE0 = 0x10,
++ HDMI_PHY_HPD = 0x02,
++ HDMI_PHY_TX_PHY_LOCK = 0x01,
++
++/* PHY_I2CM_SLAVE_ADDR field values */
++ HDMI_PHY_I2CM_SLAVE_ADDR_PHY_GEN2 = 0x69,
++ HDMI_PHY_I2CM_SLAVE_ADDR_HEAC_PHY = 0x49,
++
++/* PHY_I2CM_OPERATION_ADDR field values */
++ HDMI_PHY_I2CM_OPERATION_ADDR_WRITE = 0x10,
++ HDMI_PHY_I2CM_OPERATION_ADDR_READ = 0x1,
++
++/* HDMI_PHY_I2CM_INT_ADDR */
++ HDMI_PHY_I2CM_INT_ADDR_DONE_POL = 0x08,
++ HDMI_PHY_I2CM_INT_ADDR_DONE_MASK = 0x04,
++
++/* HDMI_PHY_I2CM_CTLINT_ADDR */
++ HDMI_PHY_I2CM_CTLINT_ADDR_NAC_POL = 0x80,
++ HDMI_PHY_I2CM_CTLINT_ADDR_NAC_MASK = 0x40,
++ HDMI_PHY_I2CM_CTLINT_ADDR_ARBITRATION_POL = 0x08,
++ HDMI_PHY_I2CM_CTLINT_ADDR_ARBITRATION_MASK = 0x04,
++
++/* AUD_CONF0 field values */
++ HDMI_AUD_CONF0_SW_RESET = 0x80,
++ HDMI_AUD_CONF0_I2S_ALL_ENABLE = 0x2F,
++
++/* AUD_CONF1 field values */
++ HDMI_AUD_CONF1_MODE_I2S = 0x00,
++ HDMI_AUD_CONF1_MODE_RIGHT_J = 0x02,
++ HDMI_AUD_CONF1_MODE_LEFT_J = 0x04,
++ HDMI_AUD_CONF1_WIDTH_16 = 0x10,
++ HDMI_AUD_CONF1_WIDTH_24 = 0x18,
++
++/* AUD_CTS3 field values */
++ HDMI_AUD_CTS3_N_SHIFT_OFFSET = 5,
++ HDMI_AUD_CTS3_N_SHIFT_MASK = 0xe0,
++ HDMI_AUD_CTS3_N_SHIFT_1 = 0,
++ HDMI_AUD_CTS3_N_SHIFT_16 = 0x20,
++ HDMI_AUD_CTS3_N_SHIFT_32 = 0x40,
++ HDMI_AUD_CTS3_N_SHIFT_64 = 0x60,
++ HDMI_AUD_CTS3_N_SHIFT_128 = 0x80,
++ HDMI_AUD_CTS3_N_SHIFT_256 = 0xa0,
++ /* note that the CTS3 MANUAL bit has been removed
++ from our part. Can't set it, will read as 0. */
++ HDMI_AUD_CTS3_CTS_MANUAL = 0x10,
++ HDMI_AUD_CTS3_AUDCTS19_16_MASK = 0x0f,
++
++/* HDMI_AUD_INPUTCLKFS field values */
++ HDMI_AUD_INPUTCLKFS_128FS = 0,
++ HDMI_AUD_INPUTCLKFS_256FS = 1,
++ HDMI_AUD_INPUTCLKFS_512FS = 2,
++ HDMI_AUD_INPUTCLKFS_64FS = 4,
++
++/* AHB_DMA_CONF0 field values */
++ HDMI_AHB_DMA_CONF0_SW_FIFO_RST_OFFSET = 7,
++ HDMI_AHB_DMA_CONF0_SW_FIFO_RST_MASK = 0x80,
++ HDMI_AHB_DMA_CONF0_HBR = 0x10,
++ HDMI_AHB_DMA_CONF0_EN_HLOCK_OFFSET = 3,
++ HDMI_AHB_DMA_CONF0_EN_HLOCK_MASK = 0x08,
++ HDMI_AHB_DMA_CONF0_INCR_TYPE_OFFSET = 1,
++ HDMI_AHB_DMA_CONF0_INCR_TYPE_MASK = 0x06,
++ HDMI_AHB_DMA_CONF0_INCR4 = 0x0,
++ HDMI_AHB_DMA_CONF0_INCR8 = 0x2,
++ HDMI_AHB_DMA_CONF0_INCR16 = 0x4,
++ HDMI_AHB_DMA_CONF0_BURST_MODE = 0x1,
++
++/* HDMI_AHB_DMA_START field values */
++ HDMI_AHB_DMA_START_START_OFFSET = 0,
++ HDMI_AHB_DMA_START_START_MASK = 0x01,
++
++/* HDMI_AHB_DMA_STOP field values */
++ HDMI_AHB_DMA_STOP_STOP_OFFSET = 0,
++ HDMI_AHB_DMA_STOP_STOP_MASK = 0x01,
++
++/* AHB_DMA_STAT, AHB_DMA_INT, AHB_DMA_MASK, AHB_DMA_POL field values */
++ HDMI_AHB_DMA_DONE = 0x80,
++ HDMI_AHB_DMA_RETRY_SPLIT = 0x40,
++ HDMI_AHB_DMA_LOSTOWNERSHIP = 0x20,
++ HDMI_AHB_DMA_ERROR = 0x10,
++ HDMI_AHB_DMA_FIFO_THREMPTY = 0x04,
++ HDMI_AHB_DMA_FIFO_FULL = 0x02,
++ HDMI_AHB_DMA_FIFO_EMPTY = 0x01,
++
++/* AHB_DMA_BUFFSTAT, AHB_DMA_BUFFINT,AHB_DMA_BUFFMASK,AHB_DMA_BUFFPOL values */
++ HDMI_AHB_DMA_BUFFSTAT_FULL = 0x02,
++ HDMI_AHB_DMA_BUFFSTAT_EMPTY = 0x01,
++
++/* MC_CLKDIS field values */
++ HDMI_MC_CLKDIS_HDCPCLK_DISABLE = 0x40,
++ HDMI_MC_CLKDIS_CECCLK_DISABLE = 0x20,
++ HDMI_MC_CLKDIS_CSCCLK_DISABLE = 0x10,
++ HDMI_MC_CLKDIS_AUDCLK_DISABLE = 0x8,
++ HDMI_MC_CLKDIS_PREPCLK_DISABLE = 0x4,
++ HDMI_MC_CLKDIS_TMDSCLK_DISABLE = 0x2,
++ HDMI_MC_CLKDIS_PIXELCLK_DISABLE = 0x1,
++
++/* MC_SWRSTZ field values */
++ HDMI_MC_SWRSTZ_TMDSSWRST_REQ = 0x02,
++
++/* MC_FLOWCTRL field values */
++ HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_MASK = 0x1,
++ HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_IN_PATH = 0x1,
++ HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_BYPASS = 0x0,
++
++/* MC_PHYRSTZ field values */
++ HDMI_MC_PHYRSTZ_PHYRSTZ = 0x01,
++
++/* MC_HEACPHY_RST field values */
++ HDMI_MC_HEACPHY_RST_ASSERT = 0x1,
++ HDMI_MC_HEACPHY_RST_DEASSERT = 0x0,
++
++/* CSC_CFG field values */
++ HDMI_CSC_CFG_INTMODE_MASK = 0x30,
++ HDMI_CSC_CFG_INTMODE_OFFSET = 4,
++ HDMI_CSC_CFG_INTMODE_DISABLE = 0x00,
++ HDMI_CSC_CFG_INTMODE_CHROMA_INT_FORMULA1 = 0x10,
++ HDMI_CSC_CFG_INTMODE_CHROMA_INT_FORMULA2 = 0x20,
++ HDMI_CSC_CFG_DECMODE_MASK = 0x3,
++ HDMI_CSC_CFG_DECMODE_OFFSET = 0,
++ HDMI_CSC_CFG_DECMODE_DISABLE = 0x0,
++ HDMI_CSC_CFG_DECMODE_CHROMA_INT_FORMULA1 = 0x1,
++ HDMI_CSC_CFG_DECMODE_CHROMA_INT_FORMULA2 = 0x2,
++ HDMI_CSC_CFG_DECMODE_CHROMA_INT_FORMULA3 = 0x3,
++
++/* CSC_SCALE field values */
++ HDMI_CSC_SCALE_CSC_COLORDE_PTH_MASK = 0xF0,
++ HDMI_CSC_SCALE_CSC_COLORDE_PTH_24BPP = 0x00,
++ HDMI_CSC_SCALE_CSC_COLORDE_PTH_30BPP = 0x50,
++ HDMI_CSC_SCALE_CSC_COLORDE_PTH_36BPP = 0x60,
++ HDMI_CSC_SCALE_CSC_COLORDE_PTH_48BPP = 0x70,
++ HDMI_CSC_SCALE_CSCSCALE_MASK = 0x03,
++
++/* A_HDCPCFG0 field values */
++ HDMI_A_HDCPCFG0_ELVENA_MASK = 0x80,
++ HDMI_A_HDCPCFG0_ELVENA_ENABLE = 0x80,
++ HDMI_A_HDCPCFG0_ELVENA_DISABLE = 0x00,
++ HDMI_A_HDCPCFG0_I2CFASTMODE_MASK = 0x40,
++ HDMI_A_HDCPCFG0_I2CFASTMODE_ENABLE = 0x40,
++ HDMI_A_HDCPCFG0_I2CFASTMODE_DISABLE = 0x00,
++ HDMI_A_HDCPCFG0_BYPENCRYPTION_MASK = 0x20,
++ HDMI_A_HDCPCFG0_BYPENCRYPTION_ENABLE = 0x20,
++ HDMI_A_HDCPCFG0_BYPENCRYPTION_DISABLE = 0x00,
++ HDMI_A_HDCPCFG0_SYNCRICHECK_MASK = 0x10,
++ HDMI_A_HDCPCFG0_SYNCRICHECK_ENABLE = 0x10,
++ HDMI_A_HDCPCFG0_SYNCRICHECK_DISABLE = 0x00,
++ HDMI_A_HDCPCFG0_AVMUTE_MASK = 0x8,
++ HDMI_A_HDCPCFG0_AVMUTE_ENABLE = 0x8,
++ HDMI_A_HDCPCFG0_AVMUTE_DISABLE = 0x0,
++ HDMI_A_HDCPCFG0_RXDETECT_MASK = 0x4,
++ HDMI_A_HDCPCFG0_RXDETECT_ENABLE = 0x4,
++ HDMI_A_HDCPCFG0_RXDETECT_DISABLE = 0x0,
++ HDMI_A_HDCPCFG0_EN11FEATURE_MASK = 0x2,
++ HDMI_A_HDCPCFG0_EN11FEATURE_ENABLE = 0x2,
++ HDMI_A_HDCPCFG0_EN11FEATURE_DISABLE = 0x0,
++ HDMI_A_HDCPCFG0_HDMIDVI_MASK = 0x1,
++ HDMI_A_HDCPCFG0_HDMIDVI_HDMI = 0x1,
++ HDMI_A_HDCPCFG0_HDMIDVI_DVI = 0x0,
++
++/* A_HDCPCFG1 field values */
++ HDMI_A_HDCPCFG1_DISSHA1CHECK_MASK = 0x8,
++ HDMI_A_HDCPCFG1_DISSHA1CHECK_DISABLE = 0x8,
++ HDMI_A_HDCPCFG1_DISSHA1CHECK_ENABLE = 0x0,
++ HDMI_A_HDCPCFG1_PH2UPSHFTENC_MASK = 0x4,
++ HDMI_A_HDCPCFG1_PH2UPSHFTENC_ENABLE = 0x4,
++ HDMI_A_HDCPCFG1_PH2UPSHFTENC_DISABLE = 0x0,
++ HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_MASK = 0x2,
++ HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_DISABLE = 0x2,
++ HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_ENABLE = 0x0,
++ HDMI_A_HDCPCFG1_SWRESET_MASK = 0x1,
++ HDMI_A_HDCPCFG1_SWRESET_ASSERT = 0x0,
++
++/* A_VIDPOLCFG field values */
++ HDMI_A_VIDPOLCFG_UNENCRYPTCONF_MASK = 0x60,
++ HDMI_A_VIDPOLCFG_UNENCRYPTCONF_OFFSET = 5,
++ HDMI_A_VIDPOLCFG_DATAENPOL_MASK = 0x10,
++ HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_HIGH = 0x10,
++ HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_LOW = 0x0,
++ HDMI_A_VIDPOLCFG_VSYNCPOL_MASK = 0x8,
++ HDMI_A_VIDPOLCFG_VSYNCPOL_ACTIVE_HIGH = 0x8,
++ HDMI_A_VIDPOLCFG_VSYNCPOL_ACTIVE_LOW = 0x0,
++ HDMI_A_VIDPOLCFG_HSYNCPOL_MASK = 0x2,
++ HDMI_A_VIDPOLCFG_HSYNCPOL_ACTIVE_HIGH = 0x2,
++ HDMI_A_VIDPOLCFG_HSYNCPOL_ACTIVE_LOW = 0x0,
++
++/* I2CM_OPERATION field values */
++ HDMI_I2CM_OPERATION_WRITE = 0x10,
++ HDMI_I2CM_OPERATION_READ_EXT = 0x2,
++ HDMI_I2CM_OPERATION_READ = 0x1,
++
++/* I2CM_INT field values */
++ HDMI_I2CM_INT_DONE_POL = 0x8,
++ HDMI_I2CM_INT_DONE_MASK = 0x4,
++
++/* I2CM_CTLINT field values */
++ HDMI_I2CM_CTLINT_NAC_POL = 0x80,
++ HDMI_I2CM_CTLINT_NAC_MASK = 0x40,
++ HDMI_I2CM_CTLINT_ARB_POL = 0x8,
++ HDMI_I2CM_CTLINT_ARB_MASK = 0x4,
++};
++
++/*
++ * HDMI 3D TX PHY registers
++ */
++#define HDMI_3D_TX_PHY_PWRCTRL 0x00
++#define HDMI_3D_TX_PHY_SERDIVCTRL 0x01
++#define HDMI_3D_TX_PHY_SERCKCTRL 0x02
++#define HDMI_3D_TX_PHY_SERCKKILLCTRL 0x03
++#define HDMI_3D_TX_PHY_TXRESCTRL 0x04
++#define HDMI_3D_TX_PHY_CKCALCTRL 0x05
++#define HDMI_3D_TX_PHY_CPCE_CTRL 0x06
++#define HDMI_3D_TX_PHY_TXCLKMEASCTRL 0x07
++#define HDMI_3D_TX_PHY_TXMEASCTRL 0x08
++#define HDMI_3D_TX_PHY_CKSYMTXCTRL 0x09
++#define HDMI_3D_TX_PHY_CMPSEQCTRL 0x0a
++#define HDMI_3D_TX_PHY_CMPPWRCTRL 0x0b
++#define HDMI_3D_TX_PHY_CMPMODECTRL 0x0c
++#define HDMI_3D_TX_PHY_MEASCTRL 0x0d
++#define HDMI_3D_TX_PHY_VLEVCTRL 0x0e
++#define HDMI_3D_TX_PHY_D2ACTRL 0x0f
++#define HDMI_3D_TX_PHY_CURRCTRL 0x10
++#define HDMI_3D_TX_PHY_DRVANACTRL 0x11
++#define HDMI_3D_TX_PHY_PLLMEASCTRL 0x12
++#define HDMI_3D_TX_PHY_PLLPHBYCTRL 0x13
++#define HDMI_3D_TX_PHY_GRP_CTRL 0x14
++#define HDMI_3D_TX_PHY_GMPCTRL 0x15
++#define HDMI_3D_TX_PHY_MPLLMEASCTRL 0x16
++#define HDMI_3D_TX_PHY_MSM_CTRL 0x17
++#define HDMI_3D_TX_PHY_SCRPB_STATUS 0x18
++#define HDMI_3D_TX_PHY_TXTERM 0x19
++#define HDMI_3D_TX_PHY_PTRPT_ENBL 0x1a
++#define HDMI_3D_TX_PHY_PATTERNGEN 0x1b
++#define HDMI_3D_TX_PHY_SDCAP_MODE 0x1c
++#define HDMI_3D_TX_PHY_SCOPEMODE 0x1d
++#define HDMI_3D_TX_PHY_DIGTXMODE 0x1e
++#define HDMI_3D_TX_PHY_STR_STATUS 0x1f
++#define HDMI_3D_TX_PHY_SCOPECNT0 0x20
++#define HDMI_3D_TX_PHY_SCOPECNT1 0x21
++#define HDMI_3D_TX_PHY_SCOPECNT2 0x22
++#define HDMI_3D_TX_PHY_SCOPECNTCLK 0x23
++#define HDMI_3D_TX_PHY_SCOPESAMPLE 0x24
++#define HDMI_3D_TX_PHY_SCOPECNTMSB01 0x25
++#define HDMI_3D_TX_PHY_SCOPECNTMSB2CK 0x26
++
++/* HDMI_3D_TX_PHY_CKCALCTRL values */
++#define HDMI_3D_TX_PHY_CKCALCTRL_OVERRIDE BIT(15)
++
++/* HDMI_3D_TX_PHY_MSM_CTRL values */
++#define HDMI_3D_TX_PHY_MSM_CTRL_MPLL_PH_SEL_CK BIT(13)
++#define HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_CLK_REF_MPLL (0 << 1)
++#define HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_OFF (1 << 1)
++#define HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_PCLK (2 << 1)
++#define HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_FB_CLK (3 << 1)
++#define HDMI_3D_TX_PHY_MSM_CTRL_SCOPE_CK_SEL BIT(0)
++
++/* HDMI_3D_TX_PHY_PTRPT_ENBL values */
++#define HDMI_3D_TX_PHY_PTRPT_ENBL_OVERRIDE BIT(15)
++#define HDMI_3D_TX_PHY_PTRPT_ENBL_PG_SKIP_BIT2 BIT(8)
++#define HDMI_3D_TX_PHY_PTRPT_ENBL_PG_SKIP_BIT1 BIT(7)
++#define HDMI_3D_TX_PHY_PTRPT_ENBL_PG_SKIP_BIT0 BIT(6)
++#define HDMI_3D_TX_PHY_PTRPT_ENBL_CK_REF_ENB BIT(5)
++#define HDMI_3D_TX_PHY_PTRPT_ENBL_RCAL_ENB BIT(4)
++#define HDMI_3D_TX_PHY_PTRPT_ENBL_TX_CLK_ALIGN_ENB BIT(3)
++#define HDMI_3D_TX_PHY_PTRPT_ENBL_TX_READY BIT(2)
++#define HDMI_3D_TX_PHY_PTRPT_ENBL_CKO_WORD_ENB BIT(1)
++#define HDMI_3D_TX_PHY_PTRPT_ENBL_REFCLK_ENB BIT(0)
++
++#endif /* __DW_HDMI_H__ */
diff --git a/patches.renesas/0235-drm-bridge-dw_hdmi-support-i2c-extended-read-mode.patch b/patches.renesas/0235-drm-bridge-dw_hdmi-support-i2c-extended-read-mode.patch
index 98cd149be42995..cc42c2ffe23460 100644
--- a/patches.renesas/0235-drm-bridge-dw_hdmi-support-i2c-extended-read-mode.patch
+++ b/patches.renesas/0235-drm-bridge-dw_hdmi-support-i2c-extended-read-mode.patch
@@ -22,11 +22,9 @@ Link: http://patchwork.freedesktop.org/patch/msgid/1489978651-16647-1-git-send-e
(cherry picked from commit 94bb4dc132ed2e3a4d16649b0096c49d13670fe8)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 38 +++++++++++++++++++------------
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 38 ++++++++++++++++++------------
1 file changed, 24 insertions(+), 14 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 026a0dce7661..0d112cf6b969 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -33,6 +33,7 @@
@@ -45,7 +43,7 @@ index 026a0dce7661..0d112cf6b969 100644
};
struct dw_hdmi_phy_data {
-@@ -247,8 +249,12 @@ static int dw_hdmi_i2c_read(struct dw_hdmi *hdmi,
+@@ -247,8 +249,12 @@ static int dw_hdmi_i2c_read(struct dw_hd
reinit_completion(&i2c->cmp);
hdmi_writeb(hdmi, i2c->slave_reg++, HDMI_I2CM_ADDRESS);
@@ -60,7 +58,7 @@ index 026a0dce7661..0d112cf6b969 100644
stat = wait_for_completion_timeout(&i2c->cmp, HZ / 10);
if (!stat)
-@@ -260,6 +266,7 @@ static int dw_hdmi_i2c_read(struct dw_hdmi *hdmi,
+@@ -260,6 +266,7 @@ static int dw_hdmi_i2c_read(struct dw_hd
*buf++ = hdmi_readb(hdmi, HDMI_I2CM_DATAI);
}
@@ -68,7 +66,7 @@ index 026a0dce7661..0d112cf6b969 100644
return 0;
}
-@@ -309,12 +316,6 @@ static int dw_hdmi_i2c_xfer(struct i2c_adapter *adap,
+@@ -309,12 +316,6 @@ static int dw_hdmi_i2c_xfer(struct i2c_a
dev_dbg(hdmi->dev, "xfer: num: %d, addr: %#x\n", num, addr);
for (i = 0; i < num; i++) {
@@ -81,7 +79,7 @@ index 026a0dce7661..0d112cf6b969 100644
if (msgs[i].len == 0) {
dev_dbg(hdmi->dev,
"unsupported transfer %d/%d, no data\n",
-@@ -334,15 +335,24 @@ static int dw_hdmi_i2c_xfer(struct i2c_adapter *adap,
+@@ -334,15 +335,24 @@ static int dw_hdmi_i2c_xfer(struct i2c_a
/* Set slave device register address on transfer */
i2c->is_regaddr = false;
@@ -112,6 +110,3 @@ index 026a0dce7661..0d112cf6b969 100644
if (ret < 0)
break;
}
---
-2.13.3
-
diff --git a/patches.renesas/0236-drm-bridge-dw-hdmi-add-HDMI-vendor-specific-infofram.patch b/patches.renesas/0236-drm-bridge-dw-hdmi-add-HDMI-vendor-specific-infofram.patch
index ba70b6607d33e4..e2c84db5a6eb65 100644
--- a/patches.renesas/0236-drm-bridge-dw-hdmi-add-HDMI-vendor-specific-infofram.patch
+++ b/patches.renesas/0236-drm-bridge-dw-hdmi-add-HDMI-vendor-specific-infofram.patch
@@ -14,15 +14,13 @@ Link: http://patchwork.freedesktop.org/patch/msgid/1490081777-2232-1-git-send-em
(cherry picked from commit 9aa1eca095579b8a8ea84d9bbd1fbdeff49cebd4)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 53 +++++++++++++++++++++++++++++++
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.h | 4 +++
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 53 ++++++++++++++++++++++++++++++
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.h | 4 ++
2 files changed, 57 insertions(+)
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 0d112cf6b969..af93f7a20697 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -1240,6 +1240,58 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+@@ -1240,6 +1240,58 @@ static void hdmi_config_AVI(struct dw_hd
hdmi_writeb(hdmi, (frame.right_bar >> 8) & 0xff, HDMI_FC_AVISRB1);
}
@@ -81,7 +79,7 @@ index 0d112cf6b969..af93f7a20697 100644
static void hdmi_av_composer(struct dw_hdmi *hdmi,
const struct drm_display_mode *mode)
{
-@@ -1489,6 +1541,7 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+@@ -1489,6 +1541,7 @@ static int dw_hdmi_setup(struct dw_hdmi
/* HDMI Initialization Step F - Configure AVI InfoFrame */
hdmi_config_AVI(hdmi, mode);
@@ -89,8 +87,6 @@ index 0d112cf6b969..af93f7a20697 100644
} else {
dev_dbg(hdmi->dev, "%s DVI mode\n", __func__);
}
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
-index 325b0b8ae639..c59f87e1483e 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
@@ -854,6 +854,10 @@ enum {
@@ -104,6 +100,3 @@ index 325b0b8ae639..c59f87e1483e 100644
/* PHY_CONF0 field values */
HDMI_PHY_CONF0_PDZ_MASK = 0x80,
HDMI_PHY_CONF0_PDZ_OFFSET = 7,
---
-2.13.3
-
diff --git a/patches.renesas/0237-drm-dw_hdmi-Don-t-rely-on-the-status-of-the-bridge-f.patch b/patches.renesas/0237-drm-dw_hdmi-Don-t-rely-on-the-status-of-the-bridge-f.patch
index c1355648070ca0..1c55b49d1bdc09 100644
--- a/patches.renesas/0237-drm-dw_hdmi-Don-t-rely-on-the-status-of-the-bridge-f.patch
+++ b/patches.renesas/0237-drm-dw_hdmi-Don-t-rely-on-the-status-of-the-bridge-f.patch
@@ -54,14 +54,12 @@ Link: https://patchwork.freedesktop.org/patch/143602/
(cherry picked from commit 187697a4544c20d4b77193275a7e10f85506d14d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +-
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index af93f7a20697..32f02e92e0b9 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -1916,7 +1916,7 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id)
+@@ -1916,7 +1916,7 @@ static irqreturn_t dw_hdmi_irq(int irq,
if (intr_stat &
(HDMI_IH_PHY_STAT0_RX_SENSE | HDMI_IH_PHY_STAT0_HPD)) {
mutex_lock(&hdmi->mutex);
@@ -70,6 +68,3 @@ index af93f7a20697..32f02e92e0b9 100644
/*
* If the RX sense status indicates we're disconnected,
* clear the software rxsense status.
---
-2.13.3
-
diff --git a/patches.renesas/0238-dt-bindings-display-renesas-Add-R-Car-Gen3-HDMI-TX-D.patch b/patches.renesas/0238-dt-bindings-display-renesas-Add-R-Car-Gen3-HDMI-TX-D.patch
index 091b5a2a46f7af..8513ed318d97b3 100644
--- a/patches.renesas/0238-dt-bindings-display-renesas-Add-R-Car-Gen3-HDMI-TX-D.patch
+++ b/patches.renesas/0238-dt-bindings-display-renesas-Add-R-Car-Gen3-HDMI-TX-D.patch
@@ -13,14 +13,11 @@ Acked-by: Rob Herring <robh@kernel.org>
(cherry picked from commit 907c1bbd513db7e9aee63b31627c325e39e7d9ba)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- .../bindings/display/bridge/renesas,dw-hdmi.txt | 75 ++++++++++++++++++++++
- MAINTAINERS | 1 +
+ Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt | 75 ++++++++++
+ MAINTAINERS | 1
2 files changed, 76 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt
-diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt b/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt
-new file mode 100644
-index 000000000000..f6b3f36d422b
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt
@@ -0,0 +1,75 @@
@@ -99,8 +96,6 @@ index 000000000000..f6b3f36d422b
+ };
+ };
+ };
-diff --git a/MAINTAINERS b/MAINTAINERS
-index f9c1c75a6af9..2e2d94be8c54 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4207,6 +4207,7 @@ S: Supported
@@ -111,6 +106,3 @@ index f9c1c75a6af9..2e2d94be8c54 100644
F: Documentation/devicetree/bindings/display/renesas,du.txt
DRM DRIVER FOR QXL VIRTUAL GPU
---
-2.13.3
-
diff --git a/patches.renesas/0239-drm-bridge-dw-hdmi-Extract-PHY-interrupt-setup-to-a-.patch b/patches.renesas/0239-drm-bridge-dw-hdmi-Extract-PHY-interrupt-setup-to-a-.patch
index a2d6db203613f4..d44b99da6ff2ac 100644
--- a/patches.renesas/0239-drm-bridge-dw-hdmi-Extract-PHY-interrupt-setup-to-a-.patch
+++ b/patches.renesas/0239-drm-bridge-dw-hdmi-Extract-PHY-interrupt-setup-to-a-.patch
@@ -17,14 +17,12 @@ Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
(cherry picked from commit a23d6265f033501529932db2d6b3f4bc138552ab)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 51 ++++++++++++++-----------------
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 51 +++++++++++++-----------------
1 file changed, 23 insertions(+), 28 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 32f02e92e0b9..ff1fae3a31a4 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -1558,8 +1558,7 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+@@ -1558,8 +1558,7 @@ static int dw_hdmi_setup(struct dw_hdmi
return 0;
}
@@ -34,7 +32,7 @@ index 32f02e92e0b9..ff1fae3a31a4 100644
{
hdmi_writeb(hdmi, HDMI_PHY_I2CM_INT_ADDR_DONE_POL,
HDMI_PHY_I2CM_INT_ADDR);
-@@ -1567,15 +1566,6 @@ static int dw_hdmi_fb_registered(struct dw_hdmi *hdmi)
+@@ -1567,15 +1566,6 @@ static int dw_hdmi_fb_registered(struct
hdmi_writeb(hdmi, HDMI_PHY_I2CM_CTLINT_ADDR_NAC_POL |
HDMI_PHY_I2CM_CTLINT_ADDR_ARBITRATION_POL,
HDMI_PHY_I2CM_CTLINT_ADDR);
@@ -50,7 +48,7 @@ index 32f02e92e0b9..ff1fae3a31a4 100644
}
static void initialize_hdmi_ih_mutes(struct dw_hdmi *hdmi)
-@@ -1693,6 +1683,26 @@ static void dw_hdmi_update_phy_mask(struct dw_hdmi *hdmi)
+@@ -1693,6 +1683,26 @@ static void dw_hdmi_update_phy_mask(stru
hdmi_writeb(hdmi, hdmi->phy_mask, HDMI_PHY_MASK0);
}
@@ -77,7 +75,7 @@ index 32f02e92e0b9..ff1fae3a31a4 100644
static enum drm_connector_status
dw_hdmi_connector_detect(struct drm_connector *connector, bool force)
{
-@@ -2204,29 +2214,14 @@ __dw_hdmi_probe(struct platform_device *pdev,
+@@ -2204,29 +2214,14 @@ __dw_hdmi_probe(struct platform_device *
hdmi->ddc = NULL;
}
@@ -109,6 +107,3 @@ index 32f02e92e0b9..ff1fae3a31a4 100644
memset(&pdevinfo, 0, sizeof(pdevinfo));
pdevinfo.parent = dev;
---
-2.13.3
-
diff --git a/patches.renesas/0240-media-uapi-Add-RGB-and-YUV-bus-formats-for-Synopsys-.patch b/patches.renesas/0240-media-uapi-Add-RGB-and-YUV-bus-formats-for-Synopsys-.patch
index 8e54646ca71318..c4225cf62a56da 100644
--- a/patches.renesas/0240-media-uapi-Add-RGB-and-YUV-bus-formats-for-Synopsys-.patch
+++ b/patches.renesas/0240-media-uapi-Add-RGB-and-YUV-bus-formats-for-Synopsys-.patch
@@ -20,11 +20,9 @@ Link: http://patchwork.freedesktop.org/patch/msgid/1491230558-10804-3-git-send-e
(cherry picked from commit d0353118fd589c127875290017c7fdd266937bee)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- include/uapi/linux/media-bus-format.h | 13 +++++++++++--
+ include/uapi/linux/media-bus-format.h | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
-diff --git a/include/uapi/linux/media-bus-format.h b/include/uapi/linux/media-bus-format.h
-index 2168759c1287..ef6fb307d2ce 100644
--- a/include/uapi/linux/media-bus-format.h
+++ b/include/uapi/linux/media-bus-format.h
@@ -33,7 +33,7 @@
@@ -68,6 +66,3 @@ index 2168759c1287..ef6fb307d2ce 100644
/* Bayer - next is 0x3021 */
#define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001
---
-2.13.3
-
diff --git a/patches.renesas/0241-drm-bridge-dw-hdmi-Switch-to-V4L-bus-format-and-enco.patch b/patches.renesas/0241-drm-bridge-dw-hdmi-Switch-to-V4L-bus-format-and-enco.patch
index bfb3d3b109c918..1e1e777b77db6c 100644
--- a/patches.renesas/0241-drm-bridge-dw-hdmi-Switch-to-V4L-bus-format-and-enco.patch
+++ b/patches.renesas/0241-drm-bridge-dw-hdmi-Switch-to-V4L-bus-format-and-enco.patch
@@ -17,12 +17,10 @@ Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
(cherry picked from commit def23aa7e9821a3dfe3fb7b139dd0229a89fdeb0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 326 +++++++++++++++++++++---------
- include/drm/bridge/dw_hdmi.h | 63 ++++++
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 326 +++++++++++++++++++++---------
+ include/drm/bridge/dw_hdmi.h | 63 +++++
2 files changed, 294 insertions(+), 95 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index ff1fae3a31a4..16d5fff3e697 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -30,18 +30,15 @@
@@ -62,7 +60,7 @@ index ff1fae3a31a4..16d5fff3e697 100644
unsigned int pix_repet_factor;
unsigned int hdcp_enable;
struct hdmi_vmode video_mode;
-@@ -567,6 +564,92 @@ void dw_hdmi_audio_disable(struct dw_hdmi *hdmi)
+@@ -567,6 +564,92 @@ void dw_hdmi_audio_disable(struct dw_hdm
}
EXPORT_SYMBOL_GPL(dw_hdmi_audio_disable);
@@ -155,7 +153,7 @@ index ff1fae3a31a4..16d5fff3e697 100644
/*
* this submodule is responsible for the video data synchronization.
* for example, for RGB 4:4:4 input, the data map is defined as
-@@ -579,37 +662,49 @@ static void hdmi_video_sample(struct dw_hdmi *hdmi)
+@@ -579,37 +662,49 @@ static void hdmi_video_sample(struct dw_
int color_format = 0;
u8 val;
@@ -236,7 +234,7 @@ index ff1fae3a31a4..16d5fff3e697 100644
}
val = HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_DISABLE |
-@@ -632,26 +727,30 @@ static void hdmi_video_sample(struct dw_hdmi *hdmi)
+@@ -632,26 +727,30 @@ static void hdmi_video_sample(struct dw_
static int is_color_space_conversion(struct dw_hdmi *hdmi)
{
@@ -274,7 +272,7 @@ index ff1fae3a31a4..16d5fff3e697 100644
return 0;
}
-@@ -662,15 +761,16 @@ static void dw_hdmi_update_csc_coeffs(struct dw_hdmi *hdmi)
+@@ -662,15 +761,16 @@ static void dw_hdmi_update_csc_coeffs(st
u32 csc_scale = 1;
if (is_color_space_conversion(hdmi)) {
@@ -297,7 +295,7 @@ index ff1fae3a31a4..16d5fff3e697 100644
csc_coeff = &csc_coeff_rgb_in_eitu601;
else
csc_coeff = &csc_coeff_rgb_in_eitu709;
-@@ -708,16 +808,23 @@ static void hdmi_video_csc(struct dw_hdmi *hdmi)
+@@ -708,16 +808,23 @@ static void hdmi_video_csc(struct dw_hdm
else if (is_color_space_decimation(hdmi))
decimation = HDMI_CSC_CFG_DECMODE_CHROMA_INT_FORMULA3;
@@ -326,7 +324,7 @@ index ff1fae3a31a4..16d5fff3e697 100644
/* Configure the CSC registers */
hdmi_writeb(hdmi, interpolation | decimation, HDMI_CSC_CFG);
-@@ -740,32 +847,43 @@ static void hdmi_video_packetize(struct dw_hdmi *hdmi)
+@@ -740,32 +847,43 @@ static void hdmi_video_packetize(struct
struct hdmi_data_info *hdmi_data = &hdmi->hdmi_data;
u8 val, vp_conf;
@@ -386,7 +384,7 @@ index ff1fae3a31a4..16d5fff3e697 100644
output_select = HDMI_VP_CONF_OUTPUT_SELECTOR_YCC422;
} else {
return;
-@@ -1148,28 +1266,35 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+@@ -1148,28 +1266,35 @@ static void hdmi_config_AVI(struct dw_hd
/* Initialise info frame from DRM mode */
drm_hdmi_avi_infoframe_from_display_mode(&frame, mode);
@@ -436,7 +434,7 @@ index ff1fae3a31a4..16d5fff3e697 100644
}
frame.scan_mode = HDMI_SCAN_MODE_NONE;
-@@ -1498,19 +1623,30 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+@@ -1498,19 +1623,30 @@ static int dw_hdmi_setup(struct dw_hdmi
(hdmi->vic == 21) || (hdmi->vic == 22) ||
(hdmi->vic == 2) || (hdmi->vic == 3) ||
(hdmi->vic == 17) || (hdmi->vic == 18))
@@ -473,8 +471,6 @@ index ff1fae3a31a4..16d5fff3e697 100644
hdmi->hdmi_data.pix_repet_factor = 0;
hdmi->hdmi_data.hdcp_enable = 0;
hdmi->hdmi_data.video_mode.mdataenablepolarity = true;
-diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
-index bcceee8114a4..5d6b92c6c0bc 100644
--- a/include/drm/bridge/dw_hdmi.h
+++ b/include/drm/bridge/dw_hdmi.h
@@ -14,6 +14,67 @@
@@ -554,6 +550,3 @@ index bcceee8114a4..5d6b92c6c0bc 100644
/* Vendor PHY support */
const struct dw_hdmi_phy_ops *phy_ops;
---
-2.13.3
-
diff --git a/patches.renesas/0242-drm-bridge-dw-hdmi-Move-HPD-handling-to-PHY-operatio.patch b/patches.renesas/0242-drm-bridge-dw-hdmi-Move-HPD-handling-to-PHY-operatio.patch
index 49e3a2de7674ef..b405d2bd9a4bad 100644
--- a/patches.renesas/0242-drm-bridge-dw-hdmi-Move-HPD-handling-to-PHY-operatio.patch
+++ b/patches.renesas/0242-drm-bridge-dw-hdmi-Move-HPD-handling-to-PHY-operatio.patch
@@ -21,15 +21,13 @@ Link: http://patchwork.freedesktop.org/patch/msgid/1491309119-24220-2-git-send-e
(cherry picked from commit 386d3299ef7298a3bc57e2ff3498ce41ac7f6184)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 135 ++++++++++++++++++------------
- include/drm/bridge/dw_hdmi.h | 5 ++
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 135 ++++++++++++++++++------------
+ include/drm/bridge/dw_hdmi.h | 5 +
2 files changed, 86 insertions(+), 54 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 16d5fff3e697..84cc949eae2b 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -1229,10 +1229,46 @@ static enum drm_connector_status dw_hdmi_phy_read_hpd(struct dw_hdmi *hdmi,
+@@ -1229,10 +1229,46 @@ static enum drm_connector_status dw_hdmi
connector_status_connected : connector_status_disconnected;
}
@@ -76,7 +74,7 @@ index 16d5fff3e697..84cc949eae2b 100644
};
/* -----------------------------------------------------------------------------
-@@ -1808,35 +1844,10 @@ static void dw_hdmi_update_power(struct dw_hdmi *hdmi)
+@@ -1808,35 +1844,10 @@ static void dw_hdmi_update_power(struct
*/
static void dw_hdmi_update_phy_mask(struct dw_hdmi *hdmi)
{
@@ -116,7 +114,7 @@ index 16d5fff3e697..84cc949eae2b 100644
}
static enum drm_connector_status
-@@ -2028,6 +2039,41 @@ static irqreturn_t dw_hdmi_hardirq(int irq, void *dev_id)
+@@ -2028,6 +2039,41 @@ static irqreturn_t dw_hdmi_hardirq(int i
return ret;
}
@@ -158,7 +156,7 @@ index 16d5fff3e697..84cc949eae2b 100644
static irqreturn_t dw_hdmi_irq(int irq, void *dev_id)
{
struct dw_hdmi *hdmi = dev_id;
-@@ -2060,30 +2106,10 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id)
+@@ -2060,30 +2106,10 @@ static irqreturn_t dw_hdmi_irq(int irq,
* ask the source to re-read the EDID.
*/
if (intr_stat &
@@ -193,7 +191,7 @@ index 16d5fff3e697..84cc949eae2b 100644
if (intr_stat & HDMI_IH_PHY_STAT0_HPD) {
dev_dbg(hdmi->dev, "EVENT=%s\n",
-@@ -2357,7 +2383,8 @@ __dw_hdmi_probe(struct platform_device *pdev,
+@@ -2357,7 +2383,8 @@ __dw_hdmi_probe(struct platform_device *
#endif
dw_hdmi_setup_i2c(hdmi);
@@ -203,8 +201,6 @@ index 16d5fff3e697..84cc949eae2b 100644
memset(&pdevinfo, 0, sizeof(pdevinfo));
pdevinfo.parent = dev;
-diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
-index 5d6b92c6c0bc..ed599bea3f6c 100644
--- a/include/drm/bridge/dw_hdmi.h
+++ b/include/drm/bridge/dw_hdmi.h
@@ -117,6 +117,9 @@ struct dw_hdmi_phy_ops {
@@ -226,6 +222,3 @@ index 5d6b92c6c0bc..ed599bea3f6c 100644
void dw_hdmi_set_sample_rate(struct dw_hdmi *hdmi, unsigned int rate);
void dw_hdmi_audio_enable(struct dw_hdmi *hdmi);
void dw_hdmi_audio_disable(struct dw_hdmi *hdmi);
---
-2.13.3
-
diff --git a/patches.renesas/0243-drm-bridge-dw-hdmi-remove-unused-hdmi_bus_fmt_is_yuv.patch b/patches.renesas/0243-drm-bridge-dw-hdmi-remove-unused-hdmi_bus_fmt_is_yuv.patch
index 68f7ef70032318..4db30a78b13126 100644
--- a/patches.renesas/0243-drm-bridge-dw-hdmi-remove-unused-hdmi_bus_fmt_is_yuv.patch
+++ b/patches.renesas/0243-drm-bridge-dw-hdmi-remove-unused-hdmi_bus_fmt_is_yuv.patch
@@ -13,14 +13,12 @@ Link: http://patchwork.freedesktop.org/patch/msgid/1491377579-9353-1-git-send-em
(cherry picked from commit 4c67b20c98a1a711cc010bff4927129d82a851c7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 14 --------------
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 14 --------------
1 file changed, 14 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 84cc949eae2b..7dd669945b55 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -605,20 +605,6 @@ static bool hdmi_bus_fmt_is_yuv422(unsigned int bus_format)
+@@ -605,20 +605,6 @@ static bool hdmi_bus_fmt_is_yuv422(unsig
}
}
@@ -41,6 +39,3 @@ index 84cc949eae2b..7dd669945b55 100644
static int hdmi_bus_fmt_color_depth(unsigned int bus_format)
{
switch (bus_format) {
---
-2.13.3
-
diff --git a/patches.renesas/0244-drm-bridge-dw-hdmi-Add-a-missing-break-statement.patch b/patches.renesas/0244-drm-bridge-dw-hdmi-Add-a-missing-break-statement.patch
index 8cb7de276787a7..aa7a6339729850 100644
--- a/patches.renesas/0244-drm-bridge-dw-hdmi-Add-a-missing-break-statement.patch
+++ b/patches.renesas/0244-drm-bridge-dw-hdmi-Add-a-missing-break-statement.patch
@@ -13,14 +13,12 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170406052132.GA26605@mwanda
(cherry picked from commit f40d6560eba65b2a2b84805d2927fed96978669a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 +
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 7dd669945b55..5dc5a5fa44f5 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -1304,6 +1304,7 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+@@ -1304,6 +1304,7 @@ static void hdmi_config_AVI(struct dw_hd
frame.colorimetry = HDMI_COLORIMETRY_ITU_601;
frame.extended_colorimetry =
HDMI_EXTENDED_COLORIMETRY_XV_YCC_601;
@@ -28,6 +26,3 @@ index 7dd669945b55..5dc5a5fa44f5 100644
case V4L2_YCBCR_ENC_709:
if (hdmi->hdmi_data.enc_in_encoding == V4L2_YCBCR_ENC_XV709)
frame.colorimetry = HDMI_COLORIMETRY_EXTENDED;
---
-2.13.3
-
diff --git a/patches.renesas/0245-drm-bridge-dw-hdmi-fix-input-format-encoding-from-pl.patch b/patches.renesas/0245-drm-bridge-dw-hdmi-fix-input-format-encoding-from-pl.patch
index 678be15f5fd3b2..b50ca021260531 100644
--- a/patches.renesas/0245-drm-bridge-dw-hdmi-fix-input-format-encoding-from-pl.patch
+++ b/patches.renesas/0245-drm-bridge-dw-hdmi-fix-input-format-encoding-from-pl.patch
@@ -31,14 +31,12 @@ Link: http://patchwork.freedesktop.org/patch/msgid/1491471244-24989-1-git-send-e
(cherry picked from commit e20c29aa722a90f3b8092b340362eabe488dbfc4)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 4 ++--
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 5dc5a5fa44f5..3bc856cc6daa 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -1654,14 +1654,14 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+@@ -1654,14 +1654,14 @@ static int dw_hdmi_setup(struct dw_hdmi
hdmi->hdmi_data.video_mode.mpixelrepetitioninput = 0;
/* TOFIX: Get input format from plat data or fallback to RGB888 */
@@ -55,6 +53,3 @@ index 5dc5a5fa44f5..3bc856cc6daa 100644
hdmi->hdmi_data.enc_in_encoding =
hdmi->plat_data->input_bus_encoding;
else
---
-2.13.3
-
diff --git a/patches.renesas/0246-drm-dw-hdmi-Implement-the-mode_fixup-drm-helper.patch b/patches.renesas/0246-drm-dw-hdmi-Implement-the-mode_fixup-drm-helper.patch
index f981cf91efc1df..f0f89ba27db9e8 100644
--- a/patches.renesas/0246-drm-dw-hdmi-Implement-the-mode_fixup-drm-helper.patch
+++ b/patches.renesas/0246-drm-dw-hdmi-Implement-the-mode_fixup-drm-helper.patch
@@ -24,14 +24,12 @@ Link: http://patchwork.freedesktop.org/patch/msgid/20170407121743.4142-1-romain.
(cherry picked from commit 6ce2ca580f10d8d76cc3661a0b6b88d419725c9c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 15 +++++++++++++++
+ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 3bc856cc6daa..4e1f54a675d8 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -1947,6 +1947,20 @@ static int dw_hdmi_bridge_attach(struct drm_bridge *bridge)
+@@ -1947,6 +1947,20 @@ static int dw_hdmi_bridge_attach(struct
return 0;
}
@@ -52,7 +50,7 @@ index 3bc856cc6daa..4e1f54a675d8 100644
static void dw_hdmi_bridge_mode_set(struct drm_bridge *bridge,
struct drm_display_mode *orig_mode,
struct drm_display_mode *mode)
-@@ -1988,6 +2002,7 @@ static const struct drm_bridge_funcs dw_hdmi_bridge_funcs = {
+@@ -1988,6 +2002,7 @@ static const struct drm_bridge_funcs dw_
.enable = dw_hdmi_bridge_enable,
.disable = dw_hdmi_bridge_disable,
.mode_set = dw_hdmi_bridge_mode_set,
@@ -60,6 +58,3 @@ index 3bc856cc6daa..4e1f54a675d8 100644
};
static irqreturn_t dw_hdmi_i2c_irq(struct dw_hdmi *hdmi)
---
-2.13.3
-
diff --git a/patches.renesas/0247-drm-rcar-du-Switch-to-encoder-.atomic_mode_set-helpe.patch b/patches.renesas/0247-drm-rcar-du-Switch-to-encoder-.atomic_mode_set-helpe.patch
index d01975ab235aca..f1320d4b7318e8 100644
--- a/patches.renesas/0247-drm-rcar-du-Switch-to-encoder-.atomic_mode_set-helpe.patch
+++ b/patches.renesas/0247-drm-rcar-du-Switch-to-encoder-.atomic_mode_set-helpe.patch
@@ -11,15 +11,13 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit e79a7dfafa3adedb7653f6d14fea3376db5285e2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 8 ++++----
- drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c | 8 ++++----
+ drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 8 ++++----
+ drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_encoder.c b/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
-index ab8645c57e2d..3974d9495f37 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
-@@ -83,16 +83,16 @@ static int rcar_du_encoder_atomic_check(struct drm_encoder *encoder,
+@@ -83,16 +83,16 @@ static int rcar_du_encoder_atomic_check(
}
static void rcar_du_encoder_mode_set(struct drm_encoder *encoder,
@@ -40,11 +38,9 @@ index ab8645c57e2d..3974d9495f37 100644
.disable = rcar_du_encoder_disable,
.enable = rcar_du_encoder_enable,
.atomic_check = rcar_du_encoder_atomic_check,
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c b/drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c
-index c4c5d1abcff8..933a2547798e 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c
-@@ -67,16 +67,16 @@ static int rcar_du_hdmienc_atomic_check(struct drm_encoder *encoder,
+@@ -67,16 +67,16 @@ static int rcar_du_hdmienc_atomic_check(
static void rcar_du_hdmienc_mode_set(struct drm_encoder *encoder,
@@ -65,6 +61,3 @@ index c4c5d1abcff8..933a2547798e 100644
.disable = rcar_du_hdmienc_disable,
.enable = rcar_du_hdmienc_enable,
.atomic_check = rcar_du_hdmienc_atomic_check,
---
-2.13.3
-
diff --git a/patches.renesas/0248-drm-rcar-du-Don-t-open-code-of_device_get_match_data.patch b/patches.renesas/0248-drm-rcar-du-Don-t-open-code-of_device_get_match_data.patch
index 8031f31d561348..42e28004cc7f1c 100644
--- a/patches.renesas/0248-drm-rcar-du-Don-t-open-code-of_device_get_match_data.patch
+++ b/patches.renesas/0248-drm-rcar-du-Don-t-open-code-of_device_get_match_data.patch
@@ -15,14 +15,12 @@ Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
(cherry picked from commit 9e7d80e648793d5bf263a3ec9cfb1cf29b86a6e0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 +-
+ drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
-index c05e00872778..e09e0e6194ba 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
-@@ -351,7 +351,7 @@ static int rcar_du_probe(struct platform_device *pdev)
+@@ -351,7 +351,7 @@ static int rcar_du_probe(struct platform
init_waitqueue_head(&rcdu->commit.wait);
rcdu->dev = &pdev->dev;
@@ -31,6 +29,3 @@ index c05e00872778..e09e0e6194ba 100644
platform_set_drvdata(pdev, rcdu);
---
-2.13.3
-
diff --git a/patches.renesas/0249-drm-rcar-du-Handle-event-when-disabling-CRTCs.patch b/patches.renesas/0249-drm-rcar-du-Handle-event-when-disabling-CRTCs.patch
index 232df2063add06..24e538a35e9df1 100644
--- a/patches.renesas/0249-drm-rcar-du-Handle-event-when-disabling-CRTCs.patch
+++ b/patches.renesas/0249-drm-rcar-du-Handle-event-when-disabling-CRTCs.patch
@@ -12,14 +12,12 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit 6dd47cfd03a058d08b8caffb06194aa0eb109cf1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 7 +++++++
+ drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
-index a2ec6d8796a0..3a81cc0fe299 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
-@@ -488,6 +488,13 @@ static void rcar_du_crtc_disable(struct drm_crtc *crtc)
+@@ -488,6 +488,13 @@ static void rcar_du_crtc_disable(struct
rcar_du_crtc_stop(rcrtc);
rcar_du_crtc_put(rcrtc);
@@ -33,6 +31,3 @@ index a2ec6d8796a0..3a81cc0fe299 100644
rcrtc->outputs = 0;
}
---
-2.13.3
-
diff --git a/patches.renesas/0250-drm-rcar-du-Clear-handled-event-pointer-in-CRTC-stat.patch b/patches.renesas/0250-drm-rcar-du-Clear-handled-event-pointer-in-CRTC-stat.patch
index 0c08583098a34c..fb32bbc7220a5b 100644
--- a/patches.renesas/0250-drm-rcar-du-Clear-handled-event-pointer-in-CRTC-stat.patch
+++ b/patches.renesas/0250-drm-rcar-du-Clear-handled-event-pointer-in-CRTC-stat.patch
@@ -12,14 +12,12 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit 15b181a309e9c9bff8d0bc57d7da2d5f87c14186)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 6 +++---
+ drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
-index 3a81cc0fe299..75bcb5e19cca 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
-@@ -501,16 +501,16 @@ static void rcar_du_crtc_disable(struct drm_crtc *crtc)
+@@ -501,16 +501,16 @@ static void rcar_du_crtc_disable(struct
static void rcar_du_crtc_atomic_begin(struct drm_crtc *crtc,
struct drm_crtc_state *old_crtc_state)
{
@@ -39,6 +37,3 @@ index 3a81cc0fe299..75bcb5e19cca 100644
spin_unlock_irqrestore(&dev->event_lock, flags);
}
---
-2.13.3
-
diff --git a/patches.renesas/0251-drm-rcar-du-Use-DRM-core-s-atomic-commit-helper.patch b/patches.renesas/0251-drm-rcar-du-Use-DRM-core-s-atomic-commit-helper.patch
index 5540bbbd29085c..f7d953974b9848 100644
--- a/patches.renesas/0251-drm-rcar-du-Use-DRM-core-s-atomic-commit-helper.patch
+++ b/patches.renesas/0251-drm-rcar-du-Use-DRM-core-s-atomic-commit-helper.patch
@@ -10,14 +10,12 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit a8fd12233e2348568893f1d0e251d8a4630a50af)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_kms.c | 99 ++++-------------------------------
+ drivers/gpu/drm/rcar-du/rcar_du_kms.c | 99 +++-------------------------------
1 file changed, 9 insertions(+), 90 deletions(-)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
-index b5d3f16cfa12..e775ae5e5f06 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
-@@ -249,18 +249,9 @@ static int rcar_du_atomic_check(struct drm_device *dev,
+@@ -249,18 +249,9 @@ static int rcar_du_atomic_check(struct d
return rcar_du_atomic_check_planes(dev, state);
}
@@ -38,7 +36,7 @@ index b5d3f16cfa12..e775ae5e5f06 100644
/* Apply the atomic update. */
drm_atomic_helper_commit_modeset_disables(dev, old_state);
-@@ -268,98 +259,25 @@ static void rcar_du_atomic_complete(struct rcar_du_commit *commit)
+@@ -268,98 +259,25 @@ static void rcar_du_atomic_complete(stru
drm_atomic_helper_commit_planes(dev, old_state,
DRM_PLANE_COMMIT_ACTIVE_ONLY);
@@ -143,7 +141,7 @@ index b5d3f16cfa12..e775ae5e5f06 100644
};
static int rcar_du_encoders_init_one(struct rcar_du_device *rcdu,
-@@ -561,6 +479,7 @@ int rcar_du_modeset_init(struct rcar_du_device *rcdu)
+@@ -561,6 +479,7 @@ int rcar_du_modeset_init(struct rcar_du_
dev->mode_config.max_width = 4095;
dev->mode_config.max_height = 2047;
dev->mode_config.funcs = &rcar_du_mode_config_funcs;
@@ -151,6 +149,3 @@ index b5d3f16cfa12..e775ae5e5f06 100644
rcdu->num_crtcs = rcdu->info->num_crtcs;
---
-2.13.3
-
diff --git a/patches.renesas/0252-drm-rcar-du-Make-sure-the-VSP-is-initialized-on-plat.patch b/patches.renesas/0252-drm-rcar-du-Make-sure-the-VSP-is-initialized-on-plat.patch
index f182d9e91e14c4..8341fed0702cac 100644
--- a/patches.renesas/0252-drm-rcar-du-Make-sure-the-VSP-is-initialized-on-plat.patch
+++ b/patches.renesas/0252-drm-rcar-du-Make-sure-the-VSP-is-initialized-on-plat.patch
@@ -18,14 +18,12 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit 3115345577d8e8c912562a1dd555787f11fcaf06)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_vsp.h | 2 +-
+ drivers/gpu/drm/rcar-du/rcar_du_vsp.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.h b/drivers/gpu/drm/rcar-du/rcar_du_vsp.h
-index 510dcc9c6816..f1d0f1824528 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.h
-@@ -68,7 +68,7 @@ void rcar_du_vsp_disable(struct rcar_du_crtc *crtc);
+@@ -68,7 +68,7 @@ void rcar_du_vsp_disable(struct rcar_du_
void rcar_du_vsp_atomic_begin(struct rcar_du_crtc *crtc);
void rcar_du_vsp_atomic_flush(struct rcar_du_crtc *crtc);
#else
@@ -34,6 +32,3 @@ index 510dcc9c6816..f1d0f1824528 100644
static inline void rcar_du_vsp_enable(struct rcar_du_crtc *crtc) { };
static inline void rcar_du_vsp_disable(struct rcar_du_crtc *crtc) { };
static inline void rcar_du_vsp_atomic_begin(struct rcar_du_crtc *crtc) { };
---
-2.13.3
-
diff --git a/patches.renesas/0253-drm-rcar-du-Remove-wait-field-from-rcar_du_device-st.patch b/patches.renesas/0253-drm-rcar-du-Remove-wait-field-from-rcar_du_device-st.patch
index 6982c1f582fbf2..f57ac9e634a2a3 100644
--- a/patches.renesas/0253-drm-rcar-du-Remove-wait-field-from-rcar_du_device-st.patch
+++ b/patches.renesas/0253-drm-rcar-du-Remove-wait-field-from-rcar_du_device-st.patch
@@ -11,15 +11,13 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit eff7fd6ba5e5764318e4c2bb85a11b9d3159137d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
- drivers/gpu/drm/rcar-du/rcar_du_drv.h | 5 -----
+ drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
+ drivers/gpu/drm/rcar-du/rcar_du_drv.h | 5 -----
2 files changed, 7 deletions(-)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
-index e09e0e6194ba..12af716ea57c 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
-@@ -348,8 +348,6 @@ static int rcar_du_probe(struct platform_device *pdev)
+@@ -348,8 +348,6 @@ static int rcar_du_probe(struct platform
if (rcdu == NULL)
return -ENOMEM;
@@ -28,8 +26,6 @@ index e09e0e6194ba..12af716ea57c 100644
rcdu->dev = &pdev->dev;
rcdu->info = of_device_get_match_data(rcdu->dev);
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.h b/drivers/gpu/drm/rcar-du/rcar_du_drv.h
-index c843c3134498..574b3c1c21df 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.h
@@ -98,11 +98,6 @@ struct rcar_du_device {
@@ -44,6 +40,3 @@ index c843c3134498..574b3c1c21df 100644
};
static inline bool rcar_du_has(struct rcar_du_device *rcdu,
---
-2.13.3
-
diff --git a/patches.renesas/0254-drm-rcar-du-Document-the-vsps-property-in-the-DT-bin.patch b/patches.renesas/0254-drm-rcar-du-Document-the-vsps-property-in-the-DT-bin.patch
index fcba90d638ae42..126788b1703617 100644
--- a/patches.renesas/0254-drm-rcar-du-Document-the-vsps-property-in-the-DT-bin.patch
+++ b/patches.renesas/0254-drm-rcar-du-Document-the-vsps-property-in-the-DT-bin.patch
@@ -12,11 +12,9 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit 06711e6385a4ab4c8f4225f6cb9382eed58625a7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- Documentation/devicetree/bindings/display/renesas,du.txt | 3 +++
+ Documentation/devicetree/bindings/display/renesas,du.txt | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/Documentation/devicetree/bindings/display/renesas,du.txt b/Documentation/devicetree/bindings/display/renesas,du.txt
-index 1a02f099a0ff..c6cb96a4fa93 100644
--- a/Documentation/devicetree/bindings/display/renesas,du.txt
+++ b/Documentation/devicetree/bindings/display/renesas,du.txt
@@ -36,6 +36,9 @@ Required Properties:
@@ -29,6 +27,3 @@ index 1a02f099a0ff..c6cb96a4fa93 100644
Required nodes:
The connections to the DU output video ports are modeled using the OF graph
---
-2.13.3
-
diff --git a/patches.renesas/0255-drm-panel-Constify-device-node-argument-to-of_drm_fi.patch b/patches.renesas/0255-drm-panel-Constify-device-node-argument-to-of_drm_fi.patch
index e381050645d822..05022ad25ff43f 100644
--- a/patches.renesas/0255-drm-panel-Constify-device-node-argument-to-of_drm_fi.patch
+++ b/patches.renesas/0255-drm-panel-Constify-device-node-argument-to-of_drm_fi.patch
@@ -11,12 +11,10 @@ Signed-off-by: Thierry Reding <treding@nvidia.com>
(cherry picked from commit 327bc443416d5aeb37e27704b2d91d2f86b8c621)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/drm_panel.c | 2 +-
- include/drm/drm_panel.h | 4 ++--
+ drivers/gpu/drm/drm_panel.c | 2 +-
+ include/drm/drm_panel.h | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c
-index 3dfe3c886502..308d442a531b 100644
--- a/drivers/gpu/drm/drm_panel.c
+++ b/drivers/gpu/drm/drm_panel.c
@@ -137,7 +137,7 @@ EXPORT_SYMBOL(drm_panel_detach);
@@ -28,11 +26,9 @@ index 3dfe3c886502..308d442a531b 100644
{
struct drm_panel *panel;
-diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h
-index 220d1e2b3db1..4b76cf2d5a7b 100644
--- a/include/drm/drm_panel.h
+++ b/include/drm/drm_panel.h
-@@ -193,9 +193,9 @@ int drm_panel_attach(struct drm_panel *panel, struct drm_connector *connector);
+@@ -193,9 +193,9 @@ int drm_panel_attach(struct drm_panel *p
int drm_panel_detach(struct drm_panel *panel);
#ifdef CONFIG_OF
@@ -44,6 +40,3 @@ index 220d1e2b3db1..4b76cf2d5a7b 100644
{
return NULL;
}
---
-2.13.3
-
diff --git a/patches.renesas/0256-drm-rcar-du-Use-the-DRM-panel-API.patch b/patches.renesas/0256-drm-rcar-du-Use-the-DRM-panel-API.patch
index 3ac9fe9d1652d6..809feaeefebefb 100644
--- a/patches.renesas/0256-drm-rcar-du-Use-the-DRM-panel-API.patch
+++ b/patches.renesas/0256-drm-rcar-du-Use-the-DRM-panel-API.patch
@@ -10,14 +10,12 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit bf7149f34241dcd6c95ea76b2b5ab4ff33f1c9b9)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/Kconfig | 1 +
- drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 22 ++++++++++
- drivers/gpu/drm/rcar-du/rcar_du_encoder.h | 3 ++
- drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 68 +++++++++++--------------------
+ drivers/gpu/drm/rcar-du/Kconfig | 1
+ drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 22 +++++++++
+ drivers/gpu/drm/rcar-du/rcar_du_encoder.h | 3 +
+ drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 68 ++++++++++--------------------
4 files changed, 50 insertions(+), 44 deletions(-)
-diff --git a/drivers/gpu/drm/rcar-du/Kconfig b/drivers/gpu/drm/rcar-du/Kconfig
-index 4c2fd056dd6d..2bab449add76 100644
--- a/drivers/gpu/drm/rcar-du/Kconfig
+++ b/drivers/gpu/drm/rcar-du/Kconfig
@@ -20,6 +20,7 @@ config DRM_RCAR_HDMI
@@ -28,8 +26,6 @@ index 4c2fd056dd6d..2bab449add76 100644
help
Enable support for the R-Car Display Unit embedded LVDS encoders.
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_encoder.c b/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
-index 3974d9495f37..31f878ad099d 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
@@ -16,6 +16,7 @@
@@ -40,7 +36,7 @@ index 3974d9495f37..31f878ad099d 100644
#include "rcar_du_drv.h"
#include "rcar_du_encoder.h"
-@@ -33,6 +34,11 @@ static void rcar_du_encoder_disable(struct drm_encoder *encoder)
+@@ -33,6 +34,11 @@ static void rcar_du_encoder_disable(stru
{
struct rcar_du_encoder *renc = to_rcar_encoder(encoder);
@@ -52,7 +48,7 @@ index 3974d9495f37..31f878ad099d 100644
if (renc->lvds)
rcar_du_lvdsenc_enable(renc->lvds, encoder->crtc, false);
}
-@@ -43,6 +49,11 @@ static void rcar_du_encoder_enable(struct drm_encoder *encoder)
+@@ -43,6 +49,11 @@ static void rcar_du_encoder_enable(struc
if (renc->lvds)
rcar_du_lvdsenc_enable(renc->lvds, encoder->crtc, true);
@@ -64,7 +60,7 @@ index 3974d9495f37..31f878ad099d 100644
}
static int rcar_du_encoder_atomic_check(struct drm_encoder *encoder,
-@@ -89,6 +100,17 @@ static void rcar_du_encoder_mode_set(struct drm_encoder *encoder,
+@@ -89,6 +100,17 @@ static void rcar_du_encoder_mode_set(str
struct rcar_du_encoder *renc = to_rcar_encoder(encoder);
rcar_du_crtc_route_output(crtc_state->crtc, renc->output);
@@ -82,8 +78,6 @@ index 3974d9495f37..31f878ad099d 100644
}
static const struct drm_encoder_helper_funcs encoder_helper_funcs = {
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_encoder.h b/drivers/gpu/drm/rcar-du/rcar_du_encoder.h
-index 7fc10a9c34c3..269fbab15907 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_encoder.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_encoder.h
@@ -16,6 +16,7 @@
@@ -110,8 +104,6 @@ index 7fc10a9c34c3..269fbab15907 100644
};
#define to_rcar_connector(c) \
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
-index 3bcfd161c53f..ee91481131ad 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
@@ -15,6 +15,7 @@
@@ -181,7 +173,7 @@ index 3bcfd161c53f..ee91481131ad 100644
.atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
};
-@@ -75,27 +59,19 @@ int rcar_du_lvds_connector_init(struct rcar_du_device *rcdu,
+@@ -75,27 +59,19 @@ int rcar_du_lvds_connector_init(struct r
const struct device_node *np)
{
struct drm_encoder *encoder = rcar_encoder_to_drm_encoder(renc);
@@ -216,7 +208,7 @@ index 3bcfd161c53f..ee91481131ad 100644
ret = drm_connector_init(rcdu->ddev, connector, &connector_funcs,
DRM_MODE_CONNECTOR_LVDS);
-@@ -112,7 +88,11 @@ int rcar_du_lvds_connector_init(struct rcar_du_device *rcdu,
+@@ -112,7 +88,11 @@ int rcar_du_lvds_connector_init(struct r
if (ret < 0)
return ret;
@@ -229,6 +221,3 @@ index 3bcfd161c53f..ee91481131ad 100644
return 0;
}
---
-2.13.3
-
diff --git a/patches.renesas/0257-drm-Add-data-transmission-order-bus-flag.patch b/patches.renesas/0257-drm-Add-data-transmission-order-bus-flag.patch
index e80d83282ce9a9..8b584a7b730e3c 100644
--- a/patches.renesas/0257-drm-Add-data-transmission-order-bus-flag.patch
+++ b/patches.renesas/0257-drm-Add-data-transmission-order-bus-flag.patch
@@ -16,11 +16,9 @@ Reviewed-by: Thierry Reding <treding@nvidia.com>
(cherry picked from commit 5ec1a96010aa7aff19adba92a8163ef8f8c5c1ad)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- include/drm/drm_connector.h | 4 ++++
+ include/drm/drm_connector.h | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
-index 7cb10d15cfa5..2ebb54a60412 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -159,6 +159,10 @@ struct drm_display_info {
@@ -34,6 +32,3 @@ index 7cb10d15cfa5..2ebb54a60412 100644
/**
* @bus_flags: Additional information (like pixel signal polarity) for
---
-2.13.3
-
diff --git a/patches.renesas/0258-drm-rcar-du-Add-support-for-LVDS-mode-selection.patch b/patches.renesas/0258-drm-rcar-du-Add-support-for-LVDS-mode-selection.patch
index 4adb913d5d1e41..12dfff433e4476 100644
--- a/patches.renesas/0258-drm-rcar-du-Add-support-for-LVDS-mode-selection.patch
+++ b/patches.renesas/0258-drm-rcar-du-Add-support-for-LVDS-mode-selection.patch
@@ -12,16 +12,14 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit e947eccbeba45268bf3b5f4e30185d9bb87a293d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 27 +++++++++++++++++++++++++++
- drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c | 11 +++++++++--
- drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.h | 13 +++++++++++++
+ drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 27 +++++++++++++++++++++++++++
+ drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c | 11 +++++++++--
+ drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.h | 13 +++++++++++++
3 files changed, 49 insertions(+), 2 deletions(-)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_encoder.c b/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
-index 31f878ad099d..3a3c9374794e 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
-@@ -98,6 +98,8 @@ static void rcar_du_encoder_mode_set(struct drm_encoder *encoder,
+@@ -98,6 +98,8 @@ static void rcar_du_encoder_mode_set(str
struct drm_connector_state *conn_state)
{
struct rcar_du_encoder *renc = to_rcar_encoder(encoder);
@@ -30,7 +28,7 @@ index 31f878ad099d..3a3c9374794e 100644
rcar_du_crtc_route_output(crtc_state->crtc, renc->output);
-@@ -111,6 +113,31 @@ static void rcar_du_encoder_mode_set(struct drm_encoder *encoder,
+@@ -111,6 +113,31 @@ static void rcar_du_encoder_mode_set(str
}
renc->connector = to_rcar_connector(conn_state->connector);
@@ -62,8 +60,6 @@ index 31f878ad099d..3a3c9374794e 100644
}
static const struct drm_encoder_helper_funcs encoder_helper_funcs = {
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c b/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c
-index e3a4985f6f3f..1661f6201210 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c
@@ -31,6 +31,7 @@ struct rcar_du_lvdsenc {
@@ -74,7 +70,7 @@ index e3a4985f6f3f..1661f6201210 100644
};
static void rcar_lvds_write(struct rcar_du_lvdsenc *lvds, u32 reg, u32 data)
-@@ -61,7 +62,7 @@ static void rcar_du_lvdsenc_start_gen2(struct rcar_du_lvdsenc *lvds,
+@@ -61,7 +62,7 @@ static void rcar_du_lvdsenc_start_gen2(s
/* Select the input, hardcode mode 0, enable LVDS operation and turn
* bias circuitry on.
*/
@@ -83,7 +79,7 @@ index e3a4985f6f3f..1661f6201210 100644
if (rcrtc->index == 2)
lvdcr0 |= LVDCR0_DUSEL;
rcar_lvds_write(lvds, LVDCR0, lvdcr0);
-@@ -114,7 +115,7 @@ static void rcar_du_lvdsenc_start_gen3(struct rcar_du_lvdsenc *lvds,
+@@ -114,7 +115,7 @@ static void rcar_du_lvdsenc_start_gen3(s
* Turn the PLL on, set it to LVDS normal mode, wait for the startup
* delay and turn the output on.
*/
@@ -92,7 +88,7 @@ index e3a4985f6f3f..1661f6201210 100644
rcar_lvds_write(lvds, LVDCR0, lvdcr0);
lvdcr0 |= LVDCR0_PWD;
-@@ -211,6 +212,12 @@ void rcar_du_lvdsenc_atomic_check(struct rcar_du_lvdsenc *lvds,
+@@ -211,6 +212,12 @@ void rcar_du_lvdsenc_atomic_check(struct
mode->clock = clamp(mode->clock, 25175, 148500);
}
@@ -105,8 +101,6 @@ index e3a4985f6f3f..1661f6201210 100644
static int rcar_du_lvdsenc_get_resources(struct rcar_du_lvdsenc *lvds,
struct platform_device *pdev)
{
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.h b/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.h
-index dfdba746edf4..7218ac89333e 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.h
@@ -26,8 +26,17 @@ enum rcar_lvds_input {
@@ -127,7 +121,7 @@ index dfdba746edf4..7218ac89333e 100644
int rcar_du_lvdsenc_enable(struct rcar_du_lvdsenc *lvds,
struct drm_crtc *crtc, bool enable);
void rcar_du_lvdsenc_atomic_check(struct rcar_du_lvdsenc *lvds,
-@@ -37,6 +46,10 @@ static inline int rcar_du_lvdsenc_init(struct rcar_du_device *rcdu)
+@@ -37,6 +46,10 @@ static inline int rcar_du_lvdsenc_init(s
{
return 0;
}
@@ -138,6 +132,3 @@ index dfdba746edf4..7218ac89333e 100644
static inline int rcar_du_lvdsenc_enable(struct rcar_du_lvdsenc *lvds,
struct drm_crtc *crtc, bool enable)
{
---
-2.13.3
-
diff --git a/patches.renesas/0259-drm-rcar-du-Replace-manual-bridge-implementation-wit.patch b/patches.renesas/0259-drm-rcar-du-Replace-manual-bridge-implementation-wit.patch
index 3aa9982ca38d7a..b535e31a7c17dd 100644
--- a/patches.renesas/0259-drm-rcar-du-Replace-manual-bridge-implementation-wit.patch
+++ b/patches.renesas/0259-drm-rcar-du-Replace-manual-bridge-implementation-wit.patch
@@ -11,22 +11,20 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit 5c602531feb3db3926cdd76dda89314f0634c9e7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/Kconfig | 6 --
- drivers/gpu/drm/rcar-du/Makefile | 5 +-
- drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 104 +++++++++++++----------
- drivers/gpu/drm/rcar-du/rcar_du_encoder.h | 2 -
- drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c | 134 ------------------------------
- drivers/gpu/drm/rcar-du/rcar_du_hdmienc.h | 35 --------
- drivers/gpu/drm/rcar-du/rcar_du_vgacon.c | 82 ------------------
- drivers/gpu/drm/rcar-du/rcar_du_vgacon.h | 23 -----
- 8 files changed, 60 insertions(+), 331 deletions(-)
+ drivers/gpu/drm/rcar-du/Kconfig | 6 -
+ drivers/gpu/drm/rcar-du/Makefile | 5 -
+ drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 108 +++++++++++++-----------
+ drivers/gpu/drm/rcar-du/rcar_du_encoder.h | 2
+ drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c | 134 ------------------------------
+ drivers/gpu/drm/rcar-du/rcar_du_hdmienc.h | 35 -------
+ drivers/gpu/drm/rcar-du/rcar_du_vgacon.c | 82 ------------------
+ drivers/gpu/drm/rcar-du/rcar_du_vgacon.h | 23 -----
+ 8 files changed, 62 insertions(+), 333 deletions(-)
delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c
delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_hdmienc.h
delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_vgacon.c
delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_vgacon.h
-diff --git a/drivers/gpu/drm/rcar-du/Kconfig b/drivers/gpu/drm/rcar-du/Kconfig
-index 2bab449add76..06121eeba9e5 100644
--- a/drivers/gpu/drm/rcar-du/Kconfig
+++ b/drivers/gpu/drm/rcar-du/Kconfig
@@ -11,12 +11,6 @@ config DRM_RCAR_DU
@@ -42,8 +40,6 @@ index 2bab449add76..06121eeba9e5 100644
config DRM_RCAR_LVDS
bool "R-Car DU LVDS Encoder Support"
depends on DRM_RCAR_DU
-diff --git a/drivers/gpu/drm/rcar-du/Makefile b/drivers/gpu/drm/rcar-du/Makefile
-index d3b44651061a..a492e6858691 100644
--- a/drivers/gpu/drm/rcar-du/Makefile
+++ b/drivers/gpu/drm/rcar-du/Makefile
@@ -4,10 +4,7 @@ rcar-du-drm-y := rcar_du_crtc.o \
@@ -58,8 +54,6 @@ index d3b44651061a..a492e6858691 100644
rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += rcar_du_lvdsenc.o
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_encoder.c b/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
-index 3a3c9374794e..92a0405c2fb2 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
@@ -20,11 +20,9 @@
@@ -74,7 +68,7 @@ index 3a3c9374794e..92a0405c2fb2 100644
/* -----------------------------------------------------------------------------
* Encoder
-@@ -63,29 +61,35 @@ static int rcar_du_encoder_atomic_check(struct drm_encoder *encoder,
+@@ -63,30 +61,36 @@ static int rcar_du_encoder_atomic_check(
struct rcar_du_encoder *renc = to_rcar_encoder(encoder);
struct drm_display_mode *adjusted_mode = &crtc_state->adjusted_mode;
const struct drm_display_mode *mode = &crtc_state->mode;
@@ -91,42 +85,45 @@ index 3a3c9374794e..92a0405c2fb2 100644
+ */
+ if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS) {
+ const struct drm_display_mode *panel_mode;
-
-- if (list_empty(&connector->modes)) {
-- dev_dbg(dev->dev, "encoder: empty modes list\n");
-- return -EINVAL;
-- }
++
+ if (list_empty(&connector->modes)) {
+ dev_dbg(dev->dev, "encoder: empty modes list\n");
+ return -EINVAL;
+ }
-
-- panel_mode = list_first_entry(&connector->modes,
-- struct drm_display_mode, head);
++
+ panel_mode = list_first_entry(&connector->modes,
+ struct drm_display_mode, head);
-
-- /* We're not allowed to modify the resolution. */
-- if (mode->hdisplay != panel_mode->hdisplay ||
-- mode->vdisplay != panel_mode->vdisplay)
-- return -EINVAL;
++
+ /* We're not allowed to modify the resolution. */
+ if (mode->hdisplay != panel_mode->hdisplay ||
+ mode->vdisplay != panel_mode->vdisplay)
+ return -EINVAL;
-- /* The flat panel mode is fixed, just copy it to the adjusted mode. */
-- drm_mode_copy(adjusted_mode, panel_mode);
+- if (list_empty(&connector->modes)) {
+- dev_dbg(dev->dev, "encoder: empty modes list\n");
+- return -EINVAL;
+ /*
+ * The flat panel mode is fixed, just copy it to the adjusted
+ * mode.
+ */
+ drm_mode_copy(adjusted_mode, panel_mode);
-+ }
+ }
+- panel_mode = list_first_entry(&connector->modes,
+- struct drm_display_mode, head);
+-
+- /* We're not allowed to modify the resolution. */
+- if (mode->hdisplay != panel_mode->hdisplay ||
+- mode->vdisplay != panel_mode->vdisplay)
+- return -EINVAL;
+-
+- /* The flat panel mode is fixed, just copy it to the adjusted mode. */
+- drm_mode_copy(adjusted_mode, panel_mode);
+-
if (renc->lvds)
rcar_du_lvdsenc_atomic_check(renc->lvds, adjusted_mode);
-@@ -159,6 +163,7 @@ int rcar_du_encoder_init(struct rcar_du_device *rcdu,
+
+@@ -159,6 +163,7 @@ int rcar_du_encoder_init(struct rcar_du_
{
struct rcar_du_encoder *renc;
struct drm_encoder *encoder;
@@ -134,7 +131,7 @@ index 3a3c9374794e..92a0405c2fb2 100644
unsigned int encoder_type;
int ret;
-@@ -182,6 +187,15 @@ int rcar_du_encoder_init(struct rcar_du_device *rcdu,
+@@ -182,6 +187,15 @@ int rcar_du_encoder_init(struct rcar_du_
break;
}
@@ -150,7 +147,7 @@ index 3a3c9374794e..92a0405c2fb2 100644
switch (type) {
case RCAR_DU_ENCODER_VGA:
encoder_type = DRM_MODE_ENCODER_DAC;
-@@ -199,35 +213,35 @@ int rcar_du_encoder_init(struct rcar_du_device *rcdu,
+@@ -199,35 +213,35 @@ int rcar_du_encoder_init(struct rcar_du_
break;
}
@@ -163,10 +160,15 @@ index 3a3c9374794e..92a0405c2fb2 100644
- encoder_type, NULL);
- if (ret < 0)
- goto done;
--
++ ret = drm_encoder_init(rcdu->ddev, encoder, &encoder_funcs,
++ encoder_type, NULL);
++ if (ret < 0)
++ goto done;
+
- drm_encoder_helper_add(encoder, &encoder_helper_funcs);
- }
--
++ drm_encoder_helper_add(encoder, &encoder_helper_funcs);
+
- switch (encoder_type) {
- case DRM_MODE_ENCODER_LVDS:
- ret = rcar_du_lvds_connector_init(rcdu, renc, con_node);
@@ -175,16 +177,11 @@ index 3a3c9374794e..92a0405c2fb2 100644
- case DRM_MODE_ENCODER_DAC:
- ret = rcar_du_vga_connector_init(rcdu, renc);
- break;
-+ ret = drm_encoder_init(rcdu->ddev, encoder, &encoder_funcs,
-+ encoder_type, NULL);
-+ if (ret < 0)
-+ goto done;
-
+-
- case DRM_MODE_ENCODER_TMDS:
- /* connector managed by the bridge driver */
- break;
-+ drm_encoder_helper_add(encoder, &encoder_helper_funcs);
-
+-
- default:
- ret = -EINVAL;
- break;
@@ -213,8 +210,6 @@ index 3a3c9374794e..92a0405c2fb2 100644
}
done:
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_encoder.h b/drivers/gpu/drm/rcar-du/rcar_du_encoder.h
-index 269fbab15907..3a6e38fe56cd 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_encoder.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_encoder.h
@@ -18,7 +18,6 @@
@@ -233,9 +228,6 @@ index 269fbab15907..3a6e38fe56cd 100644
struct rcar_du_lvdsenc *lvds;
};
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c b/drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c
-deleted file mode 100644
-index 933a2547798e..000000000000
--- a/drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c
+++ /dev/null
@@ -1,134 +0,0 @@
@@ -373,9 +365,6 @@ index 933a2547798e..000000000000
-
- return 0;
-}
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_hdmienc.h b/drivers/gpu/drm/rcar-du/rcar_du_hdmienc.h
-deleted file mode 100644
-index 2ff0128ac8e1..000000000000
--- a/drivers/gpu/drm/rcar-du/rcar_du_hdmienc.h
+++ /dev/null
@@ -1,35 +0,0 @@
@@ -414,9 +403,6 @@ index 2ff0128ac8e1..000000000000
-#endif
-
-#endif /* __RCAR_DU_HDMIENC_H__ */
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vgacon.c b/drivers/gpu/drm/rcar-du/rcar_du_vgacon.c
-deleted file mode 100644
-index 8d6125c1c0f9..000000000000
--- a/drivers/gpu/drm/rcar-du/rcar_du_vgacon.c
+++ /dev/null
@@ -1,82 +0,0 @@
@@ -502,9 +488,6 @@ index 8d6125c1c0f9..000000000000
-
- return 0;
-}
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vgacon.h b/drivers/gpu/drm/rcar-du/rcar_du_vgacon.h
-deleted file mode 100644
-index 112f50316e01..000000000000
--- a/drivers/gpu/drm/rcar-du/rcar_du_vgacon.h
+++ /dev/null
@@ -1,23 +0,0 @@
@@ -531,6 +514,3 @@ index 112f50316e01..000000000000
- struct rcar_du_encoder *renc);
-
-#endif /* __RCAR_DU_VGACON_H__ */
---
-2.13.3
-
diff --git a/patches.renesas/0260-drm-rcar-du-Hardcode-encoders-types-to-DRM_MODE_ENCO.patch b/patches.renesas/0260-drm-rcar-du-Hardcode-encoders-types-to-DRM_MODE_ENCO.patch
index ffa7757d182d8a..584b58a86bd516 100644
--- a/patches.renesas/0260-drm-rcar-du-Hardcode-encoders-types-to-DRM_MODE_ENCO.patch
+++ b/patches.renesas/0260-drm-rcar-du-Hardcode-encoders-types-to-DRM_MODE_ENCO.patch
@@ -14,18 +14,16 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit 381ddfe478871588af95548aaecb6698009c3d6b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 15 -------------
- drivers/gpu/drm/rcar-du/rcar_du_drv.h | 2 --
- drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 30 ++++++++-----------------
- drivers/gpu/drm/rcar-du/rcar_du_encoder.h | 9 --------
- drivers/gpu/drm/rcar-du/rcar_du_kms.c | 37 ++-----------------------------
+ drivers/gpu/drm/rcar-du/rcar_du_drv.c | 15 ------------
+ drivers/gpu/drm/rcar-du/rcar_du_drv.h | 2 -
+ drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 30 +++++++-----------------
+ drivers/gpu/drm/rcar-du/rcar_du_encoder.h | 9 -------
+ drivers/gpu/drm/rcar-du/rcar_du_kms.c | 37 +-----------------------------
5 files changed, 11 insertions(+), 82 deletions(-)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
-index 12af716ea57c..8ac5f5a64144 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
-@@ -45,12 +45,10 @@ static const struct rcar_du_device_info rcar_du_r8a7779_info = {
+@@ -45,12 +45,10 @@ static const struct rcar_du_device_info
*/
[RCAR_DU_OUTPUT_DPAD0] = {
.possible_crtcs = BIT(0),
@@ -38,7 +36,7 @@ index 12af716ea57c..8ac5f5a64144 100644
.port = 1,
},
},
-@@ -69,17 +67,14 @@ static const struct rcar_du_device_info rcar_du_r8a7790_info = {
+@@ -69,17 +67,14 @@ static const struct rcar_du_device_info
*/
[RCAR_DU_OUTPUT_DPAD0] = {
.possible_crtcs = BIT(2) | BIT(1) | BIT(0),
@@ -56,7 +54,7 @@ index 12af716ea57c..8ac5f5a64144 100644
.port = 2,
},
},
-@@ -98,12 +93,10 @@ static const struct rcar_du_device_info rcar_du_r8a7791_info = {
+@@ -98,12 +93,10 @@ static const struct rcar_du_device_info
*/
[RCAR_DU_OUTPUT_DPAD0] = {
.possible_crtcs = BIT(1) | BIT(0),
@@ -69,7 +67,7 @@ index 12af716ea57c..8ac5f5a64144 100644
.port = 1,
},
},
-@@ -119,12 +112,10 @@ static const struct rcar_du_device_info rcar_du_r8a7792_info = {
+@@ -119,12 +112,10 @@ static const struct rcar_du_device_info
/* R8A7792 has two RGB outputs. */
[RCAR_DU_OUTPUT_DPAD0] = {
.possible_crtcs = BIT(0),
@@ -82,7 +80,7 @@ index 12af716ea57c..8ac5f5a64144 100644
.port = 1,
},
},
-@@ -142,12 +133,10 @@ static const struct rcar_du_device_info rcar_du_r8a7794_info = {
+@@ -142,12 +133,10 @@ static const struct rcar_du_device_info
*/
[RCAR_DU_OUTPUT_DPAD0] = {
.possible_crtcs = BIT(0),
@@ -95,7 +93,7 @@ index 12af716ea57c..8ac5f5a64144 100644
.port = 1,
},
},
-@@ -166,12 +155,10 @@ static const struct rcar_du_device_info rcar_du_r8a7795_info = {
+@@ -166,12 +155,10 @@ static const struct rcar_du_device_info
*/
[RCAR_DU_OUTPUT_DPAD0] = {
.possible_crtcs = BIT(3),
@@ -108,7 +106,7 @@ index 12af716ea57c..8ac5f5a64144 100644
.port = 3,
},
},
-@@ -190,12 +177,10 @@ static const struct rcar_du_device_info rcar_du_r8a7796_info = {
+@@ -190,12 +177,10 @@ static const struct rcar_du_device_info
*/
[RCAR_DU_OUTPUT_DPAD0] = {
.possible_crtcs = BIT(2),
@@ -121,8 +119,6 @@ index 12af716ea57c..8ac5f5a64144 100644
.port = 2,
},
},
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.h b/drivers/gpu/drm/rcar-du/rcar_du_drv.h
-index 574b3c1c21df..90eb209c244e 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.h
@@ -38,7 +38,6 @@ struct rcar_du_lvdsenc;
@@ -141,11 +137,9 @@ index 574b3c1c21df..90eb209c244e 100644
unsigned int port;
};
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_encoder.c b/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
-index 92a0405c2fb2..3e048dd98b64 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_encoder.c
-@@ -68,7 +68,7 @@ static int rcar_du_encoder_atomic_check(struct drm_encoder *encoder,
+@@ -68,7 +68,7 @@ static int rcar_du_encoder_atomic_check(
* Only panel-related encoder types require validation here, everything
* else is handled by the bridge drivers.
*/
@@ -154,7 +148,7 @@ index 92a0405c2fb2..3e048dd98b64 100644
const struct drm_display_mode *panel_mode;
if (list_empty(&connector->modes)) {
-@@ -156,7 +156,6 @@ static const struct drm_encoder_funcs encoder_funcs = {
+@@ -156,7 +156,6 @@ static const struct drm_encoder_funcs en
};
int rcar_du_encoder_init(struct rcar_du_device *rcdu,
@@ -162,7 +156,7 @@ index 92a0405c2fb2..3e048dd98b64 100644
enum rcar_du_output output,
struct device_node *enc_node,
struct device_node *con_node)
-@@ -164,7 +163,6 @@ int rcar_du_encoder_init(struct rcar_du_device *rcdu,
+@@ -164,7 +163,6 @@ int rcar_du_encoder_init(struct rcar_du_
struct rcar_du_encoder *renc;
struct drm_encoder *encoder;
struct drm_bridge *bridge = NULL;
@@ -170,7 +164,7 @@ index 92a0405c2fb2..3e048dd98b64 100644
int ret;
renc = devm_kzalloc(rcdu->dev, sizeof(*renc), GFP_KERNEL);
-@@ -188,33 +186,23 @@ int rcar_du_encoder_init(struct rcar_du_device *rcdu,
+@@ -188,33 +186,23 @@ int rcar_du_encoder_init(struct rcar_du_
}
if (enc_node) {
@@ -212,8 +206,6 @@ index 92a0405c2fb2..3e048dd98b64 100644
if (ret < 0)
goto done;
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_encoder.h b/drivers/gpu/drm/rcar-du/rcar_du_encoder.h
-index 3a6e38fe56cd..b4633b64fb79 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_encoder.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_encoder.h
@@ -20,14 +20,6 @@ struct drm_panel;
@@ -239,11 +231,9 @@ index 3a6e38fe56cd..b4633b64fb79 100644
enum rcar_du_output output,
struct device_node *enc_node,
struct device_node *con_node);
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
-index e775ae5e5f06..d845e82f4653 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
-@@ -284,16 +284,6 @@ static int rcar_du_encoders_init_one(struct rcar_du_device *rcdu,
+@@ -284,16 +284,6 @@ static int rcar_du_encoders_init_one(str
enum rcar_du_output output,
struct of_endpoint *ep)
{
@@ -260,7 +250,7 @@ index e775ae5e5f06..d845e82f4653 100644
struct device_node *connector = NULL;
struct device_node *encoder = NULL;
struct device_node *ep_node = NULL;
-@@ -340,30 +330,7 @@ static int rcar_du_encoders_init_one(struct rcar_du_device *rcdu,
+@@ -340,30 +330,7 @@ static int rcar_du_encoders_init_one(str
of_node_put(entity_ep_node);
@@ -292,7 +282,7 @@ index e775ae5e5f06..d845e82f4653 100644
/*
* If no encoder has been found the entity must be the
* connector.
-@@ -371,7 +338,7 @@ static int rcar_du_encoders_init_one(struct rcar_du_device *rcdu,
+@@ -371,7 +338,7 @@ static int rcar_du_encoders_init_one(str
connector = entity;
}
@@ -301,6 +291,3 @@ index e775ae5e5f06..d845e82f4653 100644
if (ret && ret != -EPROBE_DEFER)
dev_warn(rcdu->dev,
"failed to initialize encoder %s on output %u (%d), skipping\n",
---
-2.13.3
-
diff --git a/patches.renesas/0261-drm-rcar-du-Add-Gen3-HDMI-encoder-support.patch b/patches.renesas/0261-drm-rcar-du-Add-Gen3-HDMI-encoder-support.patch
index 685d664e9cedcd..f65eceba6926b1 100644
--- a/patches.renesas/0261-drm-rcar-du-Add-Gen3-HDMI-encoder-support.patch
+++ b/patches.renesas/0261-drm-rcar-du-Add-Gen3-HDMI-encoder-support.patch
@@ -17,14 +17,12 @@ Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
(cherry picked from commit 40d0fa7095d06c73c33da4fa7e381350141682f5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/Kconfig | 7 +++
- drivers/gpu/drm/rcar-du/Makefile | 1 +
- drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c | 100 +++++++++++++++++++++++++++++++++
+ drivers/gpu/drm/rcar-du/Kconfig | 7 ++
+ drivers/gpu/drm/rcar-du/Makefile | 1
+ drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c | 100 +++++++++++++++++++++++++++++++++
3 files changed, 108 insertions(+)
create mode 100644 drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c
-diff --git a/drivers/gpu/drm/rcar-du/Kconfig b/drivers/gpu/drm/rcar-du/Kconfig
-index 06121eeba9e5..8a50dab19e5c 100644
--- a/drivers/gpu/drm/rcar-du/Kconfig
+++ b/drivers/gpu/drm/rcar-du/Kconfig
@@ -11,6 +11,13 @@ config DRM_RCAR_DU
@@ -41,18 +39,13 @@ index 06121eeba9e5..8a50dab19e5c 100644
config DRM_RCAR_LVDS
bool "R-Car DU LVDS Encoder Support"
depends on DRM_RCAR_DU
-diff --git a/drivers/gpu/drm/rcar-du/Makefile b/drivers/gpu/drm/rcar-du/Makefile
-index a492e6858691..2131e722de3b 100644
--- a/drivers/gpu/drm/rcar-du/Makefile
+++ b/drivers/gpu/drm/rcar-du/Makefile
-@@ -11,3 +11,4 @@ rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += rcar_du_lvdsenc.o
+@@ -11,3 +11,4 @@ rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += r
rcar-du-drm-$(CONFIG_DRM_RCAR_VSP) += rcar_du_vsp.o
obj-$(CONFIG_DRM_RCAR_DU) += rcar-du-drm.o
+obj-$(CONFIG_DRM_RCAR_DW_HDMI) += rcar_dw_hdmi.o
-diff --git a/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c b/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c
-new file mode 100644
-index 000000000000..7539626b8ebd
--- /dev/null
+++ b/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c
@@ -0,0 +1,100 @@
@@ -156,6 +149,3 @@ index 000000000000..7539626b8ebd
+MODULE_AUTHOR("Laurent Pinchart <laurent.pinchart@ideasonboard.com>");
+MODULE_DESCRIPTION("Renesas R-Car Gen3 HDMI Encoder Driver");
+MODULE_LICENSE("GPL");
---
-2.13.3
-
diff --git a/patches.renesas/0262-drm-rcar-du-Skip-disabled-outputs.patch b/patches.renesas/0262-drm-rcar-du-Skip-disabled-outputs.patch
index f0dd5e73cdac68..ddd74df98569ca 100644
--- a/patches.renesas/0262-drm-rcar-du-Skip-disabled-outputs.patch
+++ b/patches.renesas/0262-drm-rcar-du-Skip-disabled-outputs.patch
@@ -10,14 +10,12 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit 4739a0d40b668ed4d60e048ee8ff03cd863e0987)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_kms.c | 7 +++++++
+ drivers/gpu/drm/rcar-du/rcar_du_kms.c | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
-index d845e82f4653..b89cb152b720 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
-@@ -302,6 +302,13 @@ static int rcar_du_encoders_init_one(struct rcar_du_device *rcdu,
+@@ -302,6 +302,13 @@ static int rcar_du_encoders_init_one(str
return -ENODEV;
}
@@ -31,6 +29,3 @@ index d845e82f4653..b89cb152b720 100644
entity_ep_node = of_parse_phandle(ep->local_node, "remote-endpoint", 0);
for_each_endpoint_of_node(entity, ep_node) {
---
-2.13.3
-
diff --git a/patches.renesas/0263-drm-rcar-du-Add-DPLL-support.patch b/patches.renesas/0263-drm-rcar-du-Add-DPLL-support.patch
index bee21ceb26e5f9..515a60e4e97d38 100644
--- a/patches.renesas/0263-drm-rcar-du-Add-DPLL-support.patch
+++ b/patches.renesas/0263-drm-rcar-du-Add-DPLL-support.patch
@@ -13,17 +13,15 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit dc4aedbf7c152c092c19e980a9fa1e89d6bc215f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 81 +++++++++++++++++++++++++++++++++-
- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 1 +
- drivers/gpu/drm/rcar-du/rcar_du_drv.h | 1 +
- drivers/gpu/drm/rcar-du/rcar_du_regs.h | 23 ++++++++++
+ drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 81 ++++++++++++++++++++++++++++++++-
+ drivers/gpu/drm/rcar-du/rcar_du_drv.c | 1
+ drivers/gpu/drm/rcar-du/rcar_du_drv.h | 1
+ drivers/gpu/drm/rcar-du/rcar_du_regs.h | 23 +++++++++
4 files changed, 105 insertions(+), 1 deletion(-)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
-index 75bcb5e19cca..c903f33b2abe 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
-@@ -106,9 +106,62 @@ static void rcar_du_crtc_put(struct rcar_du_crtc *rcrtc)
+@@ -106,9 +106,62 @@ static void rcar_du_crtc_put(struct rcar
* Hardware Setup
*/
@@ -86,7 +84,7 @@ index 75bcb5e19cca..c903f33b2abe 100644
unsigned long mode_clock = mode->clock * 1000;
unsigned long clk;
u32 value;
-@@ -124,12 +177,18 @@ static void rcar_du_crtc_set_display_timing(struct rcar_du_crtc *rcrtc)
+@@ -124,12 +177,18 @@ static void rcar_du_crtc_set_display_tim
escr = div | ESCR_DCLKSEL_CLKS;
if (rcrtc->extclock) {
@@ -105,7 +103,7 @@ index 75bcb5e19cca..c903f33b2abe 100644
extdiv = DIV_ROUND_CLOSEST(extclk, mode_clock);
extdiv = clamp(extdiv, 1U, 64U) - 1;
-@@ -140,7 +199,27 @@ static void rcar_du_crtc_set_display_timing(struct rcar_du_crtc *rcrtc)
+@@ -140,7 +199,27 @@ static void rcar_du_crtc_set_display_tim
abs((long)rate - (long)mode_clock)) {
dev_dbg(rcrtc->group->dev->dev,
"crtc%u: using external clock\n", rcrtc->index);
@@ -134,11 +132,9 @@ index 75bcb5e19cca..c903f33b2abe 100644
}
}
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
-index 8ac5f5a64144..da55ac11a252 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
-@@ -163,6 +163,7 @@ static const struct rcar_du_device_info rcar_du_r8a7795_info = {
+@@ -163,6 +163,7 @@ static const struct rcar_du_device_info
},
},
.num_lvds = 1,
@@ -146,8 +142,6 @@ index 8ac5f5a64144..da55ac11a252 100644
};
static const struct rcar_du_device_info rcar_du_r8a7796_info = {
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.h b/drivers/gpu/drm/rcar-du/rcar_du_drv.h
-index 90eb209c244e..f8cd79488ece 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.h
@@ -65,6 +65,7 @@ struct rcar_du_device_info {
@@ -158,8 +152,6 @@ index 90eb209c244e..f8cd79488ece 100644
};
#define RCAR_DU_MAX_CRTCS 4
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_regs.h b/drivers/gpu/drm/rcar-du/rcar_du_regs.h
-index fedb0161e234..d5bae99d3cfe 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_regs.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_regs.h
@@ -277,6 +277,29 @@
@@ -192,6 +184,3 @@ index fedb0161e234..d5bae99d3cfe 100644
/* -----------------------------------------------------------------------------
* Display Timing Generation Registers
*/
---
-2.13.3
-
diff --git a/patches.renesas/0264-drm-rcar-du-Add-HDMI-outputs-to-R8A7795-device-descr.patch b/patches.renesas/0264-drm-rcar-du-Add-HDMI-outputs-to-R8A7795-device-descr.patch
index 55ea9c166b0f9c..271a733e59e9ab 100644
--- a/patches.renesas/0264-drm-rcar-du-Add-HDMI-outputs-to-R8A7795-device-descr.patch
+++ b/patches.renesas/0264-drm-rcar-du-Add-HDMI-outputs-to-R8A7795-device-descr.patch
@@ -11,12 +11,10 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit 0dda563e571093f309d597cafaf7dd535496ecfb)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 4 +++-
- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 12 ++++++++++--
+ drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 4 +++-
+ drivers/gpu/drm/rcar-du/rcar_du_drv.c | 12 ++++++++++--
2 files changed, 13 insertions(+), 3 deletions(-)
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.h b/drivers/gpu/drm/rcar-du/rcar_du_crtc.h
-index 6f08b7e7db06..459e5390d6e0 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.h
@@ -1,7 +1,7 @@
@@ -37,11 +35,9 @@ index 6f08b7e7db06..459e5390d6e0 100644
RCAR_DU_OUTPUT_TCON,
RCAR_DU_OUTPUT_MAX,
};
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
-index da55ac11a252..01981f004dc3 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
-@@ -150,13 +150,21 @@ static const struct rcar_du_device_info rcar_du_r8a7795_info = {
+@@ -150,13 +150,21 @@ static const struct rcar_du_device_info
| RCAR_DU_FEATURE_VSP1_SOURCE,
.num_crtcs = 4,
.routes = {
@@ -65,6 +61,3 @@ index da55ac11a252..01981f004dc3 100644
[RCAR_DU_OUTPUT_LVDS0] = {
.possible_crtcs = BIT(0),
.port = 3,
---
-2.13.3
-
diff --git a/patches.renesas/0265-ARM-dts-r8a7743-Add-reset-control-properties.patch b/patches.renesas/0265-ARM-dts-r8a7743-Add-reset-control-properties.patch
index ddc13b218bac15..f6605ba35cdcd6 100644
--- a/patches.renesas/0265-ARM-dts-r8a7743-Add-reset-control-properties.patch
+++ b/patches.renesas/0265-ARM-dts-r8a7743-Add-reset-control-properties.patch
@@ -16,11 +16,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d20747b7df51178db5f5c7a03cbf17a91bdb6f0e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7743.dtsi | 24 ++++++++++++++++++++++++
+ arch/arm/boot/dts/r8a7743.dtsi | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
-diff --git a/arch/arm/boot/dts/r8a7743.dtsi b/arch/arm/boot/dts/r8a7743.dtsi
-index cd908796fb3b..0ddac81742e4 100644
--- a/arch/arm/boot/dts/r8a7743.dtsi
+++ b/arch/arm/boot/dts/r8a7743.dtsi
@@ -62,6 +62,7 @@
@@ -215,6 +213,3 @@ index cd908796fb3b..0ddac81742e4 100644
phy-mode = "rmii";
#address-cells = <1>;
#size-cells = <0>;
---
-2.13.3
-
diff --git a/patches.renesas/0266-ARM-dts-r8a7745-Add-reset-control-properties.patch b/patches.renesas/0266-ARM-dts-r8a7745-Add-reset-control-properties.patch
index cc90456c87ebe2..e639e556f35375 100644
--- a/patches.renesas/0266-ARM-dts-r8a7745-Add-reset-control-properties.patch
+++ b/patches.renesas/0266-ARM-dts-r8a7745-Add-reset-control-properties.patch
@@ -16,11 +16,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 1efab6e91e8e789f98a11d6618f0fd66f1c51f98)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7745.dtsi | 24 ++++++++++++++++++++++++
+ arch/arm/boot/dts/r8a7745.dtsi | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
-diff --git a/arch/arm/boot/dts/r8a7745.dtsi b/arch/arm/boot/dts/r8a7745.dtsi
-index bca88715fada..2feb0084bb3b 100644
--- a/arch/arm/boot/dts/r8a7745.dtsi
+++ b/arch/arm/boot/dts/r8a7745.dtsi
@@ -62,6 +62,7 @@
@@ -215,6 +213,3 @@ index bca88715fada..2feb0084bb3b 100644
phy-mode = "rmii";
#address-cells = <1>;
#size-cells = <0>;
---
-2.13.3
-
diff --git a/patches.renesas/0267-ARM-dts-r7s72100-add-power-domains-to-sdhi.patch b/patches.renesas/0267-ARM-dts-r7s72100-add-power-domains-to-sdhi.patch
index 90bb9b8b12b97c..138430a209e06c 100644
--- a/patches.renesas/0267-ARM-dts-r7s72100-add-power-domains-to-sdhi.patch
+++ b/patches.renesas/0267-ARM-dts-r7s72100-add-power-domains-to-sdhi.patch
@@ -11,11 +11,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 3932197c01e4ca7d743d07728656d938f1ae93d5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r7s72100.dtsi | 2 ++
+ arch/arm/boot/dts/r7s72100.dtsi | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/arch/arm/boot/dts/r7s72100.dtsi b/arch/arm/boot/dts/r7s72100.dtsi
-index 9b12d73e67dc..9fb2e510958a 100644
--- a/arch/arm/boot/dts/r7s72100.dtsi
+++ b/arch/arm/boot/dts/r7s72100.dtsi
@@ -501,6 +501,7 @@
@@ -34,6 +32,3 @@ index 9b12d73e67dc..9fb2e510958a 100644
cap-sd-highspeed;
cap-sdio-irq;
status = "disabled";
---
-2.13.3
-
diff --git a/patches.renesas/0268-ARM-dts-r8a7794-Add-DU1-clock-to-device-tree.patch b/patches.renesas/0268-ARM-dts-r8a7794-Add-DU1-clock-to-device-tree.patch
index dad73645e99601..c50a87275b64dd 100644
--- a/patches.renesas/0268-ARM-dts-r8a7794-Add-DU1-clock-to-device-tree.patch
+++ b/patches.renesas/0268-ARM-dts-r8a7794-Add-DU1-clock-to-device-tree.patch
@@ -11,12 +11,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 1764f8081f1524bf629e0744b277db751281ff56)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7794.dtsi | 8 +++++---
- include/dt-bindings/clock/r8a7794-clock.h | 1 +
+ arch/arm/boot/dts/r8a7794.dtsi | 8 +++++---
+ include/dt-bindings/clock/r8a7794-clock.h | 1 +
2 files changed, 6 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi
-index 38bf9ed8e739..f5f8d1c03ef7 100644
--- a/arch/arm/boot/dts/r8a7794.dtsi
+++ b/arch/arm/boot/dts/r8a7794.dtsi
@@ -1270,19 +1270,21 @@
@@ -44,8 +42,6 @@ index 38bf9ed8e739..f5f8d1c03ef7 100644
};
mstp8_clks: mstp8_clks@e6150990 {
compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-diff --git a/include/dt-bindings/clock/r8a7794-clock.h b/include/dt-bindings/clock/r8a7794-clock.h
-index a26776f7dedd..93e99c3ffc8d 100644
--- a/include/dt-bindings/clock/r8a7794-clock.h
+++ b/include/dt-bindings/clock/r8a7794-clock.h
@@ -82,6 +82,7 @@
@@ -56,6 +52,3 @@ index a26776f7dedd..93e99c3ffc8d 100644
#define R8A7794_CLK_DU0 24
/* MSTP8 */
---
-2.13.3
-
diff --git a/patches.renesas/0269-ARM-dts-r8a7794-Correct-clock-of-DU1.patch b/patches.renesas/0269-ARM-dts-r8a7794-Correct-clock-of-DU1.patch
index 3948a4088a2930..efd78494a48861 100644
--- a/patches.renesas/0269-ARM-dts-r8a7794-Correct-clock-of-DU1.patch
+++ b/patches.renesas/0269-ARM-dts-r8a7794-Correct-clock-of-DU1.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 89675f36c9e17512812b9d14d9824f8ef92782c3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7794.dtsi | 2 +-
+ arch/arm/boot/dts/r8a7794.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi
-index f5f8d1c03ef7..2f6e94fd408c 100644
--- a/arch/arm/boot/dts/r8a7794.dtsi
+++ b/arch/arm/boot/dts/r8a7794.dtsi
@@ -925,7 +925,7 @@
@@ -29,6 +27,3 @@ index f5f8d1c03ef7..2f6e94fd408c 100644
clock-names = "du.0", "du.1";
status = "disabled";
---
-2.13.3
-
diff --git a/patches.renesas/0270-ARM-dts-alt-Correct-clock-of-DU1.patch b/patches.renesas/0270-ARM-dts-alt-Correct-clock-of-DU1.patch
index a721a802932689..cd7f1271920577 100644
--- a/patches.renesas/0270-ARM-dts-alt-Correct-clock-of-DU1.patch
+++ b/patches.renesas/0270-ARM-dts-alt-Correct-clock-of-DU1.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 7f698bf60e3a13c991577f5360f371e2a41cf40e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7794-alt.dts | 2 +-
+ arch/arm/boot/dts/r8a7794-alt.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7794-alt.dts b/arch/arm/boot/dts/r8a7794-alt.dts
-index 3fcf76b8e923..f1eea13cdf44 100644
--- a/arch/arm/boot/dts/r8a7794-alt.dts
+++ b/arch/arm/boot/dts/r8a7794-alt.dts
@@ -168,7 +168,7 @@
@@ -29,6 +27,3 @@ index 3fcf76b8e923..f1eea13cdf44 100644
<&x13_clk>, <&x2_clk>;
clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
---
-2.13.3
-
diff --git a/patches.renesas/0271-ARM-dts-silk-Correct-clock-of-DU1.patch b/patches.renesas/0271-ARM-dts-silk-Correct-clock-of-DU1.patch
index bd2f103dea3c60..7ae6b71a13e43e 100644
--- a/patches.renesas/0271-ARM-dts-silk-Correct-clock-of-DU1.patch
+++ b/patches.renesas/0271-ARM-dts-silk-Correct-clock-of-DU1.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 403fe77e22eb72c962c3889efc9d4fa62e454737)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7794-silk.dts | 2 +-
+ arch/arm/boot/dts/r8a7794-silk.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7794-silk.dts b/arch/arm/boot/dts/r8a7794-silk.dts
-index c742d80d6dca..4cb5278d104d 100644
--- a/arch/arm/boot/dts/r8a7794-silk.dts
+++ b/arch/arm/boot/dts/r8a7794-silk.dts
@@ -424,7 +424,7 @@
@@ -29,6 +27,3 @@ index c742d80d6dca..4cb5278d104d 100644
<&x2_clk>, <&x3_clk>;
clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
---
-2.13.3
-
diff --git a/patches.renesas/0272-ARM-dts-r7s72100-fix-ethernet-clock-parent.patch b/patches.renesas/0272-ARM-dts-r7s72100-fix-ethernet-clock-parent.patch
index 0cb39df6b0e0c1..044e954b5720c9 100644
--- a/patches.renesas/0272-ARM-dts-r7s72100-fix-ethernet-clock-parent.patch
+++ b/patches.renesas/0272-ARM-dts-r7s72100-fix-ethernet-clock-parent.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 91a7c50cb4fabfba218549dfa84356069918bfbf)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r7s72100.dtsi | 2 +-
+ arch/arm/boot/dts/r7s72100.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r7s72100.dtsi b/arch/arm/boot/dts/r7s72100.dtsi
-index 9fb2e510958a..47ef53a4c8bf 100644
--- a/arch/arm/boot/dts/r7s72100.dtsi
+++ b/arch/arm/boot/dts/r7s72100.dtsi
@@ -121,7 +121,7 @@
@@ -29,6 +27,3 @@ index 9fb2e510958a..47ef53a4c8bf 100644
clock-indices = <R7S72100_CLK_ETHER>;
clock-output-names = "ether";
};
---
-2.13.3
-
diff --git a/patches.renesas/0273-ARM-dts-r8a7790-Correct-parent-of-SSI-0-9-clocks.patch b/patches.renesas/0273-ARM-dts-r8a7790-Correct-parent-of-SSI-0-9-clocks.patch
index 2b0c0de9849caf..dd0c0b3e687cf4 100644
--- a/patches.renesas/0273-ARM-dts-r8a7790-Correct-parent-of-SSI-0-9-clocks.patch
+++ b/patches.renesas/0273-ARM-dts-r8a7790-Correct-parent-of-SSI-0-9-clocks.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d13d4e063d4a08eb1686e890e9183dde709871bf)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7790.dtsi | 7 +++++--
+ arch/arm/boot/dts/r8a7790.dtsi | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi
-index 534525665bb3..fe6b8c2a2d71 100644
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
@@ -1443,8 +1443,11 @@
@@ -34,6 +32,3 @@ index 534525665bb3..fe6b8c2a2d71 100644
<&p_clk>,
<&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
<&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
---
-2.13.3
-
diff --git a/patches.renesas/0274-ARM-dts-r8a7791-Correct-parent-of-SSI-0-9-clocks.patch b/patches.renesas/0274-ARM-dts-r8a7791-Correct-parent-of-SSI-0-9-clocks.patch
index 6daed32b9752da..457b96a233cd32 100644
--- a/patches.renesas/0274-ARM-dts-r8a7791-Correct-parent-of-SSI-0-9-clocks.patch
+++ b/patches.renesas/0274-ARM-dts-r8a7791-Correct-parent-of-SSI-0-9-clocks.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 16fe68dcab5702a024d85229ff7e98979cb701a5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7791.dtsi | 7 +++++--
+ arch/arm/boot/dts/r8a7791.dtsi | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi
-index 4202d474992e..234daf480122 100644
--- a/arch/arm/boot/dts/r8a7791.dtsi
+++ b/arch/arm/boot/dts/r8a7791.dtsi
@@ -1447,8 +1447,11 @@
@@ -34,6 +32,3 @@ index 4202d474992e..234daf480122 100644
<&p_clk>,
<&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>,
<&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>,
---
-2.13.3
-
diff --git a/patches.renesas/0275-ARM-dts-r8a7793-Correct-parent-of-SSI-0-9-clocks.patch b/patches.renesas/0275-ARM-dts-r8a7793-Correct-parent-of-SSI-0-9-clocks.patch
index a3c47539699a98..1381821853903f 100644
--- a/patches.renesas/0275-ARM-dts-r8a7793-Correct-parent-of-SSI-0-9-clocks.patch
+++ b/patches.renesas/0275-ARM-dts-r8a7793-Correct-parent-of-SSI-0-9-clocks.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 1cd9028027c7a7c10b774df698c3cfafec6aa67d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7793.dtsi | 7 +++++--
+ arch/arm/boot/dts/r8a7793.dtsi | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7793.dtsi b/arch/arm/boot/dts/r8a7793.dtsi
-index 9fcf3a9ca084..4de6041d61f9 100644
--- a/arch/arm/boot/dts/r8a7793.dtsi
+++ b/arch/arm/boot/dts/r8a7793.dtsi
@@ -1269,8 +1269,11 @@
@@ -34,6 +32,3 @@ index 9fcf3a9ca084..4de6041d61f9 100644
<&p_clk>,
<&mstp10_clks R8A7793_CLK_SCU_ALL>, <&mstp10_clks R8A7793_CLK_SCU_ALL>,
<&mstp10_clks R8A7793_CLK_SCU_ALL>, <&mstp10_clks R8A7793_CLK_SCU_ALL>,
---
-2.13.3
-
diff --git a/patches.renesas/0276-ARM-dts-r8a7792-Correct-Z-clock.patch b/patches.renesas/0276-ARM-dts-r8a7792-Correct-Z-clock.patch
index 69fa7c9308578f..d04817066e9b91 100644
--- a/patches.renesas/0276-ARM-dts-r8a7792-Correct-Z-clock.patch
+++ b/patches.renesas/0276-ARM-dts-r8a7792-Correct-Z-clock.patch
@@ -22,12 +22,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 7b39e985cfc18bba43646240b10a830046382abf)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7792.dtsi | 11 +++++++++--
- include/dt-bindings/clock/r8a7792-clock.h | 1 -
+ arch/arm/boot/dts/r8a7792.dtsi | 11 +++++++++--
+ include/dt-bindings/clock/r8a7792-clock.h | 1 -
2 files changed, 9 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/boot/dts/r8a7792.dtsi b/arch/arm/boot/dts/r8a7792.dtsi
-index 6c0797ebc08f..0efecb232ee5 100644
--- a/arch/arm/boot/dts/r8a7792.dtsi
+++ b/arch/arm/boot/dts/r8a7792.dtsi
@@ -46,7 +46,7 @@
@@ -62,8 +60,6 @@ index 6c0797ebc08f..0efecb232ee5 100644
zx_clk: zx {
compatible = "fixed-factor-clock";
clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
-diff --git a/include/dt-bindings/clock/r8a7792-clock.h b/include/dt-bindings/clock/r8a7792-clock.h
-index 94dd16a1e6e6..5be90bc23bd7 100644
--- a/include/dt-bindings/clock/r8a7792-clock.h
+++ b/include/dt-bindings/clock/r8a7792-clock.h
@@ -17,7 +17,6 @@
@@ -74,6 +70,3 @@ index 94dd16a1e6e6..5be90bc23bd7 100644
/* MSTP0 */
#define R8A7792_CLK_MSIOF0 0
---
-2.13.3
-
diff --git a/patches.renesas/0277-ARM-dts-r8a7794-Add-Z2-clock.patch b/patches.renesas/0277-ARM-dts-r8a7794-Add-Z2-clock.patch
index 2dd32210a08ec8..2723d15bd6b468 100644
--- a/patches.renesas/0277-ARM-dts-r8a7794-Add-Z2-clock.patch
+++ b/patches.renesas/0277-ARM-dts-r8a7794-Add-Z2-clock.patch
@@ -11,11 +11,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 57ff9d736e05bede56fdb47599fdddb3408d4651)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7794.dtsi | 8 ++++++++
+ arch/arm/boot/dts/r8a7794.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi
-index 2f6e94fd408c..a19b884fb258 100644
--- a/arch/arm/boot/dts/r8a7794.dtsi
+++ b/arch/arm/boot/dts/r8a7794.dtsi
@@ -43,6 +43,7 @@
@@ -40,6 +38,3 @@ index 2f6e94fd408c..a19b884fb258 100644
zg_clk: zg {
compatible = "fixed-factor-clock";
clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
---
-2.13.3
-
diff --git a/patches.renesas/0278-ARM-dts-koelsch-Correct-clock-frequency-of-X2-DU-clo.patch b/patches.renesas/0278-ARM-dts-koelsch-Correct-clock-frequency-of-X2-DU-clo.patch
index 9c17196ed71bb2..b54213172f4dff 100644
--- a/patches.renesas/0278-ARM-dts-koelsch-Correct-clock-frequency-of-X2-DU-clo.patch
+++ b/patches.renesas/0278-ARM-dts-koelsch-Correct-clock-frequency-of-X2-DU-clo.patch
@@ -18,11 +18,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ebf06af55c7594ed1fc18469a5cddf911c40e687)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7791-koelsch.dts | 2 +-
+ arch/arm/boot/dts/r8a7791-koelsch.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts
-index 59beb8402a36..001e6116c47c 100644
--- a/arch/arm/boot/dts/r8a7791-koelsch.dts
+++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
@@ -292,7 +292,7 @@
@@ -34,6 +32,3 @@ index 59beb8402a36..001e6116c47c 100644
};
x13_clk: x13-clock {
---
-2.13.3
-
diff --git a/patches.renesas/0279-ARM-dts-r7s72100-add-rtc-clock-to-device-tree.patch b/patches.renesas/0279-ARM-dts-r7s72100-add-rtc-clock-to-device-tree.patch
index 7b0f017d0033e5..88bd513077c7c3 100644
--- a/patches.renesas/0279-ARM-dts-r7s72100-add-rtc-clock-to-device-tree.patch
+++ b/patches.renesas/0279-ARM-dts-r7s72100-add-rtc-clock-to-device-tree.patch
@@ -11,12 +11,10 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 929ded3dd7ce91d9ef4143d673b4ace2eb9ab355)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r7s72100.dtsi | 9 +++++++++
- include/dt-bindings/clock/r7s72100-clock.h | 3 +++
+ arch/arm/boot/dts/r7s72100.dtsi | 9 +++++++++
+ include/dt-bindings/clock/r7s72100-clock.h | 3 +++
2 files changed, 12 insertions(+)
-diff --git a/arch/arm/boot/dts/r7s72100.dtsi b/arch/arm/boot/dts/r7s72100.dtsi
-index 47ef53a4c8bf..9eace892fec7 100644
--- a/arch/arm/boot/dts/r7s72100.dtsi
+++ b/arch/arm/boot/dts/r7s72100.dtsi
@@ -117,6 +117,15 @@
@@ -35,8 +33,6 @@ index 47ef53a4c8bf..9eace892fec7 100644
mstp7_clks: mstp7_clks@fcfe0430 {
#clock-cells = <1>;
compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
-diff --git a/include/dt-bindings/clock/r7s72100-clock.h b/include/dt-bindings/clock/r7s72100-clock.h
-index cd2ed5194255..bc256d31099a 100644
--- a/include/dt-bindings/clock/r7s72100-clock.h
+++ b/include/dt-bindings/clock/r7s72100-clock.h
@@ -29,6 +29,9 @@
@@ -49,6 +45,3 @@ index cd2ed5194255..bc256d31099a 100644
/* MSTP7 */
#define R7S72100_CLK_ETHER 4
---
-2.13.3
-
diff --git a/patches.renesas/0280-ARM-dts-r7s72100-add-RTC_X-clock-inputs-to-device-tr.patch b/patches.renesas/0280-ARM-dts-r7s72100-add-RTC_X-clock-inputs-to-device-tr.patch
index f692b53994ba5f..9e2c15ba91d310 100644
--- a/patches.renesas/0280-ARM-dts-r7s72100-add-RTC_X-clock-inputs-to-device-tr.patch
+++ b/patches.renesas/0280-ARM-dts-r7s72100-add-RTC_X-clock-inputs-to-device-tr.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit deddcb891d0d2b4f437dea9bdea4752982c4b133)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r7s72100.dtsi | 14 ++++++++++++++
+ arch/arm/boot/dts/r7s72100.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
-diff --git a/arch/arm/boot/dts/r7s72100.dtsi b/arch/arm/boot/dts/r7s72100.dtsi
-index 9eace892fec7..9db46ac08ba7 100644
--- a/arch/arm/boot/dts/r7s72100.dtsi
+++ b/arch/arm/boot/dts/r7s72100.dtsi
@@ -51,6 +51,20 @@
@@ -41,6 +39,3 @@ index 9eace892fec7..9db46ac08ba7 100644
/* Fixed factor clocks */
b_clk: b {
#clock-cells = <0>;
---
-2.13.3
-
diff --git a/patches.renesas/0281-ARM-dts-r7s72100-add-rtc-to-device-tree.patch b/patches.renesas/0281-ARM-dts-r7s72100-add-rtc-to-device-tree.patch
index 32753eac174119..b3c7a2f6ac5da8 100644
--- a/patches.renesas/0281-ARM-dts-r7s72100-add-rtc-to-device-tree.patch
+++ b/patches.renesas/0281-ARM-dts-r7s72100-add-rtc-to-device-tree.patch
@@ -11,11 +11,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 3b5e3f0455442f376f91c69147526535a0389ac3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r7s72100.dtsi | 14 ++++++++++++++
+ arch/arm/boot/dts/r7s72100.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
-diff --git a/arch/arm/boot/dts/r7s72100.dtsi b/arch/arm/boot/dts/r7s72100.dtsi
-index 9db46ac08ba7..ab9ced453118 100644
--- a/arch/arm/boot/dts/r7s72100.dtsi
+++ b/arch/arm/boot/dts/r7s72100.dtsi
@@ -563,4 +563,18 @@
@@ -37,6 +35,3 @@ index 9db46ac08ba7..ab9ced453118 100644
+ status = "disabled";
+ };
};
---
-2.13.3
-
diff --git a/patches.renesas/0282-ARM-dts-rskrza1-set-rtc_x1-clock-value.patch b/patches.renesas/0282-ARM-dts-rskrza1-set-rtc_x1-clock-value.patch
index 7e7fde86b1d903..c5fcac6c426b56 100644
--- a/patches.renesas/0282-ARM-dts-rskrza1-set-rtc_x1-clock-value.patch
+++ b/patches.renesas/0282-ARM-dts-rskrza1-set-rtc_x1-clock-value.patch
@@ -12,11 +12,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit f90c36448aacde1fd41332659a12cbc9558b1137)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r7s72100-rskrza1.dts | 4 ++++
+ arch/arm/boot/dts/r7s72100-rskrza1.dts | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/arch/arm/boot/dts/r7s72100-rskrza1.dts b/arch/arm/boot/dts/r7s72100-rskrza1.dts
-index 02b59c5b3c53..cab5857bfb41 100644
--- a/arch/arm/boot/dts/r7s72100-rskrza1.dts
+++ b/arch/arm/boot/dts/r7s72100-rskrza1.dts
@@ -43,6 +43,10 @@
@@ -30,6 +28,3 @@ index 02b59c5b3c53..cab5857bfb41 100644
&mtu2 {
status = "okay";
};
---
-2.13.3
-
diff --git a/patches.renesas/0283-ARM-dts-rskrza1-add-rtc-DT-support.patch b/patches.renesas/0283-ARM-dts-rskrza1-add-rtc-DT-support.patch
index 8fec55b4064fb8..0f181d161e247c 100644
--- a/patches.renesas/0283-ARM-dts-rskrza1-add-rtc-DT-support.patch
+++ b/patches.renesas/0283-ARM-dts-rskrza1-add-rtc-DT-support.patch
@@ -11,11 +11,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 931f3dc3f0d14cc7758aa2d48fc2d713f8c6ebff)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r7s72100-rskrza1.dts | 4 ++++
+ arch/arm/boot/dts/r7s72100-rskrza1.dts | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/arch/arm/boot/dts/r7s72100-rskrza1.dts b/arch/arm/boot/dts/r7s72100-rskrza1.dts
-index cab5857bfb41..72df20a04320 100644
--- a/arch/arm/boot/dts/r7s72100-rskrza1.dts
+++ b/arch/arm/boot/dts/r7s72100-rskrza1.dts
@@ -73,6 +73,10 @@
@@ -29,6 +27,3 @@ index cab5857bfb41..72df20a04320 100644
&scif2 {
status = "okay";
};
---
-2.13.3
-
diff --git a/patches.renesas/0284-ARM-dts-genmai-Enable-rtc-and-rtc_x1-clock.patch b/patches.renesas/0284-ARM-dts-genmai-Enable-rtc-and-rtc_x1-clock.patch
index 9fc6ab6c37dd2b..93d5a9bf08d619 100644
--- a/patches.renesas/0284-ARM-dts-genmai-Enable-rtc-and-rtc_x1-clock.patch
+++ b/patches.renesas/0284-ARM-dts-genmai-Enable-rtc-and-rtc_x1-clock.patch
@@ -11,11 +11,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit e533a459f07c2b7bcc60121032b3b24d0c58133a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r7s72100-genmai.dts | 8 ++++++++
+ arch/arm/boot/dts/r7s72100-genmai.dts | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/arch/arm/boot/dts/r7s72100-genmai.dts b/arch/arm/boot/dts/r7s72100-genmai.dts
-index 118a8e2b86bd..52a7b586bac7 100644
--- a/arch/arm/boot/dts/r7s72100-genmai.dts
+++ b/arch/arm/boot/dts/r7s72100-genmai.dts
@@ -44,6 +44,10 @@
@@ -40,6 +38,3 @@ index 118a8e2b86bd..52a7b586bac7 100644
&scif2 {
status = "okay";
};
---
-2.13.3
-
diff --git a/patches.renesas/0285-ARM-dts-r8a7790-Drop-_clk-suffix-from-external-CAN-c.patch b/patches.renesas/0285-ARM-dts-r8a7790-Drop-_clk-suffix-from-external-CAN-c.patch
index 5978c46f6c3739..88115fb92fa2c0 100644
--- a/patches.renesas/0285-ARM-dts-r8a7790-Drop-_clk-suffix-from-external-CAN-c.patch
+++ b/patches.renesas/0285-ARM-dts-r8a7790-Drop-_clk-suffix-from-external-CAN-c.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 5b476a9610910a6ac5222bee4ae83a8d41800dbd)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7790.dtsi | 2 +-
+ arch/arm/boot/dts/r8a7790.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi
-index fe6b8c2a2d71..99269aaca6fc 100644
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
@@ -1101,7 +1101,7 @@
@@ -29,6 +27,3 @@ index fe6b8c2a2d71..99269aaca6fc 100644
compatible = "fixed-clock";
#clock-cells = <0>;
/* This value must be overridden by the board. */
---
-2.13.3
-
diff --git a/patches.renesas/0286-ARM-dts-r8a7791-Drop-_clk-suffix-from-external-CAN-c.patch b/patches.renesas/0286-ARM-dts-r8a7791-Drop-_clk-suffix-from-external-CAN-c.patch
index ec8df35e4396b6..1854fbb79953ac 100644
--- a/patches.renesas/0286-ARM-dts-r8a7791-Drop-_clk-suffix-from-external-CAN-c.patch
+++ b/patches.renesas/0286-ARM-dts-r8a7791-Drop-_clk-suffix-from-external-CAN-c.patch
@@ -13,11 +13,9 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit eb77d7260c4c25206e2a455be0dbe6443e0856b5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
- arch/arm/boot/dts/r8a7791.dtsi | 2 +-
+ arch/arm/boot/dts/r8a7791.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi
-index 234daf480122..fb405eb16c19 100644
--- a/arch/arm/boot/dts/r8a7791.dtsi
+++ b/arch/arm/boot/dts/r8a7791.dtsi
@@ -1126,7 +1126,7 @@
@@ -29,6 +27,3 @@ index 234daf480122..fb405eb16c19 100644
compatible = "fixed-clock";
#clock-cells = <0>;
/* This value must be overridden by the board. */
---
-2.13.3
-
diff --git a/series b/series
index 73af341b7046b2..228a079375b517 100644
--- a/series
+++ b/series
@@ -737,17 +737,11 @@ patches.renesas/0158-clk-renesas-rcar-gen3-Add-workaround-for-PLL0-2-4-er.patch
patches.renesas/0159-clk-renesas-cpg-mssr-Add-support-for-fixing-up-clock.patch
patches.renesas/0160-clk-renesas-r8a7795-Add-support-for-R-Car-H3-ES2.0.patch
patches.renesas/0161-clk-renesas-rcar-gen3-cpg-Add-support-for-RCLK-on-R-.patch
-patches.renesas/0162-pinctrl-sh-pfc-r8a7795-Fix-hscif2_clk_b-and-hscif4_c.patch
patches.renesas/0163-pinctrl-sh-pfc-r8a7795-Restore-sort-order.patch
-patches.renesas/0164-pinctrl-sh-pfc-Update-info-pointer-after-SoC-specifi.patch
patches.renesas/0165-pinctrl-sh-pfc-r8a7795-Add-support-for-R-Car-H3-ES2..patch
patches.renesas/0166-pinctrl-sh-pfc-r8a7795-Add-SCIF-support.patch
patches.renesas/0167-pinctrl-sh-pfc-r8a7795-Add-SCIF_CLK-support.patch
-patches.renesas/0168-pinctrl-sh-pfc-r8a7791-Add-missing-HSCIF1-pinmux-dat.patch
-patches.renesas/0169-pinctrl-sh-pfc-r8a7791-Add-missing-DVC_MUTE-signal.patch
-patches.renesas/0170-pinctrl-sh-pfc-r8a7791-Fix-SCIF2-pinmux-data.patch
patches.renesas/0171-pinctrl-sh-pfc-r8a7791-Fix-IPSR-comment-typos.patch
-patches.renesas/0172-pinctrl-sh-pfc-r8a7794-Swap-ATA-signals.patch
patches.renesas/0173-net-phy-micrel-Restore-led_mode-and-clk_sel-on-resum.patch
patches.renesas/0174-soc-renesas-rcar-sysc-Add-support-for-fixing-up-powe.patch
patches.renesas/0175-soc-renesas-rcar-sysc-Add-support-for-R-Car-H3-ES2.0.patch
@@ -799,7 +793,6 @@ patches.renesas/0220-usb-host-xhci-ring-don-t-need-to-clear-interrupt-pen.patch
patches.renesas/0221-USB-xhci-fix-lock-inversion-problem.patch
patches.renesas/0222-xhci-Fix-command-ring-stop-regression-in-4.11.patch
patches.renesas/0223-dt-bindings-net-sms911x-Add-missing-optional-VDD-reg.patch
-patches.renesas/0224-net-phy-micrel-configure-intterupts-after-autoneg-wo.patch
patches.renesas/0225-drm-bridge-dw-hdmi-Remove-unused-functions.patch
patches.renesas/0226-drm-bridge-dw-hdmi-Move-CSC-configuration-out-of-PHY.patch
patches.renesas/0227-drm-bridge-dw-hdmi-Enable-CSC-even-for-DVI.patch