avionic design with actual uboot and tooling

submodule of avionic design uboot bootloader and with included tools to
get you started , read readme.md and readme-tk1-loader.md
This commit is contained in:
2026-03-03 21:46:32 +02:00
parent fe3ba02c96
commit 68d74d3181
11967 changed files with 2221897 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
* Exynos DWC_mobile_storage
The Exynos provides DWC_mobile_storage interface which supports
. Embedded Multimedia Cards (EMMC-version 4.5)
. Secure Digital memory (SD mem-version 2.0)
. Secure Digital I/O (SDIO-version 3.0)
. Consumer Electronics Advanced Transport Architecture (CE-ATA-version 1.1)
The Exynos DWC_mobile_storage provides four channels.
SOC specific and Board specific properties are channel specific.
Required SoC Specific Properties:
- compatible: should be
- samsung,exynos-dwmmc: for exynos platforms
- reg: physical base address of the controller and length of memory mapped
region.
- interrupts: The interrupt number to the cpu.
Required Board Specific Properties:
- #address-cells: should be 1.
- #size-cells: should be 0.
- samsung,bus-width: The width of the bus used to interface the devices
supported by DWC_mobile_storage (SD-MMC/EMMC/SDIO).
. Typically the bus width is 4 or 8.
- samsung,timing: The timing values to be written into the
Drv/sample clock selection register of corresponding channel.
. It is comprised of 3 values corresponding to the 3 fileds
'SelClk_sample', 'SelClk_drv' and 'DIVRATIO' of CLKSEL register.
. SelClk_sample: Select sample clock among 8 shifted clocks.
. SelClk_drv: Select drv clock among 8 shifted clocks.
. DIVRATIO: Clock Divide ratio select.
. The above 3 values are used by the clock phase shifter.
Example:
mmc@12200000 {
samsung,bus-width = <8>;
samsung,timing = <1 3 3>;
samsung,removable = <1>;
}
In the above example,
. The bus width is 8
. Timing is comprised of 3 values as explained below
1 - SelClk_sample
3 - SelClk_drv
3 - DIVRATIO
. The 'removable' flag indicates whether the the particilar device
cannot be removed (always present) or it is a removable device.
1 - Indicates that the device is removable.
0 - Indicates that the device cannot be removed.

View File

@@ -0,0 +1,15 @@
* Samsung eMMC reset
Some exynos boards require special handling of nRESET_OUT line for eMMC memory
to perform complete reboot.
Required properties:
- compatible: should be "samsung,emmc-reset"
- reset-gpio: gpio chip for eMMC reset.
Example:
emmc-reset {
compatible = "samsung,emmc-reset";
reset-gpio = <&gpk1 2 0>;
};

View File

@@ -0,0 +1,22 @@
Exynos ISP SPI Subsystem
The device node for ISP SPI subsytem.
Since Peripheral id in EXYNOS is decoded based on Interrupts, currently
ISP SPI have no individual interrupts hence we add ad dummy interrupt node
which will have a value beyond the maximum number of interrupts exynos5 can
support.
Required properties :
- compatible : Should be "samsung,exynos-spi" for spi.
- reg : Base adrress of the the subsystem.
- interrupts : A value which is beyond the maximum number of interrupts
exynos5 can support.
Example:
spi@131a0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,exynos-spi";
reg = <0x131a0000 0x30>;
interrupts = <0 129 0>;
};

View File

@@ -0,0 +1,21 @@
Exynos SoC model
The "cpu-model" property is a non-standard extension for the device tree root
node. Since the cpu id of some Exynos variants does not correspond to product
name, this property fills the gap.
For almost all Exynos based boards in the kernel, the product name corresponds
to the device tree file name. The same name is generated in U-Boot, so the new
property allows doing it automatically.
Required properties:
- cpu-model : Exynos product name
Example:
/ {
model = "Samsung/Google Peach Pi board based on Exynos5800";
cpu-model = "Exynos5800";
compatible = ...
};

View File

@@ -0,0 +1,27 @@
Exynos Sound Subsystem
The device node for sound subsytem which contains codec and i2s block
that is a part of Exynos5250
Required properties :
- compatible : Should be "samsung,exynos-sound" for sound
- samsung,i2s-epll-clock-frequency : epll clock output frequency in Hz
- samsung,i2s-sampling-rate : sampling rate, default is 48000
- samsung,i2s-bits-per-sample : sample width, defalut is 16 bit
- samsung,i2s-channels : nummber of channels, default is 2
- samsung,i2s-lr-clk-framesize : lr clock frame size
- samsung,i2s-bit-clk-framesize : bit clock frame size
- samsung,codec-type : sound codec type
Example:
sound@12d60000 {
compatible = "samsung,exynos-sound"
samsung,i2s-epll-clock-frequency = <192000000>;
samsung,i2s-sampling-rate = <48000>;
samsung,i2s-bits-per-sample = <16>;
samsung,i2s-channels = <2>;
samsung,i2s-lr-clk-framesize = <256>;
samsung,i2s-bit-clk-framesize = <32>;
samsung,codec-type = "wm8994";
};

View File

@@ -0,0 +1,44 @@
Exynos Thermal management Unit
Required properties:
- compatible : Should be "samsung,exynos-tmu" for TMU
- samsung,min-temp : Minimum temperature value (25 degree celsius)
- Current temperature of SoC should be more than this value.
- samsung,max-temp : Maximum temperature value (125 degree celsius)
- Current temperature of SoC should be less than this value.
- samsung,start-warning : Temperature at which TMU starts giving warning (degree celsius)
- samsung,start-tripping : Temperature at which TMU shuts down the system (degree celsius)
- samsung,hw-tripping : Temperature at which hardware tripping should happen
in case TMU fails to power off (degree celsius)
- samsung,efuse-min-value : SOC efuse min value (Constant 40)
- efuse-value should be more than this value.
- samsung,efuse-value : SOC actual efuse value (Literal value)
- This is the data trimming info.
- This value is used to calculate measuring error.
- samsung,efuse-max-value : SoC max efuse value (Constant 100)
- efuse-value should be less than this value.
- samsung,slope : Default value 274761730 (Constant 0x1060_8802).
- This is the default value for TMU_CONTROL register.
- It sets the gain of amplifier to the positive-tc generator block.
- It selects thermal tripping mode and enables thermal tripping.
- samsung,dc-value : Measured data calibration value (Constant 25)
- Used for tempearture calculation.
- This is 25 because temperature measured is always above 25 degrees.
Example:
tmu@10060000 {
compatible = "samsung,exynos-tmu"
samsung,min-temp = <25>;
samsung,max-temp = <125>;
samsung,start-warning = <95>;
samsung,start-tripping = <105>;
samsung,hw-tripping = <110>;
samsung,efuse-min-value = <40>;
samsung,efuse-value = <55>;
samsung,efuse-max-value = <100>;
samsung,slope = <274761730>;
samsung,dc-value = <25>;
};