hexkyz
00f4e5158f
Add missing dummy reads in gpio code
2019-07-23 18:33:34 +01:00
hexkyz
0c688189f6
Fix uart pinmux configuration
2019-07-21 21:21:13 +01:00
hexkyz
7cee36544c
Cleanup and re-write uart code
2019-07-21 19:18:15 +01:00
hexkyz
f9c1d5fc1b
Fix GPIO/SFIO defines: cosmetic change, gpio code was working properly despite the mistake
2019-07-21 15:55:40 +01:00
hexkyz
85bf7c86e0
fusee: cleanup and optimize boot sequence
2019-07-06 20:58:01 +01:00
hexkyz
d09be18359
Fix argument type for isalnum and toupper
2019-07-02 17:22:28 +01:00
hexkyz
382a0192f9
Fix spacing in diskio
2019-07-01 20:20:34 +01:00
hexkyz
e3b968fa80
Update FatFs to R0.13c
2019-07-01 20:12:30 +01:00
hexkyz
e561919a52
Fix logic in ldr_ro_manager
...
Fix argument type for isdigit/isxdigit
2019-06-30 18:48:16 +01:00
SciresM
aa289410bb
Merge pull request #567 from Atmosphere-NX/emunand_dev
...
Implement support for emummc.
2019-06-15 21:41:40 -07:00
hexkyz
a4daa0761a
fusee: cleanup sdmmc related code
2019-06-14 20:33:48 +01:00
WinterMute
8cf30176cb
fix usage of ctype macros
2019-06-14 10:52:52 +01:00
Michael Scire
cb532e3fb3
Merge branch 'master' into emunand_dev
2019-05-27 11:43:37 -07:00
hexkyz
2c3111f9c9
fusee: Add more verbose error messages
...
boot: Fix license text
2019-05-10 17:15:25 +01:00
hexkyz
a9afbd2458
Merge branch 'master' into emunand_dev
2019-04-28 16:53:39 +01:00
Michael Scire
7fef83885f
ams: improve fatal error context
2019-04-26 07:25:38 -07:00
hexkyz
732a6159f7
fusee: Properly finalize SDMMC1 (fixes 8.0.0 issues with PCV)
2019-04-20 10:36:38 -07:00
hexkyz
a1512cf30f
Merge branch 'master' into emunand_dev
2019-04-13 18:23:23 +01:00
Michael Scire
ac07971211
stratosphere: custom exception handlers (reboot to fusee)
2019-04-12 15:28:46 -07:00
hexkyz
5868e0769a
Merge branch 'master' into emunand_dev
2019-04-09 19:14:21 +01:00
2g4y1
3cb60b324b
More 2019 Copyrights ( #503 )
2019-04-08 12:47:01 +02:00
Michael Scire
03e176d7f1
atmosphere: current year is 2019
2019-04-07 19:00:49 -07:00
hexkyz
92816be055
emunand: Move all emulation code to fusee-secondary and simplify logic
2019-04-07 19:02:01 +01:00
hexkyz
c878e96398
emunand: Fix bugs and add missing stuff
2019-04-06 20:01:11 +01:00
hexkyz
e5045556bf
emunand: Preliminary skeleton for emunand in fusee
2019-04-06 19:35:27 +01:00
Michael Scire
ddc5222208
sept-s: First functional version.
2019-02-20 13:12:15 -08:00
Michael Scire
891b865da8
fusee: change default power-off-time to 6 seconds.
2019-01-26 05:58:02 -08:00
Michael Scire
3f6325c358
fusee-secondary: reboot to fusee-primary, instead of rcm
2019-01-26 00:21:34 -08:00
Michael Scire
ea02f389ac
fusee-primary: reboot to self, instead of to RCM
2019-01-25 23:51:28 -08:00
hexkyz
ef373d954f
fusee: Fix KFUSE clock.
2018-12-07 22:17:06 +00:00
Michael Scire
903789cf6e
fusee: fix error printing pre-SD card init ( closes #289 ).
2018-12-04 04:01:22 -08:00
Michael Scire
49ba3a86e2
fusee: move BCT.ini/secondary into atmosphere/
2018-12-04 03:55:01 -08:00
Michael Scire
33b7e227d4
fusee: do PMC reboots, not CAR reboots.
2018-11-30 06:34:20 -08:00
hexkyz
ed37706915
fusee: Add full 6.2.0 support via SMMU virtualization.
2018-11-29 23:32:31 +00:00
SciresM
ab33329129
Merge pull request #266 from Atmosphere-NX/fatal
...
Implement custom fatal sysmodule.
2018-11-29 12:04:40 -08:00
hexkyz
6e7eb47d33
fusee: Minor hardware configuration fixes.
2018-11-17 21:50:31 +00:00
SciresM
c530bb8910
Merge branch 'master' into fatal
2018-11-14 14:15:01 -08:00
hexkyz
e5e9968d22
fusee: Remove obsolete MC carveout configuration.
...
exosphere: Fix client access for MC carveout 2.
2018-11-14 20:14:41 +00:00
Michael Scire
2838e41819
Add defines for atmosphere git revision.
2018-11-13 12:42:35 -08:00
hexkyz
b19e50e720
fusee: Implement DRAM training:
...
- Based on reverse engineered code and Peter De Schrijver's patches;
- Complemented with CTCaer's minerva_tc project.
2018-11-12 01:55:16 +00:00
Michael Scire
6711cd93a8
atmosphere: extract API version management to common folder
2018-10-16 17:54:50 -07:00
hexkyz
ca0e41e8a0
fusee: Improve integration with the new logging system
...
fusee: Implement log level configuration from BCT.ini
2018-09-28 21:12:59 +01:00
Resaec
1d22bb7b81
we need to strip the NO_PREFIX flag so your log_level is corrected for checking against the global
2018-09-26 02:47:24 +02:00
Resaec
81355415d0
port log.c log.h for fusee-primary
...
refactor printing
remove lib/printk as it is replaced with log
remove lib/driver_utils.h
added log levels as they seem right, might need adjustments
2018-09-26 02:18:50 +02:00
hexkyz
99d36c423e
fusee: Add missing const qualifiers (thanks @aveao)
2018-09-18 16:39:18 +00:00
hexkyz
f864b0835d
fusee: Add support for firmware version 6.0.0.
...
fusee: Implement splash screen rendering.
fusee: Add minor notes and update lz library.
2018-09-17 21:03:03 +01:00
hexkyz
39d812f434
fusee: Move nxboot hand-off to IRAM.
...
fusee/exosphere: Minor cleanup.
2018-09-15 21:08:58 +01:00
hexkyz
28e4d4411d
Add and fix copyright notices for better GPL compliance (thanks @naehrwert and @CTCaer).
2018-09-07 16:00:13 +01:00
hexkyz
2f8edfa8e2
fusee: Minor bugfixes.
2018-09-05 20:51:03 +01:00
hexkyz
e02bfe036c
fusee: Fix CAR registers' definition.
2018-09-04 19:13:36 +01:00
hexkyz
70c4e64d20
fusee: SYSCTR0 was still wrong...
2018-08-31 22:36:26 +00:00
hexkyz
3cf37330ca
fusee: Disable AHB redirection when necessary.
...
fusee: Add 3.0.0/3.0.1/3.0.2 warmboot fix.
2018-08-30 19:49:33 +01:00
hexkyz
611e85e6ee
fusee: Implement BootConfig and Boot Reason handling.
2018-08-29 18:28:21 +01:00
Lioncash
a400b10921
fusee-primary: Fix always false conditional in xmemmove
...
This was corrected in 4b8455baf9
for
fusee-secondary, but I neglected to also fix it in fusee-primary (my
bad!)
2018-08-24 22:30:36 -04:00
hexkyz
43bde3fcc9
fusee: Fix register definition.
2018-08-24 17:03:53 +01:00
hexkyz
320ec38be1
fusee: Complete re-write of the hardware initialization code:
...
- Updated code to match hekate's;
- Improved nxboot (now boots firmwares 2.x successfully);
- Temporarily disabled built-in boot system module support;
- Fixed multiple bugs.
2018-08-18 17:59:33 +01:00
Luke Street
a3d53fbb2c
Define wait() in fusee-primary/secondary
2018-07-29 10:53:06 -07:00
hexkyz
7836609839
Fix multiple issues reported by Coverity Scan
2018-07-26 18:45:18 +01:00
hexkyz
a2104b85ce
fusee: Disable the SDCLK when switching to low voltage.
2018-07-24 19:05:27 +01:00
hexkyz
e58927a8ab
fusee: Fix SDMMC high speed support and other bugs.
2018-07-23 20:14:53 +01:00
hexkyz
3db9ce32fa
Fusee: Deployed new SDMMC driver in fusee-secondary. All stages boot now.
...
Fusee: Fixed wrong argument in se.c function.
Fusee: Improved timers.
2018-07-19 21:07:53 +01:00
hexkyz
22ae5b861c
fusee: Correct wrong comment (thanks @desowin)
2018-07-05 16:05:38 +01:00
hexkyz
ddbbb0b758
fusee: SDMMC driver re-design:
...
- Based on hekate's, linux's and u-boot's source code;
- Full support for SD and MMC;
- Fixes multiple issues;
- Deployed first in fusee-primary.
fusee: Code cleanup and style fixes.
2018-07-04 21:55:27 +01:00
Tomasz Moń
206c10f333
Rework sdmmc clocking configuration
...
Use 204 MHz as host clock in SDR104 mode instead of 136 MHz.
Due to this, also change the frequency init divider so the
initialization frequency is below 400 kHz.
This makes the clocks for SDMMC1 in all modes to match the TRM table.
Make it clear in the code that HS200/HS400 modes in fact use PLLP_OUT0
and not PLLC4_OUT2_LJ like the comment suggest. In fact selecting the
PLLC4_OUT2_LJ as clock source results in freeze after switching to
HS200/HS400 mode. This is most likely related to the PLLC4 not being
enabled, but it should be checked later.
Set the HS200/HS400 divider to 3, as this is what the code really did
set prior to this change - so this commit does not change that.
Configure Legacy 12 MHz clock to run at 12 MHz using the SW default
configuration (as per TRM) for the SDMMC legacy timer.
Introduce initial version of sdmmc_host_clock_delay() in order to use it
in places where the wait is host clock dependent. The way it is
implemented now does not change the sleep that was used instead.
2018-06-12 17:20:15 +02:00
Max K
d8c9399cff
fusee: Run periodic autocal only on the uSD controller ( #137 )
2018-06-10 21:09:48 -07:00
hexkyz
ceb93867b4
Merge pull request #132 from tslater2006/master
...
Add sdmmc_dump_regs function
2018-06-10 16:21:18 +01:00
Tomasz Moń
804a40830e
Fix race conditions and misconfiguration in sdmmc
...
Properly configure pull up and pull down offsets for autocal.
Run autocal prior to every transfer.
Prevent race conditions in sdmmc_wait_for_event() - make sure the fault
handler has highest priority, then the target irq, state conditions and
finally the error mask.
Do not clear all bits (|=) when acknowledging fault conditions,
only acknowledge the fault conditions itself.
Enable interrupts before preparing command registers - if sdmmc is fast
enough it can actually finish transfer before we enabled the interrupts.
Enabling interrupts clears the COMMAND COMPLETE status bit.
Temporarily print all the sdmmc messages in stage2 - for yet unknown
reason respecting the log level results in some failures.
This results in working microsd card in stage2 on my switch with Samsung
EVO+ 256GB microsd card.
2018-06-09 17:37:53 +02:00
Timothy Slater
a79d3454d8
Switched to mmc_debug, and use inttypes
2018-06-08 07:50:36 -05:00
Timothy Slater
ca907077af
Add sdmmc_dump_regs function
2018-06-07 12:55:29 -05:00
Tomasz Moń
7b9dcd2f1a
Make sdmmc autocalibration follow TRM procedure
...
Sleep for 1 us, not 1 ms.
Timeout after 10 ms, set driver strength code values according to TRM.
Fix typo (mS) - time is in milliseconds, not milliSiemens.
2018-06-05 19:07:14 +02:00
TuxSH
b2139ed182
Pass screen status and mmc struct from stage1 to 2
2018-06-04 19:17:23 +02:00
Tomasz Moń
0534e36cf8
Set SDMMC controller to SDR104 as a workaround
...
According to Tegra X1 Series Processors Silicon Errata there is possible
misalignment of received data which results in a CRC error. The issue is
present only in SDR50 mode.
2018-05-27 17:43:25 +02:00
TuxSH
c9723d7b68
Refactor fusee's makefile
2018-05-27 00:59:02 +02:00
TuxSH
d57f4c54a9
Fix mmc->allow_voltage_switching assignment in sdmmc_init
2018-05-24 17:39:36 +02:00
TuxSH
4d43a86b60
Copy latest sdmmc driver to stage2
2018-05-24 01:17:13 +02:00
Kate J. Temkin
eaf8e559d6
fusee: work around some dual-init SDMMC issues
2018-05-23 07:47:02 -06:00
TuxSH
a4b1cf8b50
Stage1: fix SE issue too
2018-05-21 21:18:30 +02:00
TuxSH
561fa90669
Use uintX_t for the SE & copy bugfixed SE struct definition
2018-05-21 19:05:00 +02:00
TuxSH
ecb83903c0
Stage1: fix potential alignment issue
2018-05-21 14:18:03 +02:00
Kate J. Temkin
ac7ee45493
fusee: improve SDR104 frequency and support AUTOCMD23
2018-05-21 04:24:50 -06:00
TuxSH
bf2c6dff25
Stage2: Add exception handlers
2018-05-21 03:50:53 +02:00
TuxSH
c1687905a3
Fix stack overflow when chainloading stage2
2018-05-21 03:42:05 +02:00
TuxSH
ea2693dd2d
Fix exception handlers (thanks @fincs)
2018-05-21 03:39:18 +02:00
TuxSH
43d1816ac2
[stage1] Add exception handlers... which somehow don't work?
2018-05-21 02:24:41 +02:00
TuxSH
83d9d874e6
Fusee use CAR reboot for fatal errors
2018-05-20 23:52:09 +02:00
TuxSH
4ec7d0fc82
Remove packed when not needed
2018-05-20 22:57:25 +02:00
TuxSH
3dd6ec5f6c
wtf pmc reboot doesn't fully work -- display doesn't reinitialize
2018-05-20 16:56:15 +02:00
TuxSH
f45bc83bc4
Introduce fatal_error
2018-05-20 16:18:48 +02:00
Kate J. Temkin
add03d5774
fusee: correct computation of tuning block size
2018-05-20 07:21:49 -06:00
Kate J. Temkin
d5411b5b1f
fusee: begin adding support for MMC HS modes
2018-05-20 07:05:35 -06:00
Kate J. Temkin
5f3fc8156c
fusee: SD: implement tuning, allowing for all SD UHS-I speed
2018-05-20 07:05:35 -06:00
Kate J. Temkin
38350e769c
fusee: SD driver: implement everything necessary for UHS except tuning
2018-05-20 07:05:35 -06:00
Kate J. Temkin
633c5e95ed
fusee: correct constants in CAR
2018-05-20 07:05:35 -06:00
Kate J. Temkin
817c42efc2
fusee: handle SDMMC speeds sanely
2018-05-20 07:05:35 -06:00
TuxSH
ec7e0d923d
Add custom panic driver
2018-05-20 14:11:46 +02:00
TuxSH
c820375a86
Make struct tegra_pmc not packed
2018-05-20 01:40:23 +02:00
TuxSH
64cdd2e63f
Actually don't use memcpy in sdmmc
2018-05-19 03:10:06 +02:00
TuxSH
2a98e2e3b8
Sync sdmmc changes between stage1 and 2
2018-05-19 02:50:50 +02:00
TuxSH
b4eeddd7e1
Revamp all the Makefiles (thanks @fincs @WinterMute)
...
... dependencies are now properly handled (e.g. header changes, etc.)
2018-05-19 01:07:27 +02:00
Kate J. Temkin
7bfdf63a71
fusee sdmmc: don't time out on long reads
2018-05-18 07:43:09 -06:00