summaryrefslogtreecommitdiffstats
path: root/include/linux/tegra-camera-rtcpu.h
Commit message (Collapse)AuthorAge
* video:host:nvcsi load prod settings at poweronDavid Bang2018-03-09
| | | | | | | | | | | | | | | | Load the prod settings for nvcsi during finalize poweron Bug 200385222 Change-Id: Ieee4d9fdfd6997ba70edc2ceaabdfcf5b03b120d Signed-off-by: David Bang <dbang@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1663271 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Bhanu Murthy V <bmurthyv@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* tegra: camera: rtcpu: reboot after failed testsPekka Pessi2018-02-22
| | | | | | | | | | | | | | | | | | | | Flush the RTCPU tracer and print out the RTCPU log entries after a test run. Reboot rtcpu after a failed test run. An unsuccessful test test may leave RTCPU in a bad state with references to the soon-to-be-unmapped memory, which may crash the whole device. Bug 2036751 Change-Id: I9dbabfbdbb88d9e0afd58451f8d2f25e6d263282 Signed-off-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1653628 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bhanu Murthy V <bmurthyv@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* platform: tegra: rtcpu: refactor pm and probingPekka Pessi2017-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firmware provides now the PM features for suspend and resume. Firmware activates the WDT after boot synchronization and deactivates it when suspended. The boot synchronization and the IVC service synchronization can be redone at any time. The driver requires firmware version SM4 because the earlier firmwares can not resume gracefully from the suspended state. Reorder initialization in order to avoid accessing hardware before it is fully powered. Note that powering HW with the APE power domain during the probe() may happen when pm_runtime_get_sync() is called and both resume and runtime_resume may get invoked in the process. Add checks to avoid any premature resumes. Assert resets in the reverse order they are deasserted. Enable clocks before touching any resources, including getting interrupt resources. Fix the unbalanced early_resume/late_suspend. The power domain does not track the last busy from the children of the rtcpu device. Mark the rtcpu device last busy always when the ivc channel devices are used, too. The IVC channels are now created only after the initial boot sync and version exchange with the firmware. When the IVC sync is done the RTCPU and device are both up and ready. Do not expose boot and halt methods. Instead provide the reboot method, which will only proceed when the rtcpu device is in the active runtime state. Follow suspend procedure from APE TRM. Wait for APE WFI using an interrupt. Wait for APE L2 cache to idle. Allocate an interrupt for APE WFI. Move all register handling to core-specific functions (tegra_ape_cam*(), tegra_sce_cam*()). Do not use the ahub clock. Power off RTCPU and remove the tracer during remove. Tracer can be disabled or enabled in the device tree. Treat it as an optional feature. Jira CRTC-910 Bug 1857548 Jira CRTC-966 Bug 1864505 Bug 200269632 Bug 200292354 Change-Id: I75df878932a4307181a243261f99f0a853d395b1 Signed-off-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-on: http://git-master/r/1298769 Reviewed-by: David Wang (SW-TEGRA) <davidw@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Mika Liljeberg <mliljeberg@nvidia.com>
* platform: tegra: rtcpu: add prefix commandPekka Pessi2017-02-01
| | | | | | | | | | | | | | | | | Add prefix command for longer arguments. Use the command timeout and interpret it as milliseconds. Clarify kernel error messages in case of timeouts. Jira CAMC-253 Change-Id: Ibeb8dbccffe2c7d7f322d296f4c7ae5fcc0af7eb Signed-off-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-on: http://git-master/r/1296039 GVS: Gerrit_Virtual_Submit Reviewed-by: Jihoon Bang <jbang@nvidia.com> Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
* tegra: rtcpu: simplify boot codeMika Liljeberg2017-01-16
| | | | | | | | | | | | | | | | | | | Simplified the boot and halt sequences. Same code is shared between cold boot, suspend/resume, and shutdown. Removed some useless debugfs entries. Jira CRTC-700 Bug 1819170 Change-Id: I8c80a1786e42635cf9b87050439abf00c6538b64 Signed-off-by: Mika Liljeberg <mliljeberg@nvidia.com> Reviewed-on: http://git-master/r/1278341 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> Reviewed-by: Pekka Pessi <ppessi@nvidia.com> Tested-by: Pekka Pessi <ppessi@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Jihoon Bang <jbang@nvidia.com>
* drivers: tegra: rtcpu: dynamic IOVM configurationMika Liljeberg2017-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | Dynamically allocate shared memory buffers for IVC channels and tracing. The IOVM areas are communicated to RTCPU with a new CH_SETUP mailbox command. The beginning of each memory area contains a descriptor list in tag-length-value format, which describes the contents of the IO memory area. The RTCPU firmware will parse the descriptors and configure IVC services and tracing accordingly. Success or failure is communicated through the CH_SETUP response. Jira CRTC-700 Jira CRTC-800 Bug 1819170 Change-Id: Ic21d28c95e9aadb8633b40977eb641f65e5be381 Signed-off-by: Mika Liljeberg <mliljeberg@nvidia.com> Reviewed-on: http://git-master/r/1277169 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> Reviewed-by: Pekka Pessi <ppessi@nvidia.com> Tested-by: Pekka Pessi <ppessi@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Jihoon Bang <jbang@nvidia.com>
* rtcpu: Add rtcpu states and restore APIsSudhir Vyas2016-10-10
| | | | | | | | | | | | | | Add rtcpu states and export the APIs to restore the rtcpu and to check the current state. Bug 200239375 Jira CRTC-502 Change-Id: I4c7865c7038946a3adf5b2296c902d285fb98e4c Signed-off-by: Sudhir Vyas <svyas@nvidia.com> Reviewed-on: http://git-master/r/1228510 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* tegra: rtcpu: Add rtcpu start and stop functionsSudhir Vyas2016-09-09
| | | | | | | | | | | | | | | | | | | | - Add and export rtcpu start and stop APIs. - De-duplicate the start/stop sequence from suspend and shutdown functions. - Correct the stop sequence. Bug 200232545 Jira CRTC-436 Jira CRTC-489 Change-Id: Ic2690ab665412fd9d697c57c3ade4ba2cce20131 Signed-off-by: Sudhir Vyas <svyas@nvidia.com> Reviewed-on: http://git-master/r/1216150 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Pekka Pessi <ppessi@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Deepak Kamurthy <dkamurthy@nvidia.com> Reviewed-by: Jihoon Bang <jbang@nvidia.com>
* camera: rtcpu: report version to tegrafwSonghee Baek2016-08-10
| | | | | | | | | | | | Bug 200213070 Bug 1790021 Change-Id: Id882cde9953065e246a3bf6f030b7787b7c58436 Signed-off-by: Songhee Baek <sbaek@nvidia.com> Signed-off-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-on: http://git-master/r/1195243 Reviewed-by: Mika Liljeberg <mliljeberg@nvidia.com> Tested-by: Mika Liljeberg <mliljeberg@nvidia.com>
* platform: tegra: camera: RTCPU commandsPekka Pessi2016-06-29
| | | | | | | | | | | | | | Expose tegra_camrtc_command() used to send shared mailbox commands. Jira CRTC-124 Bug 1699448 Change-Id: I51be90b757cba7cc5b100d95eb58bdf67cce24bf Signed-off-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-on: http://git-master/r/1166071 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Mika Liljeberg <mliljeberg@nvidia.com>
* rtcpu: synchronize boot with an HSP shared mboxPekka Pessi2016-06-09
| | | | | | | | | | | | | | Synchronize and exchange the supported interface version with the Camera RTCPU firmware during the boot sequence. JIRA CRTC-135 Bug 1699448 Bug 200177745 Change-Id: Ia233daf1886e07e3e9deb89cf79df624014f26cd Signed-off-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-on: http://git-master/r/1141392 Reviewed-by: Mika Liljeberg <mliljeberg@nvidia.com>
* platform: tegra: rtcpu: expose control functionsPekka Pessi2016-05-10
Jira CRTC-81 Bug 1699448 Change-Id: Ie712b9cd0ab7d82853cf7c14daeadc5a0e5e61ed Signed-off-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-on: http://git-master/r/1141394 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Mika Liljeberg <mliljeberg@nvidia.com>