mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-09-25 04:48:33 +00:00
Compare commits
69 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1ca4275698 | ||
![]() |
f9a3bccf7b | ||
![]() |
1c95022184 | ||
![]() |
d4deca66b2 | ||
![]() |
1c2ef541ea | ||
![]() |
55d84758a2 | ||
![]() |
82010866b1 | ||
![]() |
647a461a74 | ||
![]() |
294ad6cd58 | ||
![]() |
bfdedbffe6 | ||
![]() |
d409e328be | ||
![]() |
a6ae25da06 | ||
![]() |
bc1266a44b | ||
![]() |
c1eb0ac4cd | ||
![]() |
9939422d10 | ||
![]() |
51cf310472 | ||
![]() |
f38a31eee3 | ||
![]() |
e388662422 | ||
![]() |
0258ef641d | ||
![]() |
bf29dd3971 | ||
![]() |
7314ce1963 | ||
![]() |
70d69d3518 | ||
![]() |
574c883207 | ||
![]() |
5812ed014e | ||
![]() |
13e4578b7a | ||
![]() |
d6a700565e | ||
![]() |
d9d8c96c70 | ||
![]() |
329caf6c1c | ||
![]() |
27ee3ef98f | ||
![]() |
63967cf6c0 | ||
![]() |
a874bb5fb5 | ||
![]() |
dc4ee61809 | ||
![]() |
febc4473d3 | ||
![]() |
7b379e648c | ||
![]() |
e4bff62923 | ||
![]() |
3839e43428 | ||
![]() |
9e8cccdf82 | ||
![]() |
f87032c302 | ||
![]() |
30aa775450 | ||
![]() |
308fccd7b1 | ||
![]() |
6e7bbdbe63 | ||
![]() |
4c9a4aadc8 | ||
![]() |
d340e79bea | ||
![]() |
09cf67cb73 | ||
![]() |
0ef7c459ca | ||
![]() |
bf9795f70b | ||
![]() |
712dcf9f74 | ||
![]() |
c42dba1623 | ||
![]() |
d44d271c28 | ||
![]() |
501b4bd9f4 | ||
![]() |
2fd14442c7 | ||
![]() |
4efd038805 | ||
![]() |
3e1adf8325 | ||
![]() |
60e4d1a3cd | ||
![]() |
a13089516e | ||
![]() |
37615a135b | ||
![]() |
e5734a9024 | ||
![]() |
081f7124d7 | ||
![]() |
9f584f2c6a | ||
![]() |
a04fa47883 | ||
![]() |
1e627fed34 | ||
![]() |
661b39565f | ||
![]() |
aa392e78a6 | ||
![]() |
c37a6d4c8c | ||
![]() |
2d870984e2 | ||
![]() |
a860374d64 | ||
![]() |
4d99243c91 | ||
![]() |
803bfc8391 | ||
![]() |
67e722b032 |
32
.github/ISSUE_TEMPLATE.md
vendored
Normal file
32
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
<!-- READ THIS FIRST:
|
||||
- If you need additional help with this template please refer to https://www.home-assistant.io/help/reporting_issues/
|
||||
- Make sure you are running the latest version before reporting an issue: https://github.com/home-assistant/home-assistant/releases
|
||||
- Do not report issues for components here, plaese refer to https://github.com/home-assistant/home-assistant/issues
|
||||
- This is for bugs only. Feature and enhancement requests should go in our community forum: https://community.home-assistant.io/c/feature-requests
|
||||
- Provide as many details as possible. Paste logs, configuration sample and code into the backticks. Do not delete any text from this template!
|
||||
- If you have a problem with a Add-on, make a issue on there repository.
|
||||
-->
|
||||
|
||||
**HassOS release with the issue:**
|
||||
<!--
|
||||
- Frontend -> Developer tools -> Info
|
||||
- Or use this command: hass --version
|
||||
-->
|
||||
|
||||
**Supervisor logs:**
|
||||
<!--
|
||||
- Frontend -> Hass.io -> System
|
||||
- Or use this command: hassio su logs
|
||||
-->
|
||||
|
||||
**Journal logs:**
|
||||
<!--
|
||||
- use this command: journalctl
|
||||
-->
|
||||
|
||||
**Kernel logs:**
|
||||
<!--
|
||||
- use this command: dmesg
|
||||
-->
|
||||
|
||||
**Description of problem:**
|
@@ -1,9 +1,9 @@
|
||||
# Bluetooth
|
||||
|
||||
We support `bluetoothctl` on host. Later we want also support Bluetooth trought UI.
|
||||
We support `bluetoothctl` on the host. Later we want to support Bluetooth through the UI.
|
||||
All pairs and settings are persistent over reboots and updates.
|
||||
|
||||
If you want setup Bluetooth on host, use the `bluetoothctl` utility.
|
||||
If you want to setup Bluetooth on the host, use the `bluetoothctl` utility.
|
||||
|
||||
## Scan devices
|
||||
|
||||
|
14
Documentation/boards/hardkernel/odroid-n2.md
Normal file
14
Documentation/boards/hardkernel/odroid-n2.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Odroid-N2
|
||||
|
||||
## eMMC
|
||||
|
||||
eMMC support is provided transparently. Just flash the image to the eMMC board as you would an SD card.
|
||||
|
||||
## Console
|
||||
|
||||
By default, console access is granted over the serial header and over HDMI. Certain startup messages will only appear on the serial console by default. To show the messages on the HDMI console instead, swap the order of the two consoles in the `cmdline.txt` file on the boot partition. You can also delete the AML0 console if you don't plan on using the serial adapter.
|
||||
eg. `console=ttyAML0,115200n8 console=tty0`
|
||||
|
||||
## GPIO
|
||||
|
||||
Refer to [the odroid wiki](https://wiki.odroid.com/odroid-n2/hardware/expansion_connectors).
|
@@ -1,20 +0,0 @@
|
||||
# Raspberry PI
|
||||
|
||||
Supported Hardware:
|
||||
|
||||
| Device | Board |
|
||||
|--------|-----------|
|
||||
| Orange Pi Prime | opi-prime |
|
||||
|
||||
## Serial console
|
||||
|
||||
The serial port on the Orange Pi Prime is a 3 pin header located between the
|
||||
power and reset buttons. The pins are labelled away from the board edge. Flow
|
||||
control must be disabled in order to send data. The serial specs are 3.3V TTL,
|
||||
115200,8,n,1
|
||||
|
||||
## I2C
|
||||
|
||||
Add `dtparam=i2c0=on` to `cmdline.txt`
|
||||
|
||||
[config]: ../configuration.md#automatic
|
@@ -1,21 +0,0 @@
|
||||
# Building
|
||||
|
||||
Running `sudo ./enter.sh` will get you into the build Docker container.
|
||||
`make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external xy_defconfig`
|
||||
|
||||
## Scripts
|
||||
|
||||
|
||||
|
||||
## Helpers
|
||||
|
||||
- `make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external xy_defconfig`
|
||||
- `make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external menuconfig`
|
||||
- `make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external linux-menuconfig`
|
||||
- `make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external barebox-menuconfig`
|
||||
- `make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external busybox-menuconfig`
|
||||
|
||||
- `make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external savedefconfig`
|
||||
- `make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external linux-update-defconfig`
|
||||
- `make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external barebox-update-defconfig`
|
||||
- `make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external busybox-update-config`
|
@@ -3,7 +3,7 @@
|
||||
## Automatic
|
||||
|
||||
You can use an USB drive with HassOS to configure network options, SSH access to the host and to install updates.
|
||||
Format a USB stick with FAT32/EXT4/NTFS and name it `CONFIG`. Alternative you can create a `CONFIG` folder inside boot partition. Use the following directory structure within the USB drive:
|
||||
Format a USB stick with FAT32/EXT4/NTFS and name it `CONFIG` (in all capitals). Alternative you can create a `CONFIG` folder inside boot partition. Use the following directory structure within the USB drive:
|
||||
|
||||
```text
|
||||
network/
|
||||
@@ -23,8 +23,8 @@ hassos-xy.raucb
|
||||
- The `timesyncd.conf` file allow you to set different NTP servers. HassOS won't boot without correct working time servers!
|
||||
- The `hassos-*.raucb` file is a firmware OTA update which will be installed. These can be found on on the [release][hassos-release] page.
|
||||
|
||||
You can put this USB stick into the device and it will be read on startup. You can also trigger this process later over the
|
||||
API/UI or by calling `systemctl restart hassos-config` on the host.
|
||||
You can put this USB stick into the device and it will be read on startup and files written to the correct places. You can also trigger this process later over the
|
||||
API/UI or by calling `systemctl restart hassos-config` on the host. *The USB Stick just needs to be insterted to the device during this setup process and can be disconnected afterwards.*
|
||||
|
||||
## Local
|
||||
|
||||
|
@@ -1,12 +1,14 @@
|
||||
|
||||
# Kernel Version
|
||||
|
||||
Default Kernel tree: 5.4
|
||||
|
||||
| Board | Version |
|
||||
|-------|---------|
|
||||
| Open Virtual Applicance | 4.19.72 |
|
||||
| Raspberry Pi | 4.19.71 |
|
||||
| Tinker Board | 4.19.72 |
|
||||
| Odroid-C2 | 4.19.72 |
|
||||
| Odroid-XU4 | 4.19.72 |
|
||||
| Orangepi-Prime | 4.19.72 |
|
||||
| Intel NUC | 4.19.72 |
|
||||
| Open Virtual Applicance | 5.4.18 |
|
||||
| Raspberry Pi | 4.19.93 |
|
||||
| Tinker Board | 4.19.88 |
|
||||
| Odroid-C2 | 5.4.18 |
|
||||
| Odroid-N2 | 5.4.18 |
|
||||
| Odroid-XU4 | 5.4.18 |
|
||||
| Intel NUC | 5.4.18 |
|
||||
|
@@ -1,5 +1,6 @@
|
||||
# Network
|
||||
|
||||
## Configure Network
|
||||
HassOS uses NetworkManager to control the host network. In future releases, you will be able to set up the configuration using the API/UI. Currently only a manual configuration using NetworkManager connection files is supported. Without a configuration file, the device will use DHCP by default. These network connection files can be placed on a USB drive and imported to the host as described in [Configuration][configuration-usb].
|
||||
|
||||
## Configuration Examples
|
||||
@@ -74,10 +75,10 @@ Replace the following configuration:
|
||||
```ini
|
||||
[ipv4]
|
||||
method=manual
|
||||
address=192.168.1.111/24,192.168.1.1
|
||||
address=192.168.1.111/24;192.168.1.1
|
||||
dns=8.8.8.8;8.8.4.4;
|
||||
```
|
||||
For address, the value before the comma is the IP address and subnet prefix bitlength; the second value is the IP address of the gateway.
|
||||
For address, the value before the semicolon is the IP address and subnet prefix bitlength; the second value is the IP address of the gateway.
|
||||
|
||||
## Tips
|
||||
|
||||
|
@@ -7,9 +7,9 @@ Hass.io OS based on [buildroot](https://buildroot.org/). It's a hypervisor for D
|
||||
|
||||
- Barebox as bootloader on EFI
|
||||
- U-Boot as bootloader on IoT
|
||||
- Linux/Buildroot LTS
|
||||
- RAUC for OTA updates
|
||||
- SquashFS LZ4 as filesystem
|
||||
- Docker 18.09.0
|
||||
- Docker-CE
|
||||
- AppArmor protected
|
||||
- ZRAM LZ4 for /tmp, /var, swap
|
||||
- Run every supervisor
|
||||
|
@@ -10,9 +10,9 @@ pr:
|
||||
|
||||
variables:
|
||||
- name: versionHadolint
|
||||
value: 'v1.16.3'
|
||||
value: 'v1.17.2'
|
||||
- name: versionShellCheck
|
||||
value: 'v0.6.0'
|
||||
value: 'v0.7.0'
|
||||
|
||||
jobs:
|
||||
|
||||
|
@@ -11,9 +11,9 @@ pr: none
|
||||
|
||||
variables:
|
||||
- name: versionGHR
|
||||
value: 'v0.12.1'
|
||||
value: 'v0.13.0'
|
||||
- group: github
|
||||
- group: hassos
|
||||
- group: rauc
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -46,10 +46,10 @@ jobs:
|
||||
board: 'intel_nuc'
|
||||
OdroidC2:
|
||||
board: 'odroid_c2'
|
||||
OdroidN2:
|
||||
board: 'odroid_n2'
|
||||
OdroidXU4:
|
||||
board: 'odroid_xu4'
|
||||
OrangePiPrime:
|
||||
board: 'opi_prime'
|
||||
RaspberryPi:
|
||||
board: 'rpi'
|
||||
RaspberryPi0-W:
|
||||
|
@@ -4,3 +4,4 @@ source "$BR2_EXTERNAL_HASSOS_PATH/package/apparmor/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/bluetooth-bcm43xx/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/bluetooth-rtl8723/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/hardkernel-boot/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/qemu-guest-agent/Config.in"
|
||||
|
@@ -1,44 +0,0 @@
|
||||
From 04fbf78e4e569bf872f1ffcb0a6f9b89569dc913 Mon Sep 17 00:00:00 2001
|
||||
From: Hal Emmerich <hal@halemmerich.com>
|
||||
Date: Thu, 19 Jul 2018 21:48:08 -0500
|
||||
Subject: [PATCH] usb: dwc2: disable power_down on rockchip devices
|
||||
|
||||
The bug would let the usb controller enter partial power down,
|
||||
which was formally known as hibernate, upon boot if nothing was plugged
|
||||
in to the port. Partial power down couldn't be exited properly, so any
|
||||
usb devices plugged in after boot would not be usable.
|
||||
|
||||
Before the name change, params.hibernation was false by default, so
|
||||
_dwc2_hcd_suspend() would skip entering hibernation. With the
|
||||
rename, _dwc2_hcd_suspend() was changed to use params.power_down
|
||||
to decide whether or not to enter partial power down.
|
||||
|
||||
Since params.power_down is non-zero by default, it needs to be set
|
||||
to 0 for rockchip devices to restore functionality.
|
||||
|
||||
This bug was reported in the linux-usb thread:
|
||||
REGRESSION: usb: dwc2: USB device not seen after boot
|
||||
|
||||
The commit that caused this regression is:
|
||||
6d23ee9caa6790aea047f9aca7f3c03cb8d96eb6
|
||||
|
||||
Signed-off-by: Hal Emmerich <hal@halemmerich.com>
|
||||
---
|
||||
drivers/usb/dwc2/params.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
|
||||
index f03e418..492607a 100644
|
||||
--- a/drivers/usb/dwc2/params.c
|
||||
+++ b/drivers/usb/dwc2/params.c
|
||||
@@ -82,6 +82,7 @@ static void dwc2_set_rk_params(struct dwc2_hsotg *hsotg)
|
||||
p->host_perio_tx_fifo_size = 256;
|
||||
p->ahbcfg = GAHBCFG_HBSTLEN_INCR16 <<
|
||||
GAHBCFG_HBSTLEN_SHIFT;
|
||||
+ p->power_down = 0;
|
||||
}
|
||||
|
||||
static void dwc2_set_ltq_params(struct dwc2_hsotg *hsotg)
|
||||
--
|
||||
2.11.0
|
||||
|
@@ -1,5 +1,3 @@
|
||||
# CONFIG_USB_STORAGE is not set
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_CMD_FILEENV=y
|
||||
CONFIG_ENV_IS_NOWHERE=Y
|
||||
|
@@ -77,8 +77,8 @@ m_bpp=32
|
||||
# Allows you to force HDMI thinking that the cable is connected.
|
||||
# true = HDMI will believe that cable is always connected
|
||||
# false = will let board/monitor negotiate the connection status
|
||||
hpd=true
|
||||
#hpd=false
|
||||
hpd=true
|
||||
|
||||
# Monitor output
|
||||
# Controls if HDMI PHY should output anything to the monitor
|
||||
|
@@ -5,7 +5,7 @@ function hassos_pre_image() {
|
||||
local BOOT_DATA="$(path_boot_dir)"
|
||||
local BL1="${BINARIES_DIR}/bl1.bin.hardkernel"
|
||||
local UBOOT_GXBB="${BINARIES_DIR}/u-boot.gxbb"
|
||||
local spl_img="$(path_spl_img)"
|
||||
local SPL_IMG="$(path_spl_img)"
|
||||
|
||||
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
|
||||
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/config.txt"
|
||||
@@ -16,9 +16,9 @@ function hassos_pre_image() {
|
||||
# SPL
|
||||
create_spl_image
|
||||
|
||||
dd if="${BL1}" of="${spl_img}" conv=notrunc bs=1 count=440
|
||||
dd if="${BL1}" of="${spl_img}" conv=notrunc bs=512 skip=1 seek=1
|
||||
dd if="${UBOOT_GXBB}" of="${spl_img}" conv=notrunc bs=512 seek=97
|
||||
dd if="${BL1}" of="${SPL_IMG}" conv=notrunc bs=1 count=440
|
||||
dd if="${BL1}" of="${SPL_IMG}" conv=notrunc bs=512 skip=1 seek=1
|
||||
dd if="${UBOOT_GXBB}" of="${SPL_IMG}" conv=notrunc bs=512 seek=97
|
||||
}
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,50 +0,0 @@
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
|
||||
index b160bd1084de..fffd55787981 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
|
||||
@@ -461,7 +461,7 @@
|
||||
compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac";
|
||||
reg = <0x0 0xff3f0000 0x0 0x10000
|
||||
0x0 0xff634540 0x0 0x8>;
|
||||
- interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq";
|
||||
clocks = <&clkc CLKID_ETH>,
|
||||
<&clkc CLKID_FCLK_DIV2>,
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
|
||||
index ed336c7a98a7..44c5c51ff1fa 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
|
||||
@@ -467,7 +467,7 @@
|
||||
compatible = "amlogic,meson-gx-dwmac", "amlogic,meson-gxbb-dwmac", "snps,dwmac";
|
||||
reg = <0x0 0xc9410000 0x0 0x10000
|
||||
0x0 0xc8834540 0x0 0x4>;
|
||||
- interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq";
|
||||
status = "disabled";
|
||||
};
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
index 00f7be6d83f7..2e1cd5e3a246 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
@@ -143,7 +143,6 @@
|
||||
interrupt-parent = <&gpio_intc>;
|
||||
/* MAC_INTR on GPIOZ_15 */
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
- eee-broken-1000t;
|
||||
};
|
||||
};
|
||||
};
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
|
||||
index 70325b273bd2..ec09bb5792b7 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
|
||||
@@ -142,7 +142,6 @@
|
||||
eth_phy0: ethernet-phy@0 {
|
||||
/* Realtek RTL8211F (0x001cc916) */
|
||||
reg = <0>;
|
||||
- eee-broken-1000t;
|
||||
};
|
||||
};
|
||||
};
|
@@ -24,7 +24,7 @@ fi
|
||||
|
||||
# Board bootargs
|
||||
if test "${m}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
|
||||
setenv bootargs_odroidc2 "${condev} no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam}"
|
||||
setenv bootargs_odroidc2 "no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam}"
|
||||
|
||||
# HassOS bootargs
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor cgroup_enable=memory"
|
||||
@@ -38,7 +38,6 @@ usb start
|
||||
# Load extraargs
|
||||
fileenv mmc ${devnum}:1 ${ramdisk_addr_r} cmdline.txt cmdline
|
||||
fatload mmc ${devnum}:1 ${fdt_addr_r} meson-gxbb-odroidc2.dtb
|
||||
#fdt addr ${fdt_addr_r}
|
||||
|
||||
# logical volumes get numbered after physical ones.
|
||||
# 1. boot
|
||||
|
@@ -1,8 +1,6 @@
|
||||
# CONFIG_USB_STORAGE is not set
|
||||
CONFIG_DOS_PARTITION=y
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
# CONFIG_USB_STORAGE is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_CMD_FILEENV=y
|
||||
CONFIG_ENV_IS_NOWHERE=Y
|
||||
|
84
buildroot-external/board/hardkernel/odroid-n2/boot-env.txt
Normal file
84
buildroot-external/board/hardkernel/odroid-n2/boot-env.txt
Normal file
@@ -0,0 +1,84 @@
|
||||
|
||||
|
||||
# Custom modeline!
|
||||
# To use custom modeline you need to disable all the below resolutions
|
||||
# and setup your own!
|
||||
# For more information check our wiki:
|
||||
# https://wiki.odroid.com/odroid-n2/application_note/software/set_display_mode
|
||||
|
||||
# HDMI Mode
|
||||
# Resolution Configuration
|
||||
# Symbol | Resolution
|
||||
# ----------------------+-------------
|
||||
# "480x320p60hz" | 480x320 Progressive 60Hz
|
||||
# "480p60hz" | 720x480 Progressive 60Hz
|
||||
# "576p50hz" | 720x576 Progressive 50Hz
|
||||
# "720p60hz" | 1280x720 Progressive 60Hz
|
||||
# "720p50hz" | 1280x720 Progressive 50Hz
|
||||
# "1080p60hz" | 1920x1080 Progressive 60Hz
|
||||
# "1080p50hz" | 1920x1080 Progressive 50Hz
|
||||
# "1080p30hz" | 1920x1080 Progressive 30Hz
|
||||
# "1080p24hz" | 1920x1080 Progressive 24Hz
|
||||
# "1080i60hz" | 1920x1080 Interlaced 60Hz
|
||||
# "1080i50hz" | 1920x1080 Interlaced 50Hz
|
||||
# "2160p60hz" | 3840x2160 Progressive 60Hz
|
||||
# "2160p50hz" | 3840x2160 Progressive 50Hz
|
||||
# "2160p30hz" | 3840x2160 Progressive 30Hz
|
||||
# "2160p25hz" | 3840x2160 Progressive 25Hz
|
||||
# "2160p24hz" | 3840x2160 Progressive 24Hz
|
||||
# "smpte24hz" | 3840x2160 Progressive 24Hz SMPTE
|
||||
# "2160p60hz420" | 3840x2160 Progressive 60Hz YCbCr 4:2:0
|
||||
# "2160p50hz420" | 3840x2160 Progressive 50Hz YCbCr 4:2:0
|
||||
# "640x480p60hz" | 640x480 Progressive 60Hz
|
||||
# "800x480p60hz" | 800x480 Progressive 60Hz
|
||||
# "800x600p60hz" | 800x600 Progressive 60Hz
|
||||
# "1024x600p60hz" | 1024x600 Progressive 60Hz
|
||||
# "1024x768p60hz" | 1024x768 Progressive 60Hz
|
||||
# "1280x800p60hz" | 1280x800 Progressive 60Hz
|
||||
# "1280x1024p60hz" | 1280x1024 Progressive 60Hz
|
||||
# "1360x768p60hz" | 1360x768 Progressive 60Hz
|
||||
# "1440x900p60hz" | 1440x900 Progressive 60Hz
|
||||
# "1600x900p60hz" | 1600x900 Progressive 60Hz
|
||||
# "1600x1200p60hz" | 1600x1200 Progressive 60Hz
|
||||
# "1680x1050p60hz" | 1680x1050 Progressive 60Hz
|
||||
# "1920x1200p60hz" | 1920x1200 Progressive 60Hz
|
||||
# "2560x1080p60hz" | 2560x1080 Progressive 60Hz
|
||||
# "2560x1440p60hz" | 2560x1440 Progressive 60Hz
|
||||
# "2560x1600p60hz" | 2560x1600 Progressive 60Hz
|
||||
# "3440x1440p60hz" | 3440x1440 Progressive 60Hz
|
||||
hdmimode=1080p60hz
|
||||
|
||||
# Overscan percentage
|
||||
# This value scales down the actual screen size by the percentage below
|
||||
# valid range is 80 to 100
|
||||
overscan=100
|
||||
|
||||
### voutmode : hdmi or dvi
|
||||
#voutmode=dvi
|
||||
voutmode=hdmi
|
||||
|
||||
# HPD enable/disable option
|
||||
disablehpd="false"
|
||||
|
||||
# max cpu frequency for big core, A73 in MHz unit
|
||||
# 1.8 GHz, default value
|
||||
#max_freq_a73=2004 # 2.004 GHz
|
||||
#max_freq_a73=1908 # 1.908 GHz
|
||||
#max_freq_a73=1704 # 1.704 GHz
|
||||
max_freq_a73=1800
|
||||
|
||||
# max cpu frequency for little core, A53 in MHz unit
|
||||
# 1.896 GHz, default value
|
||||
#max_freq_a53=1992 # 1.992 GHz
|
||||
#max_freq_a53=1704 # 1.704 GHz
|
||||
max_freq_a53=1896
|
||||
|
||||
|
||||
# max cpu-cores
|
||||
# Note:
|
||||
# CPU's 0 and 1 are the A53 (small cores)
|
||||
# CPU's 2 to 5 are the A73 (big cores)
|
||||
# Lowering this value disables only the bigger cores (the last cores).
|
||||
#maxcpus=4
|
||||
#maxcpus=5
|
||||
maxcpus=6
|
25
buildroot-external/board/hardkernel/odroid-n2/hassos-hook.sh
Executable file
25
buildroot-external/board/hardkernel/odroid-n2/hassos-hook.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
# shellcheck disable=SC2155
|
||||
|
||||
function hassos_pre_image() {
|
||||
local BOOT_DATA="$(path_boot_dir)"
|
||||
local UBOOT_G12B="${BINARIES_DIR}/u-boot.g12b"
|
||||
local SPL_IMG="$(path_spl_img)"
|
||||
|
||||
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
|
||||
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/config.txt"
|
||||
cp "${BINARIES_DIR}/meson-g12b-odroid-n2.dtb" "${BOOT_DATA}/meson-g12b-odroid-n2.dtb"
|
||||
|
||||
echo "console=tty0 console=ttyAML0,115200n8" > "${BOOT_DATA}/cmdline.txt"
|
||||
|
||||
# SPL
|
||||
create_spl_image
|
||||
|
||||
dd if="${UBOOT_G12B}" of="${SPL_IMG}" conv=notrunc bs=512 seek=1
|
||||
}
|
||||
|
||||
|
||||
function hassos_post_image() {
|
||||
convert_disk_image_gz
|
||||
}
|
||||
|
6518
buildroot-external/board/hardkernel/odroid-n2/kernel.config
Normal file
6518
buildroot-external/board/hardkernel/odroid-n2/kernel.config
Normal file
File diff suppressed because it is too large
Load Diff
7
buildroot-external/board/hardkernel/odroid-n2/meta
Normal file
7
buildroot-external/board/hardkernel/odroid-n2/meta
Normal file
@@ -0,0 +1,7 @@
|
||||
BOARD_ID=odroid-n2
|
||||
BOARD_NAME="Hardkernel Odroid-N2"
|
||||
CHASSIS=embedded
|
||||
BOOTLOADER=uboot
|
||||
KERNEL_FILE=Image
|
||||
BOOT_SYS=mbr
|
||||
BOOT_ENV_SIZE=0x2000
|
@@ -1,51 +1,56 @@
|
||||
|
||||
part start mmc ${devnum} 6 mmc_env
|
||||
###########################################
|
||||
|
||||
part start mmc ${devnum} 9 mmc_env
|
||||
mmc dev ${devnum}
|
||||
setenv loadbootstate " \
|
||||
echo 'loading env...'; \
|
||||
mmc read ${ramdisk_addr_r} ${mmc_env} 0x40; \
|
||||
env import -c ${ramdisk_addr_r} 0x8000;"
|
||||
mmc read ${ramdisk_addr_r} ${mmc_env} 0x10; \
|
||||
env import -c ${ramdisk_addr_r} 0x2000;"
|
||||
|
||||
setenv storebootstate " \
|
||||
echo 'storing env...'; \
|
||||
env export -c -s 0x8000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \
|
||||
mmc write ${ramdisk_addr_r} ${mmc_env} 0x40;"
|
||||
env export -c -s 0x2000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \
|
||||
mmc write ${ramdisk_addr_r} ${mmc_env} 0x10;"
|
||||
|
||||
run loadbootstate
|
||||
test -n "${BOOT_ORDER}" || setenv BOOT_ORDER "A B"
|
||||
test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3
|
||||
test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
|
||||
|
||||
# HassOS bootargs
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor cgroup_enable=memory rootwait"
|
||||
|
||||
# HassOS system A/B
|
||||
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"
|
||||
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro"
|
||||
|
||||
# Load extraargs
|
||||
fileenv mmc ${devnum}:1 ${ramdisk_addr_r} cmdline.txt cmdline
|
||||
|
||||
# Load device tree
|
||||
fatload mmc ${devnum}:1 ${fdt_addr_r} sun50i-h5-orangepi-prime.dtb
|
||||
fdt addr ${fdt_addr_r}
|
||||
|
||||
if load mmc ${devnum}:1 ${ramdisk_addr_r} config.txt; then
|
||||
env import -t ${ramdisk_addr_r} ${filesize};
|
||||
fi
|
||||
|
||||
if test "${i2c0_enable}" != "false"; then
|
||||
fdt set /soc/i2c@1c2ac00 status "okay"
|
||||
fi
|
||||
# Board bootargs
|
||||
if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
|
||||
|
||||
# Boot Args
|
||||
setenv bootargs_odroidn2 "clk_ignore_unused hdmimode=${hdmimode} cvbsmode=576cvbs max_freq_a53=${max_freq_a53} max_freq_a73=${max_freq_a73} maxcpus=${maxcpus} ${cmode} voutmode=${voutmode} disablehpd=${disablehpd} overscan=${overscan}"
|
||||
|
||||
if test "${i2c1_enable}" != "false"; then
|
||||
fdt set /soc/i2c@1c2b000 status "okay"
|
||||
fi
|
||||
# HassOS bootargs
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor cgroup_enable=memory"
|
||||
|
||||
if test "${i2c2_enable}" != "false"; then
|
||||
fdt set /soc/i2c@1c2b400 status "okay"
|
||||
fi
|
||||
# HassOS system A/B
|
||||
setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
|
||||
|
||||
usb start
|
||||
|
||||
# Load extraargs
|
||||
fileenv mmc ${devnum}:1 ${ramdisk_addr_r} cmdline.txt cmdline
|
||||
fatload mmc ${devnum}:1 ${fdt_addr_r} meson-g12b-odroid-n2.dtb
|
||||
|
||||
# logical volumes get numbered after physical ones.
|
||||
# 1. boot
|
||||
# 2. Extended partition
|
||||
# 3. Overlay
|
||||
# 4. Data
|
||||
# 5. KernelA
|
||||
# 6. SystemA
|
||||
# 7. KernelB
|
||||
# 8. SystemB
|
||||
# 9. BootInfo
|
||||
setenv bootargs
|
||||
for BOOT_SLOT in "${BOOT_ORDER}"; do
|
||||
if test "x${bootargs}" != "x"; then
|
||||
@@ -54,15 +59,15 @@ for BOOT_SLOT in "${BOOT_ORDER}"; do
|
||||
if test ${BOOT_A_LEFT} -gt 0; then
|
||||
setexpr BOOT_A_LEFT ${BOOT_A_LEFT} - 1
|
||||
echo "Found valid slot A, ${BOOT_A_LEFT} attempts remaining"
|
||||
setenv load_kernel "ext4load mmc ${devnum}:2 ${kernel_addr_r} Image"
|
||||
setenv bootargs "${bootargs_hassos} ${bootargs_a} rauc.slot=A ${cmdline}"
|
||||
setenv load_kernel "ext4load mmc ${devnum}:5 ${kernel_addr_r} Image"
|
||||
setenv bootargs "${bootargs_hassos} ${bootargs_odroidn2} ${bootargs_a} rauc.slot=A ${cmdline}"
|
||||
fi
|
||||
elif test "x${BOOT_SLOT}" = "xB"; then
|
||||
if test ${BOOT_B_LEFT} -gt 0; then
|
||||
setexpr BOOT_B_LEFT ${BOOT_B_LEFT} - 1
|
||||
echo "Found valid slot B, ${BOOT_B_LEFT} attempts remaining"
|
||||
setenv load_kernel "ext4load mmc ${devnum}:4 ${kernel_addr_r} Image"
|
||||
setenv bootargs "${bootargs_hassos} ${bootargs_b} rauc.slot=B ${cmdline}"
|
||||
setenv load_kernel "ext4load mmc ${devnum}:7 ${kernel_addr_r} Image"
|
||||
setenv bootargs "${bootargs_hassos} ${bootargs_odroidn2} ${bootargs_b} rauc.slot=B ${cmdline}"
|
||||
fi
|
||||
fi
|
||||
done
|
@@ -0,0 +1,3 @@
|
||||
CONFIG_DOS_PARTITION=y
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
# CONFIG_USB_STORAGE is not set
|
@@ -1,7 +1,6 @@
|
||||
|
||||
macaddr=00:1e:06:61:7a:39
|
||||
vout=hdmi
|
||||
vout=hdmi
|
||||
# - DVI Mode (disables sound over HDMI as per DVI compat)
|
||||
# vout=dvi
|
||||
|
||||
@@ -16,7 +15,7 @@ disable_vu7=false
|
||||
# DRAM Frequency
|
||||
# Sets the LPDDR3 memory frequency
|
||||
# Supported values: 933 825 728 633 (MHZ)
|
||||
ddr_freq 825
|
||||
ddr_freq=825
|
||||
|
||||
# External watchdog board enable
|
||||
external_watchdog=false
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,13 +0,0 @@
|
||||
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
|
||||
index d0ae8c5315048..3ccf2c5be034c 100755
|
||||
--- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
|
||||
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
|
||||
@@ -402,7 +402,7 @@
|
||||
samsung,dw-mshc-sdr-timing = <0 4>;
|
||||
samsung,dw-mshc-ddr-timing = <0 2>;
|
||||
samsung,dw-mshc-hs400-timing = <0 2>;
|
||||
- samsung,read-strobe-delay = <90>;
|
||||
+ samsung,read-strobe-delay = <150>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd &sd0_rclk>;
|
||||
bus-width = <8>;
|
@@ -7,14 +7,11 @@ mmc dev ${devnum}
|
||||
# Note that import is performed twice for backwards compatability.
|
||||
setenv loadbootstate " \
|
||||
echo 'loading env...'; \
|
||||
mw.b ${ramdisk_addr_r} 0 0x4000; \
|
||||
mmc read ${ramdisk_addr_r} ${mmc_env} 0x20; \
|
||||
env import -c ${ramdisk_addr_r} 0x2000 || \
|
||||
env import -c ${ramdisk_addr_r} 0x4000;"
|
||||
|
||||
setenv storebootstate " \
|
||||
echo 'storing env...'; \
|
||||
mw.b ${ramdisk_addr_r} 0 0x4000; \
|
||||
env export -c -s 0x4000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \
|
||||
mmc write ${ramdisk_addr_r} ${mmc_env} 0x20;"
|
||||
|
||||
|
@@ -1,6 +1,4 @@
|
||||
# CONFIG_USB_STORAGE is not set
|
||||
CONFIG_DOS_PARTITION=y
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
CONFIG_CMD_FILEENV=y
|
||||
CONFIG_ENV_IS_NOWHERE=Y
|
||||
# CONFIG_USB_STORAGE is not set
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
|
3
buildroot-external/board/hardkernel/patches/README.md
Normal file
3
buildroot-external/board/hardkernel/patches/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Kernel
|
||||
https://github.com/akuster/meta-odroid
|
||||
https://github.com/superna9999/linux
|
@@ -0,0 +1,72 @@
|
||||
From 7041ca0d550d3a9caed54857365cf504eaeea756 Mon Sep 17 00:00:00 2001
|
||||
From: Armin Kuster <akuster@mvista.com>
|
||||
Date: Fri, 23 Mar 2018 09:02:44 -0700
|
||||
Subject: [PATCH] exynos5422-odroidhc1.dts: fix booting from mmc
|
||||
|
||||
Signed-off-by: Armin Kuster <akuster@mvista.com>
|
||||
---
|
||||
arch/arm/boot/dts/exynos5422-odroidhc1.dts | 37 ++++++++++++++++++++++++++++++
|
||||
1 file changed, 37 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/exynos5422-odroidhc1.dts b/arch/arm/boot/dts/exynos5422-odroidhc1.dts
|
||||
index fb8e8ae..c7adecf 100644
|
||||
--- a/arch/arm/boot/dts/exynos5422-odroidhc1.dts
|
||||
+++ b/arch/arm/boot/dts/exynos5422-odroidhc1.dts
|
||||
@@ -11,6 +11,7 @@
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
+#include <dt-bindings/input/input.h>
|
||||
#include "exynos5422-odroid-core.dtsi"
|
||||
|
||||
/ {
|
||||
@@ -30,6 +31,14 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ emmc_pwrseq: pwrseq {
|
||||
+ pinctrl-0 = <&emmc_nrst_pin>;
|
||||
+ pinctrl-names = "default";
|
||||
+ compatible = "mmc-pwrseq-emmc";
|
||||
+ reset-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+
|
||||
thermal-zones {
|
||||
cpu0_thermal: cpu0-thermal {
|
||||
thermal-sensors = <&tmu_cpu0 0>;
|
||||
@@ -211,3 +220,31 @@
|
||||
&usbdrd_dwc3_1 {
|
||||
dr_mode = "host";
|
||||
};
|
||||
+
|
||||
+&mmc_0 {
|
||||
+ status = "okay";
|
||||
+ mmc-pwrseq = <&emmc_pwrseq>;
|
||||
+ card-detect-delay = <200>;
|
||||
+ samsung,dw-mshc-ciu-div = <3>;
|
||||
+ samsung,dw-mshc-sdr-timing = <0 4>;
|
||||
+ samsung,dw-mshc-ddr-timing = <0 2>;
|
||||
+ samsung,dw-mshc-hs400-timing = <0 2>;
|
||||
+ samsung,read-strobe-delay = <90>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd &sd0_rclk>;
|
||||
+ bus-width = <8>;
|
||||
+ cap-mmc-highspeed;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ mmc-hs400-1_8v;
|
||||
+ vmmc-supply = <&ldo18_reg>;
|
||||
+ vqmmc-supply = <&ldo3_reg>;
|
||||
+};
|
||||
+
|
||||
+&pinctrl_1 {
|
||||
+ emmc_nrst_pin: emmc-nrst {
|
||||
+ samsung,pins = "gpd1-0";
|
||||
+ samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
|
||||
+ samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
+ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.7.4
|
||||
|
@@ -0,0 +1,106 @@
|
||||
From c669757a7564c19d042bc5ac18199bb6f3f4e928 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Fri, 27 Sep 2019 15:16:38 +0200
|
||||
Subject: [PATCH 1/1] dwc3: add parkmode_disable_ss_quirk for G12A
|
||||
|
||||
Could you validate this fixes the following issue ?
|
||||
[ 221.141621] xhci-hcd xhci-hcd.0.auto: xHCI host not responding to stop endpoint command.
|
||||
[ 221.157631] xhci-hcd xhci-hcd.0.auto: Host halt failed, -110
|
||||
[ 221.157635] xhci-hcd xhci-hcd.0.auto: xHCI host controller not responding, assume dead
|
||||
[ 221.159901] xhci-hcd xhci-hcd.0.auto: xHCI host not responding to stop endpoint command.
|
||||
[ 221.159961] hub 2-1.1:1.0: hub_ext_port_status failed (err = -22)
|
||||
[ 221.160076] xhci-hcd xhci-hcd.0.auto: HC died; cleaning up
|
||||
[ 221.165946] usb 2-1.1-port1: cannot reset (err = -22)
|
||||
|
||||
Cc: Tim <elatllat@gmail.com>
|
||||
CC: Dongjin Kim <tobetter@gmail.com>
|
||||
Cc: Jianxin Pan <jianxin.pan@amlogic.com>
|
||||
CC: linux-amlogic@lists.infradead.org
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
Documentation/devicetree/bindings/usb/dwc3.txt | 2 ++
|
||||
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 1 +
|
||||
drivers/usb/dwc3/core.c | 5 +++++
|
||||
drivers/usb/dwc3/core.h | 4 ++++
|
||||
4 files changed, 12 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
|
||||
index 66780a47ad85..c977a3ba2f35 100644
|
||||
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
|
||||
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
|
||||
@@ -75,6 +75,8 @@ Optional properties:
|
||||
from P0 to P1/P2/P3 without delay.
|
||||
- snps,dis-tx-ipgap-linecheck-quirk: when set, disable u2mac linestate check
|
||||
during HS transmit.
|
||||
+ - snps,parkmode-disable-ss-quirk: when set, all SuperSpeed bus instances in
|
||||
+ park mode are disabled.
|
||||
- snps,dis_metastability_quirk: when set, disable metastability workaround.
|
||||
CAUTION: use only if you are absolutely sure of it.
|
||||
- snps,is-utmi-l1-suspend: true when DWC3 asserts output signal
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index 852cf9cf121b..139f24975c0e 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -2401,6 +2401,7 @@
|
||||
dr_mode = "host";
|
||||
snps,dis_u2_susphy_quirk;
|
||||
snps,quirk-frame-length-adjustment;
|
||||
+ snps,parkmode-disable-ss-quirk;
|
||||
};
|
||||
};
|
||||
|
||||
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
|
||||
index c9bb93a2c81e..f64dba17a50d 100644
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -983,6 +983,9 @@ static int dwc3_core_init(struct dwc3 *dwc)
|
||||
if (dwc->dis_tx_ipgap_linecheck_quirk)
|
||||
reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS;
|
||||
|
||||
+ if (dwc->parkmode_disable_ss_quirk)
|
||||
+ reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS;
|
||||
+
|
||||
dwc3_writel(dwc->regs, DWC3_GUCTL1, reg);
|
||||
}
|
||||
|
||||
@@ -1294,6 +1297,8 @@ static void dwc3_get_properties(struct dwc3 *dwc)
|
||||
"snps,dis-del-phy-power-chg-quirk");
|
||||
dwc->dis_tx_ipgap_linecheck_quirk = device_property_read_bool(dev,
|
||||
"snps,dis-tx-ipgap-linecheck-quirk");
|
||||
+ dwc->parkmode_disable_ss_quirk = device_property_read_bool(dev,
|
||||
+ "snps,parkmode-disable-ss-quirk");
|
||||
|
||||
dwc->tx_de_emphasis_quirk = device_property_read_bool(dev,
|
||||
"snps,tx_de_emphasis_quirk");
|
||||
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
|
||||
index 3dd783b889cb..ab071163b3b8 100644
|
||||
--- a/drivers/usb/dwc3/core.h
|
||||
+++ b/drivers/usb/dwc3/core.h
|
||||
@@ -249,6 +249,7 @@
|
||||
#define DWC3_GUCTL_HSTINAUTORETRY BIT(14)
|
||||
|
||||
/* Global User Control 1 Register */
|
||||
+#define DWC3_GUCTL1_PARKMODE_DISABLE_SS BIT(17)
|
||||
#define DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS BIT(28)
|
||||
#define DWC3_GUCTL1_DEV_L1_EXIT_BY_HW BIT(24)
|
||||
|
||||
@@ -1022,6 +1023,8 @@ struct dwc3_scratchpad_array {
|
||||
* change quirk.
|
||||
* @dis_tx_ipgap_linecheck_quirk: set if we disable u2mac linestate
|
||||
* check during HS transmit.
|
||||
+ * @parkmode_disable_ss_quirk: set if we need to disable all SuperSpeed
|
||||
+ * instances in park mode.
|
||||
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
|
||||
* @tx_de_emphasis: Tx de-emphasis value
|
||||
* 0 - -6dB de-emphasis
|
||||
@@ -1211,6 +1214,7 @@ struct dwc3 {
|
||||
unsigned dis_u2_freeclk_exists_quirk:1;
|
||||
unsigned dis_del_phy_power_chg_quirk:1;
|
||||
unsigned dis_tx_ipgap_linecheck_quirk:1;
|
||||
+ unsigned parkmode_disable_ss_quirk:1;
|
||||
|
||||
unsigned tx_de_emphasis_quirk:1;
|
||||
unsigned tx_de_emphasis:2;
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,92 @@
|
||||
ARM: dts: exynos5420: add mali dt bindings and enable mali on Odroid XU3/4
|
||||
|
||||
Signed-off-by: memeka <mihailescu2m@gmail.com>
|
||||
|
||||
https://github.com/hardkernel/linux/commit/27f16b364e195daefdb8839344c02870ceaf48f2#diff-80dd4bb1cf404a3774bbe37bcfe945c2
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Signed-off-by: Armin Kuster <akuster808@gmail.com>
|
||||
|
||||
Index: kernel-source/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
|
||||
===================================================================
|
||||
--- kernel-source.orig/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
|
||||
+++ kernel-source/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
|
||||
@@ -417,6 +417,11 @@
|
||||
vtmu-supply = <&ldo7_reg>;
|
||||
};
|
||||
|
||||
+&mali {
|
||||
+ mali-supply = <&buck4_reg>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&rtc {
|
||||
status = "okay";
|
||||
clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
|
||||
Index: kernel-source/arch/arm/boot/dts/exynos5420.dtsi
|
||||
===================================================================
|
||||
--- kernel-source.orig/arch/arm/boot/dts/exynos5420.dtsi
|
||||
+++ kernel-source/arch/arm/boot/dts/exynos5420.dtsi
|
||||
@@ -1317,6 +1317,61 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ mali: mali@11800000 {
|
||||
+ compatible = "samsung,exynos5422-mali", "arm,malit6xx", "arm,mali-midgard";
|
||||
+ reg = <0x11800000 0x5000>;
|
||||
+ interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "JOB", "MMU", "GPU";
|
||||
+
|
||||
+ clocks = <&clock CLK_FOUT_VPLL>, <&clock CLK_DOUT_ACLK_G3D>, <&clock CLK_G3D>;
|
||||
+ clock-names = "fout_vpll", "dout_aclk_g3d", "clk_mali";
|
||||
+
|
||||
+ operating-points-v2 = <&gpu_opp_table>;
|
||||
+
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ power_model@0 {
|
||||
+ compatible = "arm,mali-simple-power-model";
|
||||
+ static-coefficient = <2427750>;
|
||||
+ dynamic-coefficient = <4687>;
|
||||
+ ts = <20000 2000 (-20) 2>;
|
||||
+ thermal-zone = "gpu-thermal";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gpu_opp_table: opp_table0 {
|
||||
+ compatible = "operating-points-v2";
|
||||
+
|
||||
+ opp@600000000 {
|
||||
+ opp-hz = /bits/ 64 <600000000>;
|
||||
+ opp-microvolt = <1150000>;
|
||||
+ };
|
||||
+ opp@543000000 {
|
||||
+ opp-hz = /bits/ 64 <543000000>;
|
||||
+ opp-microvolt = <1037500>;
|
||||
+ };
|
||||
+ opp@480000000 {
|
||||
+ opp-hz = /bits/ 64 <480000000>;
|
||||
+ opp-microvolt = <1000000>;
|
||||
+ };
|
||||
+ opp@420000000 {
|
||||
+ opp-hz = /bits/ 64 <420000000>;
|
||||
+ opp-microvolt = <962500>;
|
||||
+ };
|
||||
+ opp@350000000 {
|
||||
+ opp-hz = /bits/ 64 <350000000>;
|
||||
+ opp-microvolt = <912500>;
|
||||
+ };
|
||||
+ opp@266000000 {
|
||||
+ opp-hz = /bits/ 64 <266000000>;
|
||||
+ opp-microvolt = <862500>;
|
||||
+ };
|
||||
+ opp@177000000 {
|
||||
+ opp-hz = /bits/ 64 <177000000>;
|
||||
+ opp-microvolt = <812500>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
thermal-zones {
|
||||
cpu0_thermal: cpu0-thermal {
|
||||
thermal-sensors = <&tmu_cpu0>;
|
@@ -0,0 +1,29 @@
|
||||
From 409a0daa72f6fc1652e17cfea7ea1055e9c483c9 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 21 Oct 2019 16:29:02 +0200
|
||||
Subject: [PATCH] arm64: dts: meson-g12b-odroid-n2: add missing amlogic, s922x
|
||||
compatible
|
||||
|
||||
This fixes the following DT schemas check errors:
|
||||
meson-g12b-odroid-n2.dt.yaml: /: compatible: ['hardkernel,odroid-n2', 'amlogic,g12b'] is not valid under any of the given schemas
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
|
||||
index 42f15405750cd..0e54c1dc2842b 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
||||
|
||||
/ {
|
||||
- compatible = "hardkernel,odroid-n2", "amlogic,g12b";
|
||||
+ compatible = "hardkernel,odroid-n2", "amlogic,s922x", "amlogic,g12b";
|
||||
model = "Hardkernel ODROID-N2";
|
||||
|
||||
aliases {
|
@@ -0,0 +1,60 @@
|
||||
From d80b817e975c0911f130d502292b209f34ea1e2c Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Tue, 27 Aug 2019 12:03:07 +0200
|
||||
Subject: [PATCH 171/200] FROMLIST: arm64: dts: meson-g12b: specify suspend OPP
|
||||
|
||||
Tag the 1,2GHz OPPs as suspend OPP to be set before going in suspend mode.
|
||||
|
||||
It has been reported that using various OPPs can lead to error or
|
||||
resume with a different OPP from the ROM, thus use this safe OPP as
|
||||
it is the default OPP used by the BL2 boot firmware on the 2 clusters.
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi | 2 ++
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi
|
||||
index d61f43052a34..00ea181bc018 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi
|
||||
@@ -39,6 +39,7 @@
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <781000>;
|
||||
+ opp-suspend;
|
||||
};
|
||||
|
||||
opp-1398000000 {
|
||||
@@ -99,6 +100,7 @@
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <751000>;
|
||||
+ opp-suspend;
|
||||
};
|
||||
|
||||
opp-1398000000 {
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi
|
||||
index 046cc332d07f..d68323c6c780 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi
|
||||
@@ -39,6 +39,7 @@
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <731000>;
|
||||
+ opp-suspend;
|
||||
};
|
||||
|
||||
opp-1398000000 {
|
||||
@@ -99,6 +100,7 @@
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <771000>;
|
||||
+ opp-suspend;
|
||||
};
|
||||
|
||||
opp-1398000000 {
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,60 @@
|
||||
From 9ed437d69b49bd9ad39db7b6d69b60dfc47cac69 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Thu, 5 Sep 2019 14:59:54 +0200
|
||||
Subject: [PATCH] arm64: dts: meson: g12: add a g12 layer
|
||||
|
||||
While the sm1 is very close to the g12a/b family, somethings apply
|
||||
differently on the g12a/b and not the sm1. This introduce a new layer
|
||||
of dtsi for part which apply to the g12a and g12b but not the sm1.
|
||||
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12.dtsi | 7 +++++++
|
||||
arch/arm64/boot/dts/amlogic/meson-g12a.dtsi | 2 +-
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b.dtsi | 2 +-
|
||||
3 files changed, 9 insertions(+), 2 deletions(-)
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..1e30061fb2a7
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
@@ -0,0 +1,7 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2019 BayLibre, SAS
|
||||
+ * Author: Jerome Brunet <jbrunet@baylibre.com>
|
||||
+ */
|
||||
+
|
||||
+#include "meson-g12-common.dtsi"
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
|
||||
index eb5d177d7a99..69339d69dfd4 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
|
||||
@@ -3,7 +3,7 @@
|
||||
* Copyright (c) 2018 Amlogic, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
-#include "meson-g12-common.dtsi"
|
||||
+#include "meson-g12.dtsi"
|
||||
#include <dt-bindings/power/meson-g12a-power.h>
|
||||
|
||||
/ {
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
|
||||
index 5628ccd54531..eefac0ef092b 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
|
||||
@@ -4,7 +4,7 @@
|
||||
* Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
*/
|
||||
|
||||
-#include "meson-g12-common.dtsi"
|
||||
+#include "meson-g12.dtsi"
|
||||
#include <dt-bindings/power/meson-g12a-power.h>
|
||||
|
||||
/ {
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,95 @@
|
||||
From 2871626ba6e61e1ace43db491f766d39e6eacd5a Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Thu, 5 Sep 2019 14:59:55 +0200
|
||||
Subject: [PATCH] arm64: dts: meson: g12: factor the power domain.
|
||||
|
||||
The power domain declared in the g12a and g12b dtsi are the same.
|
||||
Move the declaration of these power domains in the g12 common dtsi.
|
||||
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12.dtsi | 13 +++++++++++++
|
||||
arch/arm64/boot/dts/amlogic/meson-g12a.dtsi | 13 -------------
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b.dtsi | 12 ------------
|
||||
3 files changed, 13 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
index 1e30061fb2a7..ac5833781611 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
@@ -5,3 +5,16 @@
|
||||
*/
|
||||
|
||||
#include "meson-g12-common.dtsi"
|
||||
+#include <dt-bindings/power/meson-g12a-power.h>
|
||||
+
|
||||
+ðmac {
|
||||
+ power-domains = <&pwrc PWRC_G12A_ETH_ID>;
|
||||
+};
|
||||
+
|
||||
+&vpu {
|
||||
+ power-domains = <&pwrc PWRC_G12A_VPU_ID>;
|
||||
+};
|
||||
+
|
||||
+&sd_emmc_a {
|
||||
+ amlogic,dram-access-quirk;
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
|
||||
index 69339d69dfd4..07450c4babfc 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
|
||||
@@ -4,7 +4,6 @@
|
||||
*/
|
||||
|
||||
#include "meson-g12.dtsi"
|
||||
-#include <dt-bindings/power/meson-g12a-power.h>
|
||||
|
||||
/ {
|
||||
compatible = "amlogic,g12a";
|
||||
@@ -110,15 +109,3 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
-
|
||||
-ðmac {
|
||||
- power-domains = <&pwrc PWRC_G12A_ETH_ID>;
|
||||
-};
|
||||
-
|
||||
-&vpu {
|
||||
- power-domains = <&pwrc PWRC_G12A_VPU_ID>;
|
||||
-};
|
||||
-
|
||||
-&sd_emmc_a {
|
||||
- amlogic,dram-access-quirk;
|
||||
-};
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
|
||||
index eefac0ef092b..a9e1db0f1158 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
|
||||
@@ -5,7 +5,6 @@
|
||||
*/
|
||||
|
||||
#include "meson-g12.dtsi"
|
||||
-#include <dt-bindings/power/meson-g12a-power.h>
|
||||
|
||||
/ {
|
||||
compatible = "amlogic,g12b";
|
||||
@@ -102,14 +101,3 @@
|
||||
compatible = "amlogic,g12b-clkc";
|
||||
};
|
||||
|
||||
-ðmac {
|
||||
- power-domains = <&pwrc PWRC_G12A_ETH_ID>;
|
||||
-};
|
||||
-
|
||||
-&vpu {
|
||||
- power-domains = <&pwrc PWRC_G12A_VPU_ID>;
|
||||
-};
|
||||
-
|
||||
-&sd_emmc_a {
|
||||
- amlogic,dram-access-quirk;
|
||||
-};
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,707 @@
|
||||
From 0f674df0c260d363d2f25efea17f07b73d287565 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Thu, 5 Sep 2019 14:59:56 +0200
|
||||
Subject: [PATCH] arm64: dts: meson: g12: move audio bus out of g12-common
|
||||
|
||||
The base address of the audio bus and pdm device are different
|
||||
between the g12 and sm1 SoC families. Overwriting the reg property
|
||||
only would leave with confusing node names on the sm1.
|
||||
|
||||
Move the audio related devices to the g12 dtsi. The appropriate nodes
|
||||
will be created for the sm1 later on.
|
||||
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-g12-common.dtsi | 320 -----------------
|
||||
arch/arm64/boot/dts/amlogic/meson-g12.dtsi | 324 ++++++++++++++++++
|
||||
2 files changed, 324 insertions(+), 320 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index 0ee8a369c547..95e9cf405fe9 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -5,13 +5,10 @@
|
||||
|
||||
#include <dt-bindings/phy/phy.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
-#include <dt-bindings/clock/axg-audio-clkc.h>
|
||||
#include <dt-bindings/clock/g12a-clkc.h>
|
||||
#include <dt-bindings/clock/g12a-aoclkc.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
-#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
|
||||
-#include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
|
||||
#include <dt-bindings/reset/amlogic,meson-g12a-reset.h>
|
||||
|
||||
/ {
|
||||
@@ -19,39 +16,6 @@
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
- tdmif_a: audio-controller-0 {
|
||||
- compatible = "amlogic,axg-tdm-iface";
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "TDM_A";
|
||||
- clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
|
||||
- <&clkc_audio AUD_CLKID_MST_A_SCLK>,
|
||||
- <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
|
||||
- clock-names = "mclk", "sclk", "lrclk";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- tdmif_b: audio-controller-1 {
|
||||
- compatible = "amlogic,axg-tdm-iface";
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "TDM_B";
|
||||
- clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
|
||||
- <&clkc_audio AUD_CLKID_MST_B_SCLK>,
|
||||
- <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
|
||||
- clock-names = "mclk", "sclk", "lrclk";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- tdmif_c: audio-controller-2 {
|
||||
- compatible = "amlogic,axg-tdm-iface";
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "TDM_C";
|
||||
- clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
|
||||
- <&clkc_audio AUD_CLKID_MST_C_SCLK>,
|
||||
- <&clkc_audio AUD_CLKID_MST_C_LRCLK>;
|
||||
- clock-names = "mclk", "sclk", "lrclk";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
efuse: efuse {
|
||||
compatible = "amlogic,meson-gxbb-efuse";
|
||||
clocks = <&clkc CLKID_EFUSE>;
|
||||
@@ -1457,290 +1421,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
- pdm: audio-controller@40000 {
|
||||
- compatible = "amlogic,g12a-pdm",
|
||||
- "amlogic,axg-pdm";
|
||||
- reg = <0x0 0x40000 0x0 0x34>;
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "PDM";
|
||||
- clocks = <&clkc_audio AUD_CLKID_PDM>,
|
||||
- <&clkc_audio AUD_CLKID_PDM_DCLK>,
|
||||
- <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
|
||||
- clock-names = "pclk", "dclk", "sysclk";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- audio: bus@42000 {
|
||||
- compatible = "simple-bus";
|
||||
- reg = <0x0 0x42000 0x0 0x2000>;
|
||||
- #address-cells = <2>;
|
||||
- #size-cells = <2>;
|
||||
- ranges = <0x0 0x0 0x0 0x42000 0x0 0x2000>;
|
||||
-
|
||||
- clkc_audio: clock-controller@0 {
|
||||
- status = "disabled";
|
||||
- compatible = "amlogic,g12a-audio-clkc";
|
||||
- reg = <0x0 0x0 0x0 0xb4>;
|
||||
- #clock-cells = <1>;
|
||||
- #reset-cells = <1>;
|
||||
-
|
||||
- clocks = <&clkc CLKID_AUDIO>,
|
||||
- <&clkc CLKID_MPLL0>,
|
||||
- <&clkc CLKID_MPLL1>,
|
||||
- <&clkc CLKID_MPLL2>,
|
||||
- <&clkc CLKID_MPLL3>,
|
||||
- <&clkc CLKID_HIFI_PLL>,
|
||||
- <&clkc CLKID_FCLK_DIV3>,
|
||||
- <&clkc CLKID_FCLK_DIV4>,
|
||||
- <&clkc CLKID_GP0_PLL>;
|
||||
- clock-names = "pclk",
|
||||
- "mst_in0",
|
||||
- "mst_in1",
|
||||
- "mst_in2",
|
||||
- "mst_in3",
|
||||
- "mst_in4",
|
||||
- "mst_in5",
|
||||
- "mst_in6",
|
||||
- "mst_in7";
|
||||
-
|
||||
- resets = <&reset RESET_AUDIO>;
|
||||
- };
|
||||
-
|
||||
- toddr_a: audio-controller@100 {
|
||||
- compatible = "amlogic,g12a-toddr",
|
||||
- "amlogic,axg-toddr";
|
||||
- reg = <0x0 0x100 0x0 0x2c>;
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "TODDR_A";
|
||||
- interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
|
||||
- resets = <&arb AXG_ARB_TODDR_A>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- toddr_b: audio-controller@140 {
|
||||
- compatible = "amlogic,g12a-toddr",
|
||||
- "amlogic,axg-toddr";
|
||||
- reg = <0x0 0x140 0x0 0x2c>;
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "TODDR_B";
|
||||
- interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
|
||||
- resets = <&arb AXG_ARB_TODDR_B>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- toddr_c: audio-controller@180 {
|
||||
- compatible = "amlogic,g12a-toddr",
|
||||
- "amlogic,axg-toddr";
|
||||
- reg = <0x0 0x180 0x0 0x2c>;
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "TODDR_C";
|
||||
- interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
|
||||
- resets = <&arb AXG_ARB_TODDR_C>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- frddr_a: audio-controller@1c0 {
|
||||
- compatible = "amlogic,g12a-frddr",
|
||||
- "amlogic,axg-frddr";
|
||||
- reg = <0x0 0x1c0 0x0 0x2c>;
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "FRDDR_A";
|
||||
- interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
|
||||
- resets = <&arb AXG_ARB_FRDDR_A>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- frddr_b: audio-controller@200 {
|
||||
- compatible = "amlogic,g12a-frddr",
|
||||
- "amlogic,axg-frddr";
|
||||
- reg = <0x0 0x200 0x0 0x2c>;
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "FRDDR_B";
|
||||
- interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
|
||||
- resets = <&arb AXG_ARB_FRDDR_B>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- frddr_c: audio-controller@240 {
|
||||
- compatible = "amlogic,g12a-frddr",
|
||||
- "amlogic,axg-frddr";
|
||||
- reg = <0x0 0x240 0x0 0x2c>;
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "FRDDR_C";
|
||||
- interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
|
||||
- resets = <&arb AXG_ARB_FRDDR_C>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- arb: reset-controller@280 {
|
||||
- status = "disabled";
|
||||
- compatible = "amlogic,meson-axg-audio-arb";
|
||||
- reg = <0x0 0x280 0x0 0x4>;
|
||||
- #reset-cells = <1>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
|
||||
- };
|
||||
-
|
||||
- tdmin_a: audio-controller@300 {
|
||||
- compatible = "amlogic,g12a-tdmin",
|
||||
- "amlogic,axg-tdmin";
|
||||
- reg = <0x0 0x300 0x0 0x40>;
|
||||
- sound-name-prefix = "TDMIN_A";
|
||||
- resets = <&clkc_audio AUD_RESET_TDMIN_A>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
|
||||
- clock-names = "pclk", "sclk", "sclk_sel",
|
||||
- "lrclk", "lrclk_sel";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- tdmin_b: audio-controller@340 {
|
||||
- compatible = "amlogic,g12a-tdmin",
|
||||
- "amlogic,axg-tdmin";
|
||||
- reg = <0x0 0x340 0x0 0x40>;
|
||||
- sound-name-prefix = "TDMIN_B";
|
||||
- resets = <&clkc_audio AUD_RESET_TDMIN_B>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
|
||||
- clock-names = "pclk", "sclk", "sclk_sel",
|
||||
- "lrclk", "lrclk_sel";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- tdmin_c: audio-controller@380 {
|
||||
- compatible = "amlogic,g12a-tdmin",
|
||||
- "amlogic,axg-tdmin";
|
||||
- reg = <0x0 0x380 0x0 0x40>;
|
||||
- sound-name-prefix = "TDMIN_C";
|
||||
- resets = <&clkc_audio AUD_RESET_TDMIN_C>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
|
||||
- clock-names = "pclk", "sclk", "sclk_sel",
|
||||
- "lrclk", "lrclk_sel";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- tdmin_lb: audio-controller@3c0 {
|
||||
- compatible = "amlogic,g12a-tdmin",
|
||||
- "amlogic,axg-tdmin";
|
||||
- reg = <0x0 0x3c0 0x0 0x40>;
|
||||
- sound-name-prefix = "TDMIN_LB";
|
||||
- resets = <&clkc_audio AUD_RESET_TDMIN_LB>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
|
||||
- clock-names = "pclk", "sclk", "sclk_sel",
|
||||
- "lrclk", "lrclk_sel";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- spdifin: audio-controller@400 {
|
||||
- compatible = "amlogic,g12a-spdifin",
|
||||
- "amlogic,axg-spdifin";
|
||||
- reg = <0x0 0x400 0x0 0x30>;
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "SPDIFIN";
|
||||
- interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
|
||||
- <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
|
||||
- clock-names = "pclk", "refclk";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- spdifout: audio-controller@480 {
|
||||
- compatible = "amlogic,g12a-spdifout",
|
||||
- "amlogic,axg-spdifout";
|
||||
- reg = <0x0 0x480 0x0 0x50>;
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "SPDIFOUT";
|
||||
- clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
|
||||
- <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
|
||||
- clock-names = "pclk", "mclk";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- tdmout_a: audio-controller@500 {
|
||||
- compatible = "amlogic,g12a-tdmout";
|
||||
- reg = <0x0 0x500 0x0 0x40>;
|
||||
- sound-name-prefix = "TDMOUT_A";
|
||||
- resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
|
||||
- clock-names = "pclk", "sclk", "sclk_sel",
|
||||
- "lrclk", "lrclk_sel";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- tdmout_b: audio-controller@540 {
|
||||
- compatible = "amlogic,g12a-tdmout";
|
||||
- reg = <0x0 0x540 0x0 0x40>;
|
||||
- sound-name-prefix = "TDMOUT_B";
|
||||
- resets = <&clkc_audio AUD_RESET_TDMOUT_B>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
|
||||
- clock-names = "pclk", "sclk", "sclk_sel",
|
||||
- "lrclk", "lrclk_sel";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- tdmout_c: audio-controller@580 {
|
||||
- compatible = "amlogic,g12a-tdmout";
|
||||
- reg = <0x0 0x580 0x0 0x40>;
|
||||
- sound-name-prefix = "TDMOUT_C";
|
||||
- resets = <&clkc_audio AUD_RESET_TDMOUT_C>;
|
||||
- clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
|
||||
- <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
|
||||
- clock-names = "pclk", "sclk", "sclk_sel",
|
||||
- "lrclk", "lrclk_sel";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- spdifout_b: audio-controller@680 {
|
||||
- compatible = "amlogic,g12a-spdifout",
|
||||
- "amlogic,axg-spdifout";
|
||||
- reg = <0x0 0x680 0x0 0x50>;
|
||||
- #sound-dai-cells = <0>;
|
||||
- sound-name-prefix = "SPDIFOUT_B";
|
||||
- clocks = <&clkc_audio AUD_CLKID_SPDIFOUT_B>,
|
||||
- <&clkc_audio AUD_CLKID_SPDIFOUT_B_CLK>;
|
||||
- clock-names = "pclk", "mclk";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- tohdmitx: audio-controller@744 {
|
||||
- compatible = "amlogic,g12a-tohdmitx";
|
||||
- reg = <0x0 0x744 0x0 0x4>;
|
||||
- #sound-dai-cells = <1>;
|
||||
- sound-name-prefix = "TOHDMITX";
|
||||
- status = "disabled";
|
||||
- };
|
||||
- };
|
||||
-
|
||||
usb3_pcie_phy: phy@46000 {
|
||||
compatible = "amlogic,g12a-usb3-pcie-phy";
|
||||
reg = <0x0 0x46000 0x0 0x2000>;
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
index ac5833781611..0d9df29994f3 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
@@ -5,7 +5,331 @@
|
||||
*/
|
||||
|
||||
#include "meson-g12-common.dtsi"
|
||||
+#include <dt-bindings/clock/axg-audio-clkc.h>
|
||||
#include <dt-bindings/power/meson-g12a-power.h>
|
||||
+#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
|
||||
+#include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
|
||||
+
|
||||
+/ {
|
||||
+ tdmif_a: audio-controller-0 {
|
||||
+ compatible = "amlogic,axg-tdm-iface";
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "TDM_A";
|
||||
+ clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_MST_A_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
|
||||
+ clock-names = "mclk", "sclk", "lrclk";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ tdmif_b: audio-controller-1 {
|
||||
+ compatible = "amlogic,axg-tdm-iface";
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "TDM_B";
|
||||
+ clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_MST_B_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
|
||||
+ clock-names = "mclk", "sclk", "lrclk";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ tdmif_c: audio-controller-2 {
|
||||
+ compatible = "amlogic,axg-tdm-iface";
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "TDM_C";
|
||||
+ clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_MST_C_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_MST_C_LRCLK>;
|
||||
+ clock-names = "mclk", "sclk", "lrclk";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&apb {
|
||||
+ pdm: audio-controller@40000 {
|
||||
+ compatible = "amlogic,g12a-pdm",
|
||||
+ "amlogic,axg-pdm";
|
||||
+ reg = <0x0 0x40000 0x0 0x34>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "PDM";
|
||||
+ clocks = <&clkc_audio AUD_CLKID_PDM>,
|
||||
+ <&clkc_audio AUD_CLKID_PDM_DCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
|
||||
+ clock-names = "pclk", "dclk", "sysclk";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ audio: bus@42000 {
|
||||
+ compatible = "simple-bus";
|
||||
+ reg = <0x0 0x42000 0x0 0x2000>;
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges = <0x0 0x0 0x0 0x42000 0x0 0x2000>;
|
||||
+
|
||||
+ clkc_audio: clock-controller@0 {
|
||||
+ status = "disabled";
|
||||
+ compatible = "amlogic,g12a-audio-clkc";
|
||||
+ reg = <0x0 0x0 0x0 0xb4>;
|
||||
+ #clock-cells = <1>;
|
||||
+ #reset-cells = <1>;
|
||||
+
|
||||
+ clocks = <&clkc CLKID_AUDIO>,
|
||||
+ <&clkc CLKID_MPLL0>,
|
||||
+ <&clkc CLKID_MPLL1>,
|
||||
+ <&clkc CLKID_MPLL2>,
|
||||
+ <&clkc CLKID_MPLL3>,
|
||||
+ <&clkc CLKID_HIFI_PLL>,
|
||||
+ <&clkc CLKID_FCLK_DIV3>,
|
||||
+ <&clkc CLKID_FCLK_DIV4>,
|
||||
+ <&clkc CLKID_GP0_PLL>;
|
||||
+ clock-names = "pclk",
|
||||
+ "mst_in0",
|
||||
+ "mst_in1",
|
||||
+ "mst_in2",
|
||||
+ "mst_in3",
|
||||
+ "mst_in4",
|
||||
+ "mst_in5",
|
||||
+ "mst_in6",
|
||||
+ "mst_in7";
|
||||
+
|
||||
+ resets = <&reset RESET_AUDIO>;
|
||||
+ };
|
||||
+
|
||||
+ toddr_a: audio-controller@100 {
|
||||
+ compatible = "amlogic,g12a-toddr",
|
||||
+ "amlogic,axg-toddr";
|
||||
+ reg = <0x0 0x100 0x0 0x2c>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "TODDR_A";
|
||||
+ interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
|
||||
+ resets = <&arb AXG_ARB_TODDR_A>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ toddr_b: audio-controller@140 {
|
||||
+ compatible = "amlogic,g12a-toddr",
|
||||
+ "amlogic,axg-toddr";
|
||||
+ reg = <0x0 0x140 0x0 0x2c>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "TODDR_B";
|
||||
+ interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
|
||||
+ resets = <&arb AXG_ARB_TODDR_B>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ toddr_c: audio-controller@180 {
|
||||
+ compatible = "amlogic,g12a-toddr",
|
||||
+ "amlogic,axg-toddr";
|
||||
+ reg = <0x0 0x180 0x0 0x2c>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "TODDR_C";
|
||||
+ interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
|
||||
+ resets = <&arb AXG_ARB_TODDR_C>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ frddr_a: audio-controller@1c0 {
|
||||
+ compatible = "amlogic,g12a-frddr",
|
||||
+ "amlogic,axg-frddr";
|
||||
+ reg = <0x0 0x1c0 0x0 0x2c>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "FRDDR_A";
|
||||
+ interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
|
||||
+ resets = <&arb AXG_ARB_FRDDR_A>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ frddr_b: audio-controller@200 {
|
||||
+ compatible = "amlogic,g12a-frddr",
|
||||
+ "amlogic,axg-frddr";
|
||||
+ reg = <0x0 0x200 0x0 0x2c>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "FRDDR_B";
|
||||
+ interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
|
||||
+ resets = <&arb AXG_ARB_FRDDR_B>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ frddr_c: audio-controller@240 {
|
||||
+ compatible = "amlogic,g12a-frddr",
|
||||
+ "amlogic,axg-frddr";
|
||||
+ reg = <0x0 0x240 0x0 0x2c>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "FRDDR_C";
|
||||
+ interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
|
||||
+ resets = <&arb AXG_ARB_FRDDR_C>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ arb: reset-controller@280 {
|
||||
+ status = "disabled";
|
||||
+ compatible = "amlogic,meson-axg-audio-arb";
|
||||
+ reg = <0x0 0x280 0x0 0x4>;
|
||||
+ #reset-cells = <1>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
|
||||
+ };
|
||||
+
|
||||
+ tdmin_a: audio-controller@300 {
|
||||
+ compatible = "amlogic,g12a-tdmin",
|
||||
+ "amlogic,axg-tdmin";
|
||||
+ reg = <0x0 0x300 0x0 0x40>;
|
||||
+ sound-name-prefix = "TDMIN_A";
|
||||
+ resets = <&clkc_audio AUD_RESET_TDMIN_A>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
|
||||
+ clock-names = "pclk", "sclk", "sclk_sel",
|
||||
+ "lrclk", "lrclk_sel";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ tdmin_b: audio-controller@340 {
|
||||
+ compatible = "amlogic,g12a-tdmin",
|
||||
+ "amlogic,axg-tdmin";
|
||||
+ reg = <0x0 0x340 0x0 0x40>;
|
||||
+ sound-name-prefix = "TDMIN_B";
|
||||
+ resets = <&clkc_audio AUD_RESET_TDMIN_B>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
|
||||
+ clock-names = "pclk", "sclk", "sclk_sel",
|
||||
+ "lrclk", "lrclk_sel";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ tdmin_c: audio-controller@380 {
|
||||
+ compatible = "amlogic,g12a-tdmin",
|
||||
+ "amlogic,axg-tdmin";
|
||||
+ reg = <0x0 0x380 0x0 0x40>;
|
||||
+ sound-name-prefix = "TDMIN_C";
|
||||
+ resets = <&clkc_audio AUD_RESET_TDMIN_C>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
|
||||
+ clock-names = "pclk", "sclk", "sclk_sel",
|
||||
+ "lrclk", "lrclk_sel";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ tdmin_lb: audio-controller@3c0 {
|
||||
+ compatible = "amlogic,g12a-tdmin",
|
||||
+ "amlogic,axg-tdmin";
|
||||
+ reg = <0x0 0x3c0 0x0 0x40>;
|
||||
+ sound-name-prefix = "TDMIN_LB";
|
||||
+ resets = <&clkc_audio AUD_RESET_TDMIN_LB>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
|
||||
+ clock-names = "pclk", "sclk", "sclk_sel",
|
||||
+ "lrclk", "lrclk_sel";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ spdifin: audio-controller@400 {
|
||||
+ compatible = "amlogic,g12a-spdifin",
|
||||
+ "amlogic,axg-spdifin";
|
||||
+ reg = <0x0 0x400 0x0 0x30>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "SPDIFIN";
|
||||
+ interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
|
||||
+ <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
|
||||
+ clock-names = "pclk", "refclk";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ spdifout: audio-controller@480 {
|
||||
+ compatible = "amlogic,g12a-spdifout",
|
||||
+ "amlogic,axg-spdifout";
|
||||
+ reg = <0x0 0x480 0x0 0x50>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "SPDIFOUT";
|
||||
+ clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
|
||||
+ <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
|
||||
+ clock-names = "pclk", "mclk";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ tdmout_a: audio-controller@500 {
|
||||
+ compatible = "amlogic,g12a-tdmout";
|
||||
+ reg = <0x0 0x500 0x0 0x40>;
|
||||
+ sound-name-prefix = "TDMOUT_A";
|
||||
+ resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
|
||||
+ clock-names = "pclk", "sclk", "sclk_sel",
|
||||
+ "lrclk", "lrclk_sel";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ tdmout_b: audio-controller@540 {
|
||||
+ compatible = "amlogic,g12a-tdmout";
|
||||
+ reg = <0x0 0x540 0x0 0x40>;
|
||||
+ sound-name-prefix = "TDMOUT_B";
|
||||
+ resets = <&clkc_audio AUD_RESET_TDMOUT_B>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
|
||||
+ clock-names = "pclk", "sclk", "sclk_sel",
|
||||
+ "lrclk", "lrclk_sel";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ tdmout_c: audio-controller@580 {
|
||||
+ compatible = "amlogic,g12a-tdmout";
|
||||
+ reg = <0x0 0x580 0x0 0x40>;
|
||||
+ sound-name-prefix = "TDMOUT_C";
|
||||
+ resets = <&clkc_audio AUD_RESET_TDMOUT_C>;
|
||||
+ clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
|
||||
+ clock-names = "pclk", "sclk", "sclk_sel",
|
||||
+ "lrclk", "lrclk_sel";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ spdifout_b: audio-controller@680 {
|
||||
+ compatible = "amlogic,g12a-spdifout",
|
||||
+ "amlogic,axg-spdifout";
|
||||
+ reg = <0x0 0x680 0x0 0x50>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ sound-name-prefix = "SPDIFOUT_B";
|
||||
+ clocks = <&clkc_audio AUD_CLKID_SPDIFOUT_B>,
|
||||
+ <&clkc_audio AUD_CLKID_SPDIFOUT_B_CLK>;
|
||||
+ clock-names = "pclk", "mclk";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ tohdmitx: audio-controller@744 {
|
||||
+ compatible = "amlogic,g12a-tohdmitx";
|
||||
+ reg = <0x0 0x744 0x0 0x4>;
|
||||
+ #sound-dai-cells = <1>;
|
||||
+ sound-name-prefix = "TOHDMITX";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
|
||||
ðmac {
|
||||
power-domains = <&pwrc PWRC_G12A_ETH_ID>;
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,121 @@
|
||||
From c725fb00dfe3409720be24fad54b9acde26c5f11 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Wed, 25 Sep 2019 11:33:58 +0200
|
||||
Subject: [PATCH] arm64: dts: meson: g12a: add audio devices resets
|
||||
|
||||
Provide the reset lines coming from the audio clock controller to
|
||||
the audio devices of the g12 family
|
||||
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12.dtsi | 28 +++++++++++++++++-----
|
||||
1 file changed, 22 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
index 0d9df29994f3..3cf74fc96434 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
@@ -103,7 +103,9 @@
|
||||
sound-name-prefix = "TODDR_A";
|
||||
interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
|
||||
- resets = <&arb AXG_ARB_TODDR_A>;
|
||||
+ resets = <&arb AXG_ARB_TODDR_A>,
|
||||
+ <&clkc_audio AUD_RESET_TODDR_A>;
|
||||
+ reset-names = "arb", "rst";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -115,7 +117,9 @@
|
||||
sound-name-prefix = "TODDR_B";
|
||||
interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
|
||||
- resets = <&arb AXG_ARB_TODDR_B>;
|
||||
+ resets = <&arb AXG_ARB_TODDR_B>,
|
||||
+ <&clkc_audio AUD_RESET_TODDR_B>;
|
||||
+ reset-names = "arb", "rst";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -127,7 +131,9 @@
|
||||
sound-name-prefix = "TODDR_C";
|
||||
interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
|
||||
- resets = <&arb AXG_ARB_TODDR_C>;
|
||||
+ resets = <&arb AXG_ARB_TODDR_C>,
|
||||
+ <&clkc_audio AUD_RESET_TODDR_C>;
|
||||
+ reset-names = "arb", "rst";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -139,7 +145,9 @@
|
||||
sound-name-prefix = "FRDDR_A";
|
||||
interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
|
||||
- resets = <&arb AXG_ARB_FRDDR_A>;
|
||||
+ resets = <&arb AXG_ARB_FRDDR_A>,
|
||||
+ <&clkc_audio AUD_RESET_FRDDR_A>;
|
||||
+ reset-names = "arb", "rst";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -151,7 +159,9 @@
|
||||
sound-name-prefix = "FRDDR_B";
|
||||
interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
|
||||
- resets = <&arb AXG_ARB_FRDDR_B>;
|
||||
+ resets = <&arb AXG_ARB_FRDDR_B>,
|
||||
+ <&clkc_audio AUD_RESET_FRDDR_B>;
|
||||
+ reset-names = "arb", "rst";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -163,7 +173,9 @@
|
||||
sound-name-prefix = "FRDDR_C";
|
||||
interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
|
||||
- resets = <&arb AXG_ARB_FRDDR_C>;
|
||||
+ resets = <&arb AXG_ARB_FRDDR_C>,
|
||||
+ <&clkc_audio AUD_RESET_FRDDR_C>;
|
||||
+ reset-names = "arb", "rst";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -249,6 +261,7 @@
|
||||
clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
|
||||
<&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
|
||||
clock-names = "pclk", "refclk";
|
||||
+ resets = <&clkc_audio AUD_RESET_SPDIFIN>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -261,6 +274,7 @@
|
||||
clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
|
||||
<&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
|
||||
clock-names = "pclk", "mclk";
|
||||
+ resets = <&clkc_audio AUD_RESET_SPDIFOUT>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -318,6 +332,7 @@
|
||||
clocks = <&clkc_audio AUD_CLKID_SPDIFOUT_B>,
|
||||
<&clkc_audio AUD_CLKID_SPDIFOUT_B_CLK>;
|
||||
clock-names = "pclk", "mclk";
|
||||
+ resets = <&clkc_audio AUD_RESET_SPDIFOUT_B>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -326,6 +341,7 @@
|
||||
reg = <0x0 0x744 0x0 0x4>;
|
||||
#sound-dai-cells = <1>;
|
||||
sound-name-prefix = "TOHDMITX";
|
||||
+ resets = <&clkc_audio AUD_RESET_TOHDMITX>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,54 @@
|
||||
From de82e74a9f2631e6718ab6a90e0dfbbcd7d952b4 Mon Sep 17 00:00:00 2001
|
||||
From: Carlo Caione <ccaione@baylibre.com>
|
||||
Date: Wed, 31 Jul 2019 09:23:38 +0100
|
||||
Subject: [PATCH] arm64: dts: meson: Link nvmem and secure-monitor nodes
|
||||
|
||||
The former is going to use the latter to retrieve the efuses data.
|
||||
|
||||
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 1 +
|
||||
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 1 +
|
||||
arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 1 +
|
||||
3 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
|
||||
index bb4a2acb9970..04803c3bccfa 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
|
||||
@@ -117,6 +117,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
read-only;
|
||||
+ secure-monitor = <&sm>;
|
||||
};
|
||||
|
||||
psci {
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index 95e9cf405fe9..0f6ec1704343 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -22,6 +22,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
read-only;
|
||||
+ secure-monitor = <&sm>;
|
||||
};
|
||||
|
||||
psci {
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
|
||||
index 6733050d735f..e5a601e75ef2 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
|
||||
@@ -161,6 +161,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
read-only;
|
||||
+ secure-monitor = <&sm>;
|
||||
|
||||
sn: sn@14 {
|
||||
reg = <0x14 0x10>;
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,82 @@
|
||||
From 1f8607d597635c283e397e87575b49184874d507 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 16 Sep 2019 14:50:21 +0200
|
||||
Subject: [PATCH] arm64: dts: meson-g12a: Add PCIe node
|
||||
|
||||
This adds the Amlogic G12A PCI Express controller node, also
|
||||
using the USB3+PCIe Combo PHY.
|
||||
|
||||
The PHY mode selection is static, thus the USB3+PCIe Combo PHY
|
||||
phandle would need to be removed from the USB control node if the
|
||||
shared differential lines are used for PCIe instead of USB3.
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Andrew Murray <andrew.murray@arm.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-g12-common.dtsi | 33 +++++++++++++++++++
|
||||
arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 4 +++
|
||||
2 files changed, 37 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index 0f6ec1704343..f76773cabdb1 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -60,6 +60,39 @@
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
+ pcie: pcie@fc000000 {
|
||||
+ compatible = "amlogic,g12a-pcie", "snps,dw-pcie";
|
||||
+ reg = <0x0 0xfc000000 0x0 0x400000
|
||||
+ 0x0 0xff648000 0x0 0x2000
|
||||
+ 0x0 0xfc400000 0x0 0x200000>;
|
||||
+ reg-names = "elbi", "cfg", "config";
|
||||
+ interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ #interrupt-cells = <1>;
|
||||
+ interrupt-map-mask = <0 0 0 0>;
|
||||
+ interrupt-map = <0 0 0 0 &gic GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ bus-range = <0x0 0xff>;
|
||||
+ #address-cells = <3>;
|
||||
+ #size-cells = <2>;
|
||||
+ device_type = "pci";
|
||||
+ ranges = <0x81000000 0 0 0x0 0xfc600000 0 0x00100000
|
||||
+ 0x82000000 0 0xfc700000 0x0 0xfc700000 0 0x1900000>;
|
||||
+
|
||||
+ clocks = <&clkc CLKID_PCIE_PHY
|
||||
+ &clkc CLKID_PCIE_COMB
|
||||
+ &clkc CLKID_PCIE_PLL>;
|
||||
+ clock-names = "general",
|
||||
+ "pclk",
|
||||
+ "port";
|
||||
+ resets = <&reset RESET_PCIE_CTRL_A>,
|
||||
+ <&reset RESET_PCIE_APB>;
|
||||
+ reset-names = "port",
|
||||
+ "apb";
|
||||
+ num-lanes = <1>;
|
||||
+ phys = <&usb3_pcie_phy PHY_TYPE_PCIE>;
|
||||
+ phy-names = "pcie";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
ethmac: ethernet@ff3f0000 {
|
||||
compatible = "amlogic,meson-axg-dwmac",
|
||||
"snps,dwmac-3.70a",
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
|
||||
index 6152e928aef2..1fdc5af5ae23 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
|
||||
@@ -139,6 +139,10 @@
|
||||
"amlogic,meson-gpio-intc";
|
||||
};
|
||||
|
||||
+&pcie {
|
||||
+ power-domains = <&pwrc PWRC_SM1_PCIE_ID>;
|
||||
+};
|
||||
+
|
||||
&pwrc {
|
||||
compatible = "amlogic,meson-sm1-pwrc";
|
||||
};
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,99 @@
|
||||
From 15767cfd81eb9ff2fb783d0c6f458b90efa7d4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Thu, 3 Oct 2019 15:08:41 +0200
|
||||
Subject: [PATCH] arm64: dts: meson-g12: add support for simplefb
|
||||
|
||||
SimpleFB allows transferring a framebuffer from the firmware/bootloader
|
||||
to the kernel, while making sure the related clocks and power supplies
|
||||
stay enabled.
|
||||
|
||||
Add nodes for CVBS and HDMI Simple Framebuffers, based on the GXBB/GXL/GXM
|
||||
support at [1].
|
||||
|
||||
[1] 03b370357907 ("arm64: dts: meson-gx: add support for simplef")
|
||||
|
||||
Cc: Maxime Jourdan <mjourdan@baylibre.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-g12-common.dtsi | 26 +++++++++++++++++++
|
||||
arch/arm64/boot/dts/amlogic/meson-g12.dtsi | 8 ++++++
|
||||
arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 8 ++++++
|
||||
3 files changed, 42 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index f76773cabdb1..21c155f4508c 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -16,6 +16,32 @@
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
+ chosen {
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+
|
||||
+ simplefb_cvbs: framebuffer-cvbs {
|
||||
+ compatible = "amlogic,simple-framebuffer",
|
||||
+ "simple-framebuffer";
|
||||
+ amlogic,pipeline = "vpu-cvbs";
|
||||
+ clocks = <&clkc CLKID_HDMI>,
|
||||
+ <&clkc CLKID_HTX_PCLK>,
|
||||
+ <&clkc CLKID_VPU_INTR>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ simplefb_hdmi: framebuffer-hdmi {
|
||||
+ compatible = "amlogic,simple-framebuffer",
|
||||
+ "simple-framebuffer";
|
||||
+ amlogic,pipeline = "vpu-hdmi";
|
||||
+ clocks = <&clkc CLKID_HDMI>,
|
||||
+ <&clkc CLKID_HTX_PCLK>,
|
||||
+ <&clkc CLKID_VPU_INTR>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
efuse: efuse {
|
||||
compatible = "amlogic,meson-gxbb-efuse";
|
||||
clocks = <&clkc CLKID_EFUSE>;
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
index 3cf74fc96434..1e0e056c3d62 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
|
||||
@@ -358,3 +358,11 @@
|
||||
&sd_emmc_a {
|
||||
amlogic,dram-access-quirk;
|
||||
};
|
||||
+
|
||||
+&simplefb_cvbs {
|
||||
+ power-domains = <&pwrc PWRC_G12A_VPU_ID>;
|
||||
+};
|
||||
+
|
||||
+&simplefb_hdmi {
|
||||
+ power-domains = <&pwrc PWRC_G12A_VPU_ID>;
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
|
||||
index 1fdc5af5ae23..f89d744c9648 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
|
||||
@@ -147,6 +147,14 @@
|
||||
compatible = "amlogic,meson-sm1-pwrc";
|
||||
};
|
||||
|
||||
+&simplefb_cvbs {
|
||||
+ power-domains = <&pwrc PWRC_SM1_VPU_ID>;
|
||||
+};
|
||||
+
|
||||
+&simplefb_hdmi {
|
||||
+ power-domains = <&pwrc PWRC_SM1_VPU_ID>;
|
||||
+};
|
||||
+
|
||||
&vpu {
|
||||
power-domains = <&pwrc PWRC_SM1_VPU_ID>;
|
||||
};
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,52 @@
|
||||
From 8656783f07613ad2a4e511e417c88c544e220113 Mon Sep 17 00:00:00 2001
|
||||
From: Guillaume La Roque <glaroque@baylibre.com>
|
||||
Date: Fri, 4 Oct 2019 11:01:10 +0200
|
||||
Subject: [PATCH] arm64: dts: meson: g12: add temperature sensor
|
||||
|
||||
Add cpu and ddr temperature sensors for G12 Socs
|
||||
|
||||
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
|
||||
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Tested-by: Kevin Hilman <khilman@baylibre.com>
|
||||
Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-g12-common.dtsi | 20 +++++++++++++++++++
|
||||
1 file changed, 20 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index 21c155f4508c..f153194b9bf3 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -1380,6 +1380,26 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ cpu_temp: temperature-sensor@34800 {
|
||||
+ compatible = "amlogic,g12a-cpu-thermal",
|
||||
+ "amlogic,g12a-thermal";
|
||||
+ reg = <0x0 0x34800 0x0 0x50>;
|
||||
+ interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>;
|
||||
+ clocks = <&clkc CLKID_TS>;
|
||||
+ #thermal-sensor-cells = <0>;
|
||||
+ amlogic,ao-secure = <&sec_AO>;
|
||||
+ };
|
||||
+
|
||||
+ ddr_temp: temperature-sensor@34c00 {
|
||||
+ compatible = "amlogic,g12a-ddr-thermal",
|
||||
+ "amlogic,g12a-thermal";
|
||||
+ reg = <0x0 0x34c00 0x0 0x50>;
|
||||
+ interrupts = <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>;
|
||||
+ clocks = <&clkc CLKID_TS>;
|
||||
+ #thermal-sensor-cells = <0>;
|
||||
+ amlogic,ao-secure = <&sec_AO>;
|
||||
+ };
|
||||
+
|
||||
usb2_phy0: phy@36000 {
|
||||
compatible = "amlogic,g12a-usb2-phy";
|
||||
reg = <0x0 0x36000 0x0 0x2000>;
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,105 @@
|
||||
From e7251ed74ef79b80fc5e77636832be7baf1f40a6 Mon Sep 17 00:00:00 2001
|
||||
From: Guillaume La Roque <glaroque@baylibre.com>
|
||||
Date: Fri, 4 Oct 2019 11:01:11 +0200
|
||||
Subject: [PATCH] arm64: dts: meson: g12: Add minimal thermal zone
|
||||
|
||||
Add minimal thermal zone for two temperature sensor
|
||||
One is located close to the DDR and the other one is
|
||||
located close to the PLLs (between the CPU and GPU)
|
||||
|
||||
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
|
||||
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Tested-by: Kevin Hilman <khilman@baylibre.com>
|
||||
Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-g12-common.dtsi | 57 +++++++++++++++++++
|
||||
1 file changed, 57 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index f153194b9bf3..a063d49b9cb1 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/reset/amlogic,meson-g12a-reset.h>
|
||||
+#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
/ {
|
||||
interrupt-parent = <&gic>;
|
||||
@@ -119,6 +120,61 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ thermal-zones {
|
||||
+ cpu_thermal: cpu-thermal {
|
||||
+ polling-delay = <1000>;
|
||||
+ polling-delay-passive = <100>;
|
||||
+ thermal-sensors = <&cpu_temp>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu_passive: cpu-passive {
|
||||
+ temperature = <85000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot: cpu-hot {
|
||||
+ temperature = <95000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+
|
||||
+ cpu_critical: cpu-critical {
|
||||
+ temperature = <110000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ddr_thermal: ddr-thermal {
|
||||
+ polling-delay = <1000>;
|
||||
+ polling-delay-passive = <100>;
|
||||
+ thermal-sensors = <&ddr_temp>;
|
||||
+
|
||||
+ trips {
|
||||
+ ddr_passive: ddr-passive {
|
||||
+ temperature = <85000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ ddr_critical: ddr-critical {
|
||||
+ temperature = <110000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cooling-maps {
|
||||
+ map {
|
||||
+ trip = <&ddr_passive>;
|
||||
+ cooling-device = <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
ethmac: ethernet@ff3f0000 {
|
||||
compatible = "amlogic,meson-axg-dwmac",
|
||||
"snps,dwmac-3.70a",
|
||||
@@ -2169,6 +2225,7 @@
|
||||
assigned-clock-rates = <0>, /* Do Nothing */
|
||||
<800000000>,
|
||||
<0>; /* Do Nothing */
|
||||
+ #cooling-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,83 @@
|
||||
From 6eeaf4d2452ec8b1ece58776812140734fc2e088 Mon Sep 17 00:00:00 2001
|
||||
From: Frank Hartung <supervisedthinking@gmail.com>
|
||||
Date: Sat, 14 Sep 2019 06:49:40 +0400
|
||||
Subject: [PATCH] arm64: dts: meson: Add capacity-dmips-mhz attributes to G12B
|
||||
|
||||
Meson G12B SoCs (S922X and A311D) are a big-little design where not all CPUs
|
||||
are equal; the A53s cores are weaker than the A72s.
|
||||
|
||||
Include capacity-dmips-mhz properties to tell the OS there is a difference
|
||||
in processing capacity. The dmips values are based on similar submissions for
|
||||
other A53/A72 SoCs: HiSilicon 3660 [1] and Rockchip RK3399 [2].
|
||||
|
||||
This change is particularly beneficial for use-cases like retro gaming where
|
||||
emulators often run on a single core. The OS now chooses an A72 core instead
|
||||
of an A53 core.
|
||||
|
||||
[1] https://lore.kernel.org/patchwork/patch/862742/
|
||||
[2] https://patchwork.kernel.org/patch/10836577/
|
||||
|
||||
Signed-off-by: Frank Hartung <supervisedthinking@gmail.com>
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b.dtsi | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
|
||||
index a9e1db0f1158..b3f9e3a02963 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
|
||||
@@ -48,6 +48,7 @@
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x0 0x0>;
|
||||
enable-method = "psci";
|
||||
+ capacity-dmips-mhz = <592>;
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
@@ -56,6 +57,7 @@
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x0 0x1>;
|
||||
enable-method = "psci";
|
||||
+ capacity-dmips-mhz = <592>;
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
@@ -64,6 +66,7 @@
|
||||
compatible = "arm,cortex-a73";
|
||||
reg = <0x0 0x100>;
|
||||
enable-method = "psci";
|
||||
+ capacity-dmips-mhz = <1024>;
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
@@ -72,6 +75,7 @@
|
||||
compatible = "arm,cortex-a73";
|
||||
reg = <0x0 0x101>;
|
||||
enable-method = "psci";
|
||||
+ capacity-dmips-mhz = <1024>;
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
@@ -80,6 +84,7 @@
|
||||
compatible = "arm,cortex-a73";
|
||||
reg = <0x0 0x102>;
|
||||
enable-method = "psci";
|
||||
+ capacity-dmips-mhz = <1024>;
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
@@ -88,6 +93,7 @@
|
||||
compatible = "arm,cortex-a73";
|
||||
reg = <0x0 0x103>;
|
||||
enable-method = "psci";
|
||||
+ capacity-dmips-mhz = <1024>;
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,37 @@
|
||||
From 711f9cb1f13aff940cd0a469dcb1a041330af019 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 21 Oct 2019 16:29:00 +0200
|
||||
Subject: [PATCH] arm64: dts: meson-g12a: fix gpu irq order
|
||||
|
||||
This fixes the following DT schemas check errors:
|
||||
meson-g12b-s922x-khadas-vim3.dt.yaml: gpu@ffe40000: interrupt-names:0: 'job' was expected
|
||||
meson-g12b-s922x-khadas-vim3.dt.yaml: gpu@ffe40000: interrupt-names:2: 'gpu' was expected
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index a063d49b9cb1..7fabc8d9654a 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -2204,10 +2204,10 @@
|
||||
compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost";
|
||||
reg = <0x0 0xffe40000 0x0 0x40000>;
|
||||
interrupt-parent = <&gic>;
|
||||
- interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
|
||||
- <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- interrupt-names = "gpu", "mmu", "job";
|
||||
+ <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "job", "mmu", "gpu";
|
||||
clocks = <&clkc CLKID_MALI>;
|
||||
resets = <&reset RESET_DVALIN_CAPB3>, <&reset RESET_DVALIN>;
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,43 @@
|
||||
From fcf19f29d79dfe4edce0376dd027ea7a5456ea32 Mon Sep 17 00:00:00 2001
|
||||
From: Anand Moon <linux.amoon@gmail.com>
|
||||
Date: Mon, 2 Sep 2019 05:49:33 +0000
|
||||
Subject: [PATCH] arm64: dts: meson: odroid-c2: p5v0 is the main 5V power input
|
||||
|
||||
As per the schematic Monolithic Power Systems MP2161GJ-C499
|
||||
supply a fixed output voltage of 5.0V. This supplies linked
|
||||
to VDD_EE, HDMI_P5V0, USB_POWER, VCCK, VDDIO_AO1V8, VDDIO_AO3V3,
|
||||
VDD3V3, DDR3_1V5 according to the schematics.
|
||||
|
||||
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Cc: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Cc: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Signed-off-by: Anand Moon <linux.amoon@gmail.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
index 6039adda12ee..0cb5831d9daf 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
@@ -50,6 +50,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ p5v0: regulator-p5v0 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+
|
||||
+ regulator-name = "P5V0";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
tflash_vdd: regulator-tflash_vdd {
|
||||
/*
|
||||
* signal name from schematics: TFLASH_VDD_EN
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,42 @@
|
||||
From 47a8bddb6df98cc4062661fe68ad5d4382337d0e Mon Sep 17 00:00:00 2001
|
||||
From: Anand Moon <linux.amoon@gmail.com>
|
||||
Date: Mon, 2 Sep 2019 05:49:34 +0000
|
||||
Subject: [PATCH] arm64: dts: meson: odroid-c2: Add missing linking regulator
|
||||
to usb bus
|
||||
|
||||
Add missing linking regulator node to usb bus for power usb devices.
|
||||
|
||||
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Cc: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Cc: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Signed-off-by: Anand Moon <linux.amoon@gmail.com>
|
||||
[ khilman: minor typo fixup ]
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
index 0cb5831d9daf..e2ce767a4324 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
@@ -36,8 +36,15 @@
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
|
||||
+ /*
|
||||
+ * signal name from schematics: PWREN
|
||||
+ */
|
||||
gpio = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
+ /*
|
||||
+ * signal name from schematics: USB_POWER
|
||||
+ */
|
||||
+ vin-supply = <&p5v0>;
|
||||
};
|
||||
|
||||
leds {
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,64 @@
|
||||
From 60c5abf6a8f54dee2ccb94a7ec58f73883e6c56d Mon Sep 17 00:00:00 2001
|
||||
From: Anand Moon <linux.amoon@gmail.com>
|
||||
Date: Tue, 1 Oct 2019 07:38:59 +0000
|
||||
Subject: [PATCH] arm64: dts: meson: odroid-c2: Add missing regulator linked to
|
||||
P5V0 regulator
|
||||
|
||||
As per schematics VDDIO_AO18, VDDIO_AO3V3/VDD3V3 DDR3_1V5/DDR_VDDC:
|
||||
fixed regulator output which is supplied by P5V0.
|
||||
|
||||
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Cc: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Cc: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Signed-off-by: Anand Moon <linux.amoon@gmail.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-gxbb-odroidc2.dts | 30 +++++++++++++++++++
|
||||
1 file changed, 30 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
index e739f10f9442..5adecdf3b175 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
@@ -111,6 +111,36 @@
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
+ vddio_ao1v8: regulator-vddio-ao1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDIO_AO1V8";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-always-on;
|
||||
+ /* U17 RT9179GB */
|
||||
+ vin-supply = <&p5v0>;
|
||||
+ };
|
||||
+
|
||||
+ vddio_ao3v3: regulator-vddio-ao3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDIO_AO3V3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-always-on;
|
||||
+ /* U11 MP2161GJ-C499 */
|
||||
+ vin-supply = <&p5v0>;
|
||||
+ };
|
||||
+
|
||||
+ ddr3_1v5: regulator-ddr3_1v5 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "DDR3_1V5";
|
||||
+ regulator-min-microvolt = <1500000>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-always-on;
|
||||
+ /* U15 MP2161GJ-C499 */
|
||||
+ vin-supply = <&p5v0>;
|
||||
+ };
|
||||
+
|
||||
emmc_pwrseq: emmc-pwrseq {
|
||||
compatible = "mmc-pwrseq-emmc";
|
||||
reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,73 @@
|
||||
From df39b5239d696e1fc9a88103f69c2d3696bdb0bc Mon Sep 17 00:00:00 2001
|
||||
From: Anand Moon <linux.amoon@gmail.com>
|
||||
Date: Tue, 1 Oct 2019 07:39:00 +0000
|
||||
Subject: [PATCH] arm64: dts: meson: odroid-c2: Add missing regulator linked to
|
||||
VDDIO_AO3V3 regulator
|
||||
|
||||
As per schematics TFLASH_VDD, TF_IO, VCC3V3 fixed regulator output which
|
||||
is supplied by VDDIO_AO3V3.
|
||||
|
||||
While here, move the comment name with the signal name in the
|
||||
schematics above the gpio property to make it consistent with other
|
||||
regulators.
|
||||
|
||||
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Cc: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Cc: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Signed-off-by: Anand Moon <linux.amoon@gmail.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 13 ++++++++++---
|
||||
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
index 5adecdf3b175..2fcd512373a3 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
@@ -67,17 +67,19 @@
|
||||
};
|
||||
|
||||
tflash_vdd: regulator-tflash_vdd {
|
||||
- /*
|
||||
- * signal name from schematics: TFLASH_VDD_EN
|
||||
- */
|
||||
compatible = "regulator-fixed";
|
||||
|
||||
regulator-name = "TFLASH_VDD";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
|
||||
+ /*
|
||||
+ * signal name from schematics: TFLASH_VDD_EN
|
||||
+ */
|
||||
gpio = <&gpio GPIOY_12 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
+ /* U16 RT9179GB */
|
||||
+ vin-supply = <&vddio_ao3v3>;
|
||||
};
|
||||
|
||||
tf_io: gpio-regulator-tf_io {
|
||||
@@ -95,6 +97,8 @@
|
||||
|
||||
states = <3300000 0>,
|
||||
<1800000 1>;
|
||||
+ /* U12/U13 RT9179GB */
|
||||
+ vin-supply = <&vddio_ao3v3>;
|
||||
};
|
||||
|
||||
vcc1v8: regulator-vcc1v8 {
|
||||
@@ -102,6 +106,9 @@
|
||||
regulator-name = "VCC1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
+ regulator-always-on;
|
||||
+ /* U18 RT9179GB */
|
||||
+ vin-supply = <&vddio_ao3v3>;
|
||||
};
|
||||
|
||||
vcc3v3: regulator-vcc3v3 {
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,50 @@
|
||||
From 0ac0be655dbbedb50dd216a631213daab6e98d88 Mon Sep 17 00:00:00 2001
|
||||
From: Anand Moon <linux.amoon@gmail.com>
|
||||
Date: Tue, 1 Oct 2019 07:39:01 +0000
|
||||
Subject: [PATCH] arm64: dts: meson: odroid-c2: Add missing regulator linked to
|
||||
HDMI supply
|
||||
|
||||
As per schematics HDMI_P5V0 is supplied by P5V0 so add missing link.
|
||||
|
||||
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Cc: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Cc: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Signed-off-by: Anand Moon <linux.amoon@gmail.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
index 2fcd512373a3..6ded279c40c8 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
|
||||
@@ -66,6 +66,15 @@
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
+ hdmi_p5v0: regulator-hdmi_p5v0 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "HDMI_P5V0";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ /* AP2331SA-7 */
|
||||
+ vin-supply = <&p5v0>;
|
||||
+ };
|
||||
+
|
||||
tflash_vdd: regulator-tflash_vdd {
|
||||
compatible = "regulator-fixed";
|
||||
|
||||
@@ -220,6 +229,7 @@
|
||||
status = "okay";
|
||||
pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
|
||||
pinctrl-names = "default";
|
||||
+ hdmi-supply = <&hdmi_p5v0>;
|
||||
};
|
||||
|
||||
&hdmi_tx_tmds_port {
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,55 @@
|
||||
From b93c598b1acfe59ffac342d114483af8a45a78ac Mon Sep 17 00:00:00 2001
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Sat, 1 Feb 2020 20:55:39 +0000
|
||||
Subject: [PATCH 1/1] Amlogic w400: read ethaddr from efuse
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
board/amlogic/w400/w400.c | 25 ++++++++++++++++++++++++-
|
||||
1 file changed, 24 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/board/amlogic/w400/w400.c b/board/amlogic/w400/w400.c
|
||||
index e60dc3a622..d4028c6a39 100644
|
||||
--- a/board/amlogic/w400/w400.c
|
||||
+++ b/board/amlogic/w400/w400.c
|
||||
@@ -6,13 +6,36 @@
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
-#include <env_internal.h>
|
||||
+#include <env.h>
|
||||
#include <asm/io.h>
|
||||
+#include <asm/arch/sm.h>
|
||||
#include <asm/arch/eth.h>
|
||||
|
||||
+#define EFUSE_MAC_OFFSET 20
|
||||
+#define EFUSE_MAC_SIZE 12
|
||||
+
|
||||
int misc_init_r(void)
|
||||
{
|
||||
+ u8 mac_addr[6];
|
||||
+ char efuse_mac_addr[EFUSE_MAC_SIZE], buff[3];
|
||||
+ ssize_t len;
|
||||
+
|
||||
meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0);
|
||||
|
||||
+ if (!eth_env_get_enetaddr("ethaddr", mac_addr)) {
|
||||
+ len = meson_sm_read_efuse(EFUSE_MAC_OFFSET,
|
||||
+ efuse_mac_addr, EFUSE_MAC_SIZE);
|
||||
+ if (len != EFUSE_MAC_SIZE)
|
||||
+ return 0;
|
||||
+
|
||||
+ for (int i = 0; i < 6; i++){
|
||||
+ buff[0] = efuse_mac_addr[i * 2];
|
||||
+ buff[1] = efuse_mac_addr[i * 2 + 1];
|
||||
+ mac_addr[i] = simple_strtoul(buff, NULL, 16);
|
||||
+ }
|
||||
+ if(is_valid_ethaddr(mac_addr))
|
||||
+ eth_env_set_enetaddr("ethaddr", mac_addr);
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -13,17 +13,12 @@ CONFIG_DRM_I915_CAPTURE_ERROR=y
|
||||
CONFIG_DRM_I915_COMPRESS_ERROR=y
|
||||
CONFIG_DRM_I915_USERPTR=y
|
||||
|
||||
CONFIG_SND_HDA=m
|
||||
CONFIG_SND_HDA=y
|
||||
CONFIG_SND_HDA_CORE=y
|
||||
CONFIG_SND_HDA_GENERIC=y
|
||||
CONFIG_SND_HDA_INTEL=m
|
||||
CONFIG_SND_HDA_I915=y
|
||||
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
|
||||
|
||||
CONFIG_BT=y
|
||||
CONFIG_BT_BREDR=y
|
||||
CONFIG_BT_LE=y
|
||||
CONFIG_BT_INTEL=m
|
||||
CONFIG_BT_BCM=m
|
||||
CONFIG_BT_RTL=m
|
||||
CONFIG_BT_HCIBTUSB=m
|
||||
CONFIG_BT_HCIBTUSB_BCM=y
|
||||
CONFIG_BT_HCIBTUSB_RTL=y
|
||||
CONFIG_SND_HDA_I915=m
|
||||
CONFIG_SND_HDA_CODEC_REALTEK=m
|
||||
CONFIG_SND_HDA_CODEC_ANALOG=m
|
||||
CONFIG_SND_HDA_CODEC_VIA=m
|
||||
CONFIG_SND_HDA_CODEC_HDMI=m
|
||||
|
@@ -5,6 +5,7 @@ CONFIG_VMWARE_PVSCSI=y
|
||||
CONFIG_VMWARE_VMCI_VSOCKETS=y
|
||||
CONFIG_VMWARE_VMCI=y
|
||||
CONFIG_VMWARE_BALLOON=y
|
||||
CONFIG_VMWARE_PVSCSI=y
|
||||
|
||||
CONFIG_VIRTIO=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
@@ -12,12 +13,18 @@ CONFIG_VIRTIO_NET=y
|
||||
CONFIG_VIRTIO_BALLOON=m
|
||||
CONFIG_VIRTIO_INPUT=m
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_VIRTIO_CONSOLE=m
|
||||
CONFIG_VIRTIO_VSOCKETS=m
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
|
||||
CONFIG_SCSI_LOWLEVEL=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
|
||||
CONFIG_PARAVIRT=y
|
||||
CONFIG_PARAVIRT_SPINLOCKS=y
|
||||
CONFIG_VIRT_DRIVERS=y
|
||||
CONFIG_XEN=y
|
||||
|
||||
CONFIG_HYPERVISOR_GUEST=y
|
||||
@@ -27,4 +34,5 @@ CONFIG_HYPERV_BALLOON=m
|
||||
CONFIG_HYPERV_KEYBOARD=m
|
||||
CONFIG_HYPERV_STORAGE=y
|
||||
CONFIG_HYPERV_NET=y
|
||||
CONFIG_HYPERV_VSOCKETS=m
|
||||
CONFIG_FB_HYPERV=y
|
||||
|
@@ -1,25 +0,0 @@
|
||||
#!/bin/bash
|
||||
# shellcheck disable=SC2155
|
||||
|
||||
function hassos_pre_image() {
|
||||
local BOOT_DATA="$(path_boot_dir)"
|
||||
local SPL="${BINARIES_DIR}/sunxi-spl.bin"
|
||||
local UBOOT="${BINARIES_DIR}/u-boot.itb"
|
||||
local spl_img="$(path_spl_img)"
|
||||
|
||||
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
|
||||
cp "${BINARIES_DIR}/sun50i-h5-orangepi-prime.dtb" "${BOOT_DATA}/sun50i-h5-orangepi-prime.dtb"
|
||||
cp "${BOARD_DIR}/config.txt" "${BOOT_DATA}/config.txt"
|
||||
touch "${BOOT_DATA}/cmdline.txt"
|
||||
|
||||
# SPL
|
||||
create_spl_image
|
||||
|
||||
dd if="${SPL}" of="${spl_img}" conv=notrunc bs=512 seek=16
|
||||
dd if="${UBOOT}" of="${spl_img}" conv=notrunc bs=512 seek=80
|
||||
}
|
||||
|
||||
|
||||
function hassos_post_image() {
|
||||
convert_disk_image_gz
|
||||
}
|
@@ -1,3 +0,0 @@
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
|
@@ -1,5 +0,0 @@
|
||||
## Kernel
|
||||
https://github.com/armbian/build/tree/master/patch/kernel/sunxi-next
|
||||
|
||||
## u-boot
|
||||
https://github.com/armbian/build/tree/master/patch/u-boot/u-boot-sunxi
|
@@ -1,41 +0,0 @@
|
||||
From 55d3cc28b37000d1a3d7224c0ba4a808274e0b33 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Fri, 27 Oct 2017 17:25:00 +0800
|
||||
Subject: [PATCH 20/20] sunxi: call fdt_fixup_ethernet again to set macaddr for
|
||||
more aliases
|
||||
|
||||
Sometimes some ethernet aliases do not exist in U-Boot FDT but they
|
||||
exist in the FDT used to boot the system. In this situation
|
||||
setup_environment is called again in ft_board_setup to generate macaddr
|
||||
environment variable for them. However now the call to
|
||||
fdt_fixup_ethernet is moved before the call of ft_board_setup.
|
||||
|
||||
Call fdt_fixup_ethernet again to add MAC addresses for the extra
|
||||
ethernet aliases.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
board/sunxi/board.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
|
||||
index 192cf8ca45..0fe70f47cb 100644
|
||||
--- a/board/sunxi/board.c
|
||||
+++ b/board/sunxi/board.c
|
||||
@@ -751,10 +751,12 @@ int ft_board_setup(void *blob, bd_t *bd)
|
||||
int __maybe_unused r;
|
||||
|
||||
/*
|
||||
- * Call setup_environment again in case the boot fdt has
|
||||
- * ethernet aliases the u-boot copy does not have.
|
||||
+ * Call setup_environment and fdt_fixup_ethernet again
|
||||
+ * in case the boot fdt has ethernet aliases the u-boot
|
||||
+ * copy does not have.
|
||||
*/
|
||||
setup_environment(blob);
|
||||
+ fdt_fixup_ethernet(blob);
|
||||
|
||||
#ifdef CONFIG_VIDEO_DT_SIMPLEFB
|
||||
r = sunxi_simplefb_setup(blob);
|
||||
--
|
||||
2.13.6
|
@@ -1,19 +0,0 @@
|
||||
diff --git a/drivers/video/sunxi/sunxi_display.c b/drivers/video/sunxi/sunxi_display.c
|
||||
index 92c9d06054..cd16d69e30 100644
|
||||
--- a/drivers/video/sunxi/sunxi_display.c
|
||||
+++ b/drivers/video/sunxi/sunxi_display.c
|
||||
@@ -1274,8 +1274,12 @@ void *video_hw_init(void)
|
||||
ret = sunxi_hdmi_hpd_detect(hpd_delay);
|
||||
if (ret) {
|
||||
printf("HDMI connected: ");
|
||||
- if (edid && sunxi_hdmi_edid_get_mode(&custom) == 0)
|
||||
- mode = &custom;
|
||||
+ if (edid && sunxi_hdmi_edid_get_mode(&custom) == 0) {
|
||||
+ if ((custom.xres <= 1920) && (custom.yres <= 1080))
|
||||
+ mode = &custom;
|
||||
+ else
|
||||
+ mode = &res_mode_init[RES_MODE_1920x1080];
|
||||
+ }
|
||||
} else if (hpd) {
|
||||
sunxi_hdmi_shutdown();
|
||||
sunxi_display.monitor = sunxi_get_default_mon(false);
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/configs/orangepi_prime_defconfig b/configs/orangepi_prime_defconfig
|
||||
index 103936d772..990cf2a8c0 100644
|
||||
--- a/configs/orangepi_prime_defconfig
|
||||
+++ b/configs/orangepi_prime_defconfig
|
||||
@@ -1,7 +1,7 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_SUNXI=y
|
||||
CONFIG_MACH_SUN50I_H5=y
|
||||
-CONFIG_DRAM_CLK=672
|
||||
+CONFIG_DRAM_CLK=624
|
||||
CONFIG_DRAM_ZQ=3881977
|
||||
CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-orangepi-prime"
|
||||
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
@@ -1,27 +0,0 @@
|
||||
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
|
||||
index 64a190059a..bbec551cac 100644
|
||||
--- a/include/configs/sunxi-common.h
|
||||
+++ b/include/configs/sunxi-common.h
|
||||
@@ -503,6 +503,12 @@ extern int soft_i2c_gpio_scl;
|
||||
#define FDTFILE CONFIG_DEFAULT_DEVICE_TREE ".dtb"
|
||||
#endif
|
||||
|
||||
+#ifdef CONFIG_MACH_SUN8I_H3
|
||||
+#define INITRD_HIGH_ENV "initrd_high=0xFFFFFFFF\0"
|
||||
+#else
|
||||
+#define INITRD_HIGH_ENV
|
||||
+#endif
|
||||
+
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
CONSOLE_ENV_SETTINGS \
|
||||
MEM_LAYOUT_ENV_SETTINGS \
|
||||
@@ -512,7 +518,8 @@ extern int soft_i2c_gpio_scl;
|
||||
SUNXI_MTDIDS_DEFAULT \
|
||||
SUNXI_MTDPARTS_DEFAULT \
|
||||
BOOTCMD_SUNXI_COMPAT \
|
||||
- BOOTENV
|
||||
+ BOOTENV \
|
||||
+ INITRD_HIGH_ENV
|
||||
|
||||
#else /* ifndef CONFIG_SPL_BUILD */
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 0ed36cded..822ebb812 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -578,6 +578,8 @@ config ARCH_SUNXI
|
||||
select CMD_GPIO
|
||||
select CMD_MMC if MMC
|
||||
select CMD_USB if DISTRO_DEFAULTS
|
||||
+ select OF_LIBFDT
|
||||
+ select OF_LIBFDT_OVERLAY
|
||||
select DM
|
||||
select DM_ETH
|
||||
select DM_GPIO
|
@@ -1,24 +0,0 @@
|
||||
diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c
|
||||
index 7ac8360..0484e7a 100644
|
||||
--- a/arch/arm/mach-sunxi/board.c
|
||||
+++ b/arch/arm/mach-sunxi/board.c
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <asm/arch/timer.h>
|
||||
#include <asm/arch/tzpc.h>
|
||||
#include <asm/arch/mmc.h>
|
||||
+#include <asm/arch/prcm.h>
|
||||
|
||||
#include <linux/compiler.h>
|
||||
|
||||
@@ -65,6 +66,11 @@ struct mm_region *mem_map = sunxi_mem_map;
|
||||
|
||||
static int gpio_init(void)
|
||||
{
|
||||
+#if defined(CONFIG_MACH_SUNXI_H3_H5)
|
||||
+ /* enable R_PIO GPIO access */
|
||||
+ prcm_apb0_enable(PRCM_APB0_GATE_PIO);
|
||||
+#endif
|
||||
+
|
||||
#if CONFIG_CONS_INDEX == 1 && defined(CONFIG_UART0_PORT_F)
|
||||
#if defined(CONFIG_MACH_SUN4I) || \
|
||||
defined(CONFIG_MACH_SUN7I) || \
|
@@ -1,23 +0,0 @@
|
||||
diff --git a/cmd/fdt.c b/cmd/fdt.c
|
||||
index d7654b2c4f..a71b7713a8 100644
|
||||
--- a/cmd/fdt.c
|
||||
+++ b/cmd/fdt.c
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <fdt_support.h>
|
||||
#include <mapmem.h>
|
||||
#include <asm/io.h>
|
||||
+#include <asm/unaligned.h>
|
||||
|
||||
#define MAX_LEVEL 32 /* how deeply nested we will go */
|
||||
#define SCRATCHPAD 1024 /* bytes of scratchpad memory */
|
||||
@@ -781,7 +782,10 @@ static int fdt_parse_prop(char * const *newval, int count, char *data, int *len)
|
||||
cp = newp;
|
||||
tmp = simple_strtoul(cp, &newp, 0);
|
||||
if (*cp != '?')
|
||||
- *(fdt32_t *)data = cpu_to_fdt32(tmp);
|
||||
+ {
|
||||
+ tmp = cpu_to_fdt32(tmp);
|
||||
+ put_unaligned(tmp, (fdt32_t *)data);
|
||||
+ }
|
||||
else
|
||||
newp++;
|
@@ -1,32 +0,0 @@
|
||||
From 7f5071f906f79bdc99d6b4b0ccf0cb280abe740b Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megous@megous.com>
|
||||
Date: Tue, 20 Dec 2016 11:25:12 +0100
|
||||
Subject: [PATCH] sunxi: h3: Fix PLL1 setup to never use dividers
|
||||
|
||||
Kernel would lower the divider on first CLK change and cause the
|
||||
lock up.
|
||||
---
|
||||
arch/arm/mach-sunxi/clock_sun6i.c | 7 +++----
|
||||
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-sunxi/clock_sun6i.c b/arch/arm/mach-sunxi/clock_sun6i.c
|
||||
index 50fb302a19..91aa2a0478 100644
|
||||
--- a/arch/arm/mach-sunxi/clock_sun6i.c
|
||||
+++ b/arch/arm/mach-sunxi/clock_sun6i.c
|
||||
@@ -94,11 +94,10 @@ void clock_set_pll1(unsigned int clk)
|
||||
int k = 1;
|
||||
int m = 1;
|
||||
|
||||
- if (clk > 1152000000) {
|
||||
- k = 2;
|
||||
- } else if (clk > 768000000) {
|
||||
+ if (clk >= 1368000000) {
|
||||
k = 3;
|
||||
- m = 2;
|
||||
+ } else if (clk >= 768000000) {
|
||||
+ k = 2;
|
||||
}
|
||||
|
||||
/* Switch to 24MHz clock while changing PLL1 */
|
||||
--
|
||||
2.11.0
|
@@ -1,16 +0,0 @@
|
||||
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
|
||||
index 3cf3614..89cf7f5 100644
|
||||
--- a/board/sunxi/board.c
|
||||
+++ b/board/sunxi/board.c
|
||||
@@ -478,6 +478,11 @@ void sunxi_board_init(void)
|
||||
int power_failed = 0;
|
||||
unsigned long ramsize;
|
||||
|
||||
+#ifdef CONFIG_MACH_SUN8I_H3
|
||||
+ /* turn on power LED (PL10) on H3 boards */
|
||||
+ gpio_direction_output(SUNXI_GPL(10), 1);
|
||||
+#endif
|
||||
+
|
||||
#ifdef CONFIG_SY8106A_POWER
|
||||
power_failed = sy8106a_set_vout1(CONFIG_SY8106A_VOUT1_VOLT);
|
||||
#endif
|
@@ -1,42 +0,0 @@
|
||||
diff --git a/arch/arm/mach-sunxi/clock_sun6i.c b/arch/arm/mach-sunxi/clock_sun6i.c
|
||||
index 15272c9..cedddc2 100644
|
||||
--- a/arch/arm/mach-sunxi/clock_sun6i.c
|
||||
+++ b/arch/arm/mach-sunxi/clock_sun6i.c
|
||||
@@ -117,8 +117,8 @@ void clock_set_pll1(unsigned int clk)
|
||||
sdelay(200);
|
||||
|
||||
/* Switch CPU to PLL1 */
|
||||
- writel(AXI_DIV_3 << AXI_DIV_SHIFT |
|
||||
- ATB_DIV_2 << ATB_DIV_SHIFT |
|
||||
+ writel(AXI_DIV_4 << AXI_DIV_SHIFT |
|
||||
+ ATB_DIV_4 << ATB_DIV_SHIFT |
|
||||
CPU_CLK_SRC_PLL1 << CPU_CLK_SRC_SHIFT,
|
||||
&ccm->cpu_axi_cfg);
|
||||
}
|
||||
diff --git a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h
|
||||
index f2990db..b3a8575 100644
|
||||
--- a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h
|
||||
+++ b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h
|
||||
@@ -180,6 +180,7 @@ struct sunxi_ccm_reg {
|
||||
#define CCM_PLL1_CTRL_N(n) ((((n) - 1) & 0x1f) << 8)
|
||||
#define CCM_PLL1_CTRL_P(n) (((n) & 0x3) << 16)
|
||||
#define CCM_PLL1_CTRL_EN (0x1 << 31)
|
||||
+#define CCM_PLL1_CTRL_LOCK (0x1 << 28)
|
||||
|
||||
#define CCM_PLL3_CTRL_M_SHIFT 0
|
||||
#define CCM_PLL3_CTRL_M_MASK (0xf << CCM_PLL3_CTRL_M_SHIFT)
|
||||
diff --git a/arch/arm/mach-sunxi/clock_sun6i.c b/arch/arm/mach-sunxi/clock_sun6i.c
|
||||
index cedddc2..3fe9305 100644
|
||||
--- a/arch/arm/mach-sunxi/clock_sun6i.c
|
||||
+++ b/arch/arm/mach-sunxi/clock_sun6i.c
|
||||
@@ -114,7 +114,9 @@ void clock_set_pll1(unsigned int clk)
|
||||
writel(CCM_PLL1_CTRL_EN | CCM_PLL1_CTRL_P(p) |
|
||||
CCM_PLL1_CTRL_N(clk / (24000000 * k / m)) |
|
||||
CCM_PLL1_CTRL_K(k) | CCM_PLL1_CTRL_M(m), &ccm->pll1_cfg);
|
||||
- sdelay(200);
|
||||
+
|
||||
+ while (!(readl(&ccm->pll1_cfg) & CCM_PLL1_CTRL_LOCK))
|
||||
+ ;
|
||||
|
||||
/* Switch CPU to PLL1 */
|
||||
writel(AXI_DIV_4 << AXI_DIV_SHIFT |
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
|
||||
index 2309f59999..716e9c5e26 100644
|
||||
--- a/arch/arm/mach-sunxi/Kconfig
|
||||
+++ b/arch/arm/mach-sunxi/Kconfig
|
||||
@@ -278,7 +278,7 @@ config DRAM_CLK
|
||||
default 312 if MACH_SUN6I || MACH_SUN8I
|
||||
default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \
|
||||
MACH_SUN8I_V3S
|
||||
- default 672 if MACH_SUN50I
|
||||
+ default 648 if MACH_SUN50I || MACH_SUN50I_H5
|
||||
---help---
|
||||
Set the dram clock speed, valid range 240 - 480 (prior to sun9i),
|
||||
must be a multiple of 24. For the sun9i (A80), the tested values
|
@@ -1,11 +0,0 @@
|
||||
diff --git a/include/configs/sun8i.h b/include/configs/sun8i.h
|
||||
index a4c3fb69e..47ce2e9e6 100644
|
||||
--- a/include/configs/sun8i.h
|
||||
+++ b/include/configs/sun8i.h
|
||||
@@ -30,4 +30,6 @@
|
||||
*/
|
||||
#include <configs/sunxi-common.h>
|
||||
|
||||
+#define CONFIG_MACH_TYPE (0x1029)
|
||||
+
|
||||
#endif /* __CONFIG_H */
|
@@ -1,62 +0,0 @@
|
||||
diff --git a/cmd/Kconfig b/cmd/Kconfig
|
||||
index d6d130edfa..92795119ea 100644
|
||||
--- a/cmd/Kconfig
|
||||
+++ b/cmd/Kconfig
|
||||
@@ -1029,6 +1029,7 @@ menu "Misc commands"
|
||||
config CMD_BMP
|
||||
bool "Enable 'bmp' command"
|
||||
depends on LCD || DM_VIDEO || VIDEO
|
||||
+ default y
|
||||
help
|
||||
This provides a way to obtain information about a BMP-format iamge
|
||||
and to display it. BMP (which presumably stands for BitMaP) is a
|
||||
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
||||
index 9ed6b9892c..75d5176edf 100644
|
||||
--- a/include/config_distro_bootcmd.h
|
||||
+++ b/include/config_distro_bootcmd.h
|
||||
@@ -323,6 +323,15 @@
|
||||
BOOTENV_SHARED_UBIFS \
|
||||
BOOTENV_SHARED_EFI \
|
||||
"boot_prefixes=/ /boot/\0" \
|
||||
+ "splashpos=m,m\0" \
|
||||
+ "splashimage=66000000\0" \
|
||||
+ "loadsplash= " \
|
||||
+ "for prefix in ${boot_prefixes}; do " \
|
||||
+ "if test -e mmc 0 ${prefix}boot.bmp; then " \
|
||||
+ "load mmc 0 ${splashimage} ${prefix}boot.bmp; " \
|
||||
+ "bmp d ${splashimage}; " \
|
||||
+ "fi; " \
|
||||
+ "done\0" \
|
||||
"boot_scripts=boot.scr.uimg boot.scr\0" \
|
||||
"boot_script_dhcp=boot.scr.uimg\0" \
|
||||
BOOTENV_BOOT_TARGETS \
|
||||
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
|
||||
index 02d7be0849..cbdea20d08 100644
|
||||
--- a/include/configs/sunxi-common.h
|
||||
+++ b/include/configs/sunxi-common.h
|
||||
@@ -284,6 +284,16 @@ extern int soft_i2c_gpio_scl;
|
||||
|
||||
#endif /* CONFIG_VIDEO */
|
||||
|
||||
+#if defined CONFIG_VIDEO || defined CONFIG_DM_VIDEO
|
||||
+#define CONFIG_VIDEO_LOGO
|
||||
+#define CONFIG_SPLASH_SCREEN
|
||||
+#define CONFIG_SPLASH_SCREEN_ALIGN
|
||||
+#define CONFIG_BMP_16BPP
|
||||
+#define CONFIG_BMP_24BPP
|
||||
+#define CONFIG_BMP_32BPP
|
||||
+#define CONFIG_VIDEO_BMP_RLE8
|
||||
+#endif
|
||||
+
|
||||
/* Ethernet support */
|
||||
#ifdef CONFIG_SUNXI_EMAC
|
||||
#define CONFIG_PHY_ADDR 1
|
||||
@@ -444,7 +454,7 @@ extern int soft_i2c_gpio_scl;
|
||||
|
||||
#ifdef CONFIG_USB_KEYBOARD
|
||||
#define CONSOLE_STDIN_SETTINGS \
|
||||
- "preboot=usb start\0" \
|
||||
+ "preboot=run loadsplash; usb start\0" \
|
||||
"stdin=serial,usbkbd\0"
|
||||
#else
|
||||
#define CONSOLE_STDIN_SETTINGS \
|
@@ -1,3 +0,0 @@
|
||||
i2c0_enable=true
|
||||
i2c1_enable=false
|
||||
i2c2_enable=false
|
@@ -1,7 +0,0 @@
|
||||
BOARD_ID=opi-prime
|
||||
BOARD_NAME="Orange Pi Prime"
|
||||
CHASSIS=embedded
|
||||
BOOTLOADER=uboot
|
||||
KERNEL_FILE=Image
|
||||
BOOT_SYS=spl
|
||||
BOOT_ENV_SIZE=0x8000
|
@@ -1,8 +0,0 @@
|
||||
# CONFIG_USB_STORAGE is not set
|
||||
# CONFIG_DOS_PARTITIONcs not set
|
||||
CONFIG_EFI_PARTITION is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_CMD_FILEENV=y
|
||||
CONFIG_ENV_IS_NOWHERE=Y
|
@@ -1,2 +0,0 @@
|
||||
CONFIG_FB_SIMPLE=y
|
||||
# CONFIG_FB_BCM2708 is not set
|
@@ -0,0 +1,62 @@
|
||||
From 68e65b1e3859d4baf41d1e5f6525ff7ace778ba1 Mon Sep 17 00:00:00 2001
|
||||
From: Florin Sarbu <florin@balena.io>
|
||||
Date: Thu, 12 Sep 2019 12:31:31 +0200
|
||||
Subject: [PATCH] raspberrypi: Disable simple framebuffer support
|
||||
|
||||
On 4.19 kernels this u-boot driver clashes with bcm2708_fb.
|
||||
So let's disable it from here so that we have bcm2708_fb
|
||||
enabled in the kernel, just as Raspbian users might expect.
|
||||
See https://github.com/raspberrypi/linux/issues/3139
|
||||
|
||||
Upstream-Status: Inappropriate [configuration]
|
||||
Signed-off-by: Florin Sarbu <florin@balena.io>
|
||||
---
|
||||
board/raspberrypi/rpi/rpi.c | 2 +-
|
||||
common/Makefile | 2 +-
|
||||
include/configs/rpi.h | 4 ++--
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
|
||||
index 153a1fd..c7bd399 100644
|
||||
--- a/board/raspberrypi/rpi/rpi.c
|
||||
+++ b/board/raspberrypi/rpi/rpi.c
|
||||
@@ -482,7 +482,7 @@ int ft_board_setup(void *blob, bd_t *bd)
|
||||
* should be more intelligent, and e.g. only do this if no enabled DT
|
||||
* node exists for the "real" graphics driver.
|
||||
*/
|
||||
- lcd_dt_simplefb_add_node(blob);
|
||||
+ //lcd_dt_simplefb_add_node(blob);
|
||||
|
||||
#ifdef CONFIG_EFI_LOADER
|
||||
/* Reserve the spin table */
|
||||
diff --git a/common/Makefile b/common/Makefile
|
||||
index 0de60b3..2848d98 100644
|
||||
--- a/common/Makefile
|
||||
+++ b/common/Makefile
|
||||
@@ -50,7 +50,7 @@ ifndef CONFIG_DM_VIDEO
|
||||
obj-$(CONFIG_LCD) += lcd.o lcd_console.o
|
||||
endif
|
||||
obj-$(CONFIG_LCD_ROTATION) += lcd_console_rotation.o
|
||||
-obj-$(CONFIG_LCD_DT_SIMPLEFB) += lcd_simplefb.o
|
||||
+//obj-$(CONFIG_LCD_DT_SIMPLEFB) += lcd_simplefb.o
|
||||
obj-$(CONFIG_LYNXKDI) += lynxkdi.o
|
||||
obj-$(CONFIG_MENU) += menu.o
|
||||
obj-$(CONFIG_UPDATE_TFTP) += update.o
|
||||
diff --git a/include/configs/rpi.h b/include/configs/rpi.h
|
||||
index a38bf20..e2760b0 100644
|
||||
--- a/include/configs/rpi.h
|
||||
+++ b/include/configs/rpi.h
|
||||
@@ -60,8 +60,8 @@
|
||||
/* GPIO */
|
||||
#define CONFIG_BCM2835_GPIO
|
||||
/* LCD */
|
||||
-#define CONFIG_LCD_DT_SIMPLEFB
|
||||
-#define CONFIG_VIDEO_BCM2835
|
||||
+//#define CONFIG_LCD_DT_SIMPLEFB
|
||||
+//#define CONFIG_VIDEO_BCM2835
|
||||
|
||||
#ifdef CONFIG_CMD_USB
|
||||
#define CONFIG_TFTP_TSIZE
|
||||
--
|
||||
2.7.4
|
||||
|
@@ -0,0 +1,82 @@
|
||||
From 0f45c3f2f46b62f767ef225b258f927ad88ca360 Mon Sep 17 00:00:00 2001
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Tue, 10 Dec 2019 09:48:46 +0000
|
||||
Subject: [PATCH 1/1] rpi: Use CONFIG_OF_BOARD instead of CONFIG_EMBED
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
configs/rpi_0_w_defconfig | 2 +-
|
||||
configs/rpi_2_defconfig | 2 +-
|
||||
configs/rpi_3_32b_defconfig | 2 +-
|
||||
configs/rpi_3_defconfig | 2 +-
|
||||
configs/rpi_defconfig | 2 +-
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
|
||||
index fe5a7763a6..ed7f9381e9 100644
|
||||
--- a/configs/rpi_0_w_defconfig
|
||||
+++ b/configs/rpi_0_w_defconfig
|
||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2835-rpi-zero-w"
|
||||
CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
|
||||
index bf331c0ad0..52e3c3b234 100644
|
||||
--- a/configs/rpi_2_defconfig
|
||||
+++ b/configs/rpi_2_defconfig
|
||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2836-rpi-2-b"
|
||||
CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
|
||||
index c2417a0ec9..191962f0f7 100644
|
||||
--- a/configs/rpi_3_32b_defconfig
|
||||
+++ b/configs/rpi_3_32b_defconfig
|
||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b"
|
||||
CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
|
||||
index 4fa682539c..03a2356d3d 100644
|
||||
--- a/configs/rpi_3_defconfig
|
||||
+++ b/configs/rpi_3_defconfig
|
||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b"
|
||||
CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
|
||||
index 2c04b3334e..bf00d8b669 100644
|
||||
--- a/configs/rpi_defconfig
|
||||
+++ b/configs/rpi_defconfig
|
||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2835-rpi-b"
|
||||
CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -0,0 +1,21 @@
|
||||
KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
|
||||
ALIASES=/proc/device-tree/aliases; \
|
||||
if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \
|
||||
echo 0;\
|
||||
elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \
|
||||
echo 1; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi\
|
||||
'", SYMLINK+="serial%c"
|
||||
|
||||
KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\
|
||||
ALIASES=/proc/device-tree/aliases; \
|
||||
if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \
|
||||
echo 0; \
|
||||
elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \
|
||||
echo 1; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi \
|
||||
'", SYMLINK+="serial%c"
|
@@ -1,65 +0,0 @@
|
||||
From 9f471bee7e230bc9b99155506388fb98903bd3c3 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@gherzan.ro>
|
||||
Date: Sat, 6 Jul 2019 23:49:47 +0100
|
||||
Subject: [PATCH 01/17] configs: rpi4: Add defconfig for rpi4-64
|
||||
|
||||
This config is based on the the rpi3 counterpart.
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
|
||||
---
|
||||
configs/rpi_4_defconfig | 43 +++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 43 insertions(+)
|
||||
create mode 100644 configs/rpi_4_defconfig
|
||||
|
||||
diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..83d1bd0cdb
|
||||
--- /dev/null
|
||||
+++ b/configs/rpi_4_defconfig
|
||||
@@ -0,0 +1,43 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_ARCH_BCM283X=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x00080000
|
||||
+CONFIG_TARGET_RPI_4=y
|
||||
+CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
+CONFIG_DISTRO_DEFAULTS=y
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_OF_BOARD_SETUP=y
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
+# CONFIG_DISPLAY_CPUINFO is not set
|
||||
+# CONFIG_DISPLAY_BOARDINFO is not set
|
||||
+CONFIG_SYS_PROMPT="U-Boot> "
|
||||
+# CONFIG_CMD_FLASH is not set
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+CONFIG_CMD_FS_UUID=y
|
||||
+CONFIG_OF_EMBED=y
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="bcm2838-rpi-4-b"
|
||||
+CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
+CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
+CONFIG_DM_KEYBOARD=y
|
||||
+CONFIG_DM_MMC=y
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_BCM2835=y
|
||||
+CONFIG_PHYLIB=y
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_PINCTRL=y
|
||||
+# CONFIG_PINCTRL_GENERIC is not set
|
||||
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_DM_USB=y
|
||||
+CONFIG_USB_DWC2=y
|
||||
+CONFIG_USB_KEYBOARD=y
|
||||
+CONFIG_USB_HOST_ETHER=y
|
||||
+CONFIG_USB_ETHER_LAN78XX=y
|
||||
+CONFIG_USB_ETHER_SMSC95XX=y
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
+CONFIG_CONSOLE_SCROLL_LINES=10
|
||||
+CONFIG_PHYS_TO_BUS=y
|
||||
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,208 +0,0 @@
|
||||
From 24f5e0b88b88f2e47e420e6f2f123b8726c9f396 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@gherzan.ro>
|
||||
Date: Sat, 6 Jul 2019 23:58:44 +0100
|
||||
Subject: [PATCH 02/17] dts: Create a dtsi for BCM2835/6/7 specific
|
||||
configuration
|
||||
|
||||
This follows a similar change in kernel[1]. The change moves
|
||||
configuration that was not applicable for all bcm2835/6/7/8 out of
|
||||
bcm283x.dtsi. The new file is bcm2835-common.dtsi and contains
|
||||
conifguration that is common for bcm2835/6/7 (not bcm2838).
|
||||
|
||||
[1] https://github.com/raspberrypi/linux/commit/769a7330aa5bebcc98b1ff12ecb767db4e5c644d#diff-5979fba23a5bab2cf66dde09db872dfc
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
|
||||
---
|
||||
arch/arm/dts/bcm2835-common.dtsi | 53 ++++++++++++++++++++++++++++++++
|
||||
arch/arm/dts/bcm2835.dtsi | 1 +
|
||||
arch/arm/dts/bcm2836.dtsi | 1 +
|
||||
arch/arm/dts/bcm2837.dtsi | 1 +
|
||||
arch/arm/dts/bcm283x.dtsi | 45 +--------------------------
|
||||
5 files changed, 57 insertions(+), 44 deletions(-)
|
||||
create mode 100644 arch/arm/dts/bcm2835-common.dtsi
|
||||
|
||||
diff --git a/arch/arm/dts/bcm2835-common.dtsi b/arch/arm/dts/bcm2835-common.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..17771730a3
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/bcm2835-common.dtsi
|
||||
@@ -0,0 +1,53 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+
|
||||
+/* This include file covers the common peripherals and configuration between
|
||||
+ * bcm2835, bcm2836 and bcm2837 implementations.
|
||||
+ */
|
||||
+
|
||||
+/ {
|
||||
+ soc {
|
||||
+ timer@7e003000 {
|
||||
+ compatible = "brcm,bcm2835-system-timer";
|
||||
+ reg = <0x7e003000 0x1000>;
|
||||
+ interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
|
||||
+ /* This could be a reference to BCM2835_CLOCK_TIMER,
|
||||
+ * but we don't have the driver using the common clock
|
||||
+ * support yet.
|
||||
+ */
|
||||
+ clock-frequency = <1000000>;
|
||||
+ };
|
||||
+
|
||||
+ intc: interrupt-controller@7e00b200 {
|
||||
+ compatible = "brcm,bcm2835-armctrl-ic";
|
||||
+ reg = <0x7e00b200 0x200>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <2>;
|
||||
+ };
|
||||
+
|
||||
+ thermal: thermal@7e212000 {
|
||||
+ compatible = "brcm,bcm2835-thermal";
|
||||
+ reg = <0x7e212000 0x8>;
|
||||
+ clocks = <&clocks BCM2835_CLOCK_TSENS>;
|
||||
+ #thermal-sensor-cells = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ v3d: v3d@7ec00000 {
|
||||
+ compatible = "brcm,bcm2835-v3d";
|
||||
+ reg = <0x7ec00000 0x1000>;
|
||||
+ interrupts = <1 10>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&gpio {
|
||||
+ i2c_slave_gpio18: i2c_slave_gpio18 {
|
||||
+ brcm,pins = <18 19 20 21>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
+ };
|
||||
+
|
||||
+ jtag_gpio4: jtag_gpio4 {
|
||||
+ brcm,pins = <4 5 6 12 13>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/dts/bcm2835.dtsi b/arch/arm/dts/bcm2835.dtsi
|
||||
index a5c3824c80..53bf4579cc 100644
|
||||
--- a/arch/arm/dts/bcm2835.dtsi
|
||||
+++ b/arch/arm/dts/bcm2835.dtsi
|
||||
@@ -1,5 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "bcm283x.dtsi"
|
||||
+#include "bcm2835-common.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2835";
|
||||
diff --git a/arch/arm/dts/bcm2836.dtsi b/arch/arm/dts/bcm2836.dtsi
|
||||
index c933e84138..82d6c4662a 100644
|
||||
--- a/arch/arm/dts/bcm2836.dtsi
|
||||
+++ b/arch/arm/dts/bcm2836.dtsi
|
||||
@@ -1,5 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "bcm283x.dtsi"
|
||||
+#include "bcm2835-common.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2836";
|
||||
diff --git a/arch/arm/dts/bcm2837.dtsi b/arch/arm/dts/bcm2837.dtsi
|
||||
index beb6c502da..9e95fee78e 100644
|
||||
--- a/arch/arm/dts/bcm2837.dtsi
|
||||
+++ b/arch/arm/dts/bcm2837.dtsi
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "bcm283x.dtsi"
|
||||
+#include "bcm2835-common.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2837";
|
||||
diff --git a/arch/arm/dts/bcm283x.dtsi b/arch/arm/dts/bcm283x.dtsi
|
||||
index 9777644c6c..a024727e4d 100644
|
||||
--- a/arch/arm/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/dts/bcm283x.dtsi
|
||||
@@ -56,17 +56,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
- timer@7e003000 {
|
||||
- compatible = "brcm,bcm2835-system-timer";
|
||||
- reg = <0x7e003000 0x1000>;
|
||||
- interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
|
||||
- /* This could be a reference to BCM2835_CLOCK_TIMER,
|
||||
- * but we don't have the driver using the common clock
|
||||
- * support yet.
|
||||
- */
|
||||
- clock-frequency = <1000000>;
|
||||
- };
|
||||
-
|
||||
txp@7e004000 {
|
||||
compatible = "brcm,bcm2835-txp";
|
||||
reg = <0x7e004000 0x20>;
|
||||
@@ -114,13 +103,6 @@
|
||||
brcm,dma-channel-mask = <0x7f35>;
|
||||
};
|
||||
|
||||
- intc: interrupt-controller@7e00b200 {
|
||||
- compatible = "brcm,bcm2835-armctrl-ic";
|
||||
- reg = <0x7e00b200 0x200>;
|
||||
- interrupt-controller;
|
||||
- #interrupt-cells = <2>;
|
||||
- };
|
||||
-
|
||||
pm: watchdog@7e100000 {
|
||||
compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
|
||||
#power-domain-cells = <1>;
|
||||
@@ -184,8 +166,7 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
- /* Defines pin muxing groups according to
|
||||
- * BCM2835-ARM-Peripherals.pdf page 102.
|
||||
+ /* Defines common pin muxing groups
|
||||
*
|
||||
* While each pin can have its mux selected
|
||||
* for various functions individually, some
|
||||
@@ -263,15 +244,6 @@
|
||||
brcm,pins = <44 45>;
|
||||
brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
};
|
||||
- i2c_slave_gpio18: i2c_slave_gpio18 {
|
||||
- brcm,pins = <18 19 20 21>;
|
||||
- brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
- };
|
||||
-
|
||||
- jtag_gpio4: jtag_gpio4 {
|
||||
- brcm,pins = <4 5 6 12 13>;
|
||||
- brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
- };
|
||||
jtag_gpio22: jtag_gpio22 {
|
||||
brcm,pins = <22 23 24 25 26 27>;
|
||||
brcm,function = <BCM2835_FSEL_ALT4>;
|
||||
@@ -488,14 +460,6 @@
|
||||
|
||||
};
|
||||
|
||||
- thermal: thermal@7e212000 {
|
||||
- compatible = "brcm,bcm2835-thermal";
|
||||
- reg = <0x7e212000 0x8>;
|
||||
- clocks = <&clocks BCM2835_CLOCK_TSENS>;
|
||||
- #thermal-sensor-cells = <0>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
aux: aux@7e215000 {
|
||||
compatible = "brcm,bcm2835-aux";
|
||||
#clock-cells = <1>;
|
||||
@@ -635,13 +599,6 @@
|
||||
phy-names = "usb2-phy";
|
||||
};
|
||||
|
||||
- v3d: v3d@7ec00000 {
|
||||
- compatible = "brcm,bcm2835-v3d";
|
||||
- reg = <0x7ec00000 0x1000>;
|
||||
- interrupts = <1 10>;
|
||||
- power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>;
|
||||
- };
|
||||
-
|
||||
vc4: gpu {
|
||||
compatible = "brcm,bcm2835-vc4";
|
||||
};
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,337 +0,0 @@
|
||||
From d7532dbcde253d824d4fe3d1f1f40e92e62ad291 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@gherzan.ro>
|
||||
Date: Sun, 7 Jul 2019 00:12:36 +0100
|
||||
Subject: [PATCH 03/17] dts: Add initial support for bcm2838
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
|
||||
---
|
||||
arch/arm/dts/Makefile | 4 +-
|
||||
arch/arm/dts/bcm2838-rpi-4-b.dts | 56 ++++++++
|
||||
arch/arm/dts/bcm2838.dtsi | 237 +++++++++++++++++++++++++++++++
|
||||
3 files changed, 296 insertions(+), 1 deletion(-)
|
||||
create mode 100644 arch/arm/dts/bcm2838-rpi-4-b.dts
|
||||
create mode 100644 arch/arm/dts/bcm2838.dtsi
|
||||
|
||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
||||
index 20dbc2ff84..16790af1e1 100644
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -749,7 +749,9 @@ dtb-$(CONFIG_ARCH_BCM283X) += \
|
||||
bcm2837-rpi-3-a-plus.dtb \
|
||||
bcm2837-rpi-3-b.dtb \
|
||||
bcm2837-rpi-3-b-plus.dtb \
|
||||
- bcm2837-rpi-cm3-io3.dtb
|
||||
+ bcm2837-rpi-cm3-io3.dtb \
|
||||
+ bcm2837-rpi-3-b.dtb \
|
||||
+ bcm2838-rpi-4-b.dtb
|
||||
|
||||
dtb-$(CONFIG_ARCH_BCM63158) += \
|
||||
bcm963158.dtb
|
||||
diff --git a/arch/arm/dts/bcm2838-rpi-4-b.dts b/arch/arm/dts/bcm2838-rpi-4-b.dts
|
||||
new file mode 100644
|
||||
index 0000000000..07e9a78e8d
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/bcm2838-rpi-4-b.dts
|
||||
@@ -0,0 +1,56 @@
|
||||
+/dts-v1/;
|
||||
+#include "bcm2838.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "raspberrypi,4-model-b","brcm,bcm2838","brcm,bcm2837";
|
||||
+ model = "Raspberry Pi 4 Model B";
|
||||
+
|
||||
+ memory {
|
||||
+ reg = <0 0 0x40000000>;
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ act {
|
||||
+ gpios = <&gpio 47 0>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* uart0 communicates with the BT module */
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* uart1 is mapped to the pin header */
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* SDHCI is used to control the SDIO for wireless */
|
||||
+&sdhci {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emmc_gpio34>;
|
||||
+ status = "okay";
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+};
|
||||
+
|
||||
+/* SDHOST is used to drive the SD card */
|
||||
+&sdhost {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdhost_gpio48>;
|
||||
+ status = "okay";
|
||||
+ bus-width = <4>;
|
||||
+};
|
||||
+
|
||||
+&gpio {
|
||||
+ uart1_pins: uart1_pins {
|
||||
+ brcm,pins;
|
||||
+ brcm,function;
|
||||
+ brcm,pull;
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/dts/bcm2838.dtsi b/arch/arm/dts/bcm2838.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..19b2d7b905
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/bcm2838.dtsi
|
||||
@@ -0,0 +1,237 @@
|
||||
+#include "bcm283x.dtsi"
|
||||
+#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
+#include <dt-bindings/power/raspberrypi-power.h>
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "brcm,bcm2838";
|
||||
+
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ interrupt-parent = <&gic>;
|
||||
+
|
||||
+ soc {
|
||||
+ ranges = <0x7e000000 0x0 0xfe000000 0x01800000>,
|
||||
+ <0x7c000000 0x0 0xfc000000 0x02000000>,
|
||||
+ <0x40000000 0x0 0xff800000 0x00800000>;
|
||||
+ dma-ranges = <0xc0000000 0x0 0x00000000 0x3c000000>;
|
||||
+
|
||||
+ gic: gic400@40041000 {
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+ compatible = "arm,gic-400";
|
||||
+ reg = <0x40041000 0x1000>,
|
||||
+ <0x40042000 0x2000>,
|
||||
+ <0x40044000 0x2000>,
|
||||
+ <0x40046000 0x2000>;
|
||||
+ };
|
||||
+
|
||||
+ thermal: thermal@7d5d2200 {
|
||||
+ compatible = "brcm,avs-tmon-bcm2838";
|
||||
+ reg = <0x7d5d2200 0x2c>;
|
||||
+ interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "tmon";
|
||||
+ clocks = <&clocks BCM2835_CLOCK_TSENS>;
|
||||
+ #thermal-sensor-cells = <0>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ spi@7e204000 {
|
||||
+ reg = <0x7e204000 0x0200>;
|
||||
+ interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ pixelvalve@7e206000 {
|
||||
+ interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ pixelvalve@7e207000 {
|
||||
+ interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ hvs@7e400000 {
|
||||
+ interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ emmc2: emmc2@7e340000 {
|
||||
+ compatible = "brcm,bcm2711-emmc2";
|
||||
+ status = "okay";
|
||||
+ interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&clocks BCM2838_CLOCK_EMMC2>;
|
||||
+ reg = <0x7e340000 0x100>;
|
||||
+ };
|
||||
+
|
||||
+ pixelvalve@7e807000 {
|
||||
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+ arm-pmu {
|
||||
+ /*
|
||||
+ * N.B. the A72 PMU support only exists in arch/arm64, hence
|
||||
+ * the fallback to the A53 version.
|
||||
+ */
|
||||
+ compatible = "arm,cortex-a72-pmu", "arm,cortex-a53-pmu";
|
||||
+ interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ timer {
|
||||
+ compatible = "arm,armv7-timer";
|
||||
+ interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) |
|
||||
+ IRQ_TYPE_LEVEL_LOW)>,
|
||||
+ <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) |
|
||||
+ IRQ_TYPE_LEVEL_LOW)>,
|
||||
+ <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) |
|
||||
+ IRQ_TYPE_LEVEL_LOW)>,
|
||||
+ <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) |
|
||||
+ IRQ_TYPE_LEVEL_LOW)>;
|
||||
+ arm,cpu-registers-not-fw-configured;
|
||||
+ always-on;
|
||||
+ };
|
||||
+
|
||||
+ cpus: cpus {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit
|
||||
+
|
||||
+ cpu0: cpu@0 {
|
||||
+ device_type = "cpu";
|
||||
+ compatible = "arm,cortex-a72";
|
||||
+ reg = <0>;
|
||||
+ enable-method = "spin-table";
|
||||
+ cpu-release-addr = <0x0 0x000000d8>;
|
||||
+ };
|
||||
+
|
||||
+ cpu1: cpu@1 {
|
||||
+ device_type = "cpu";
|
||||
+ compatible = "arm,cortex-a72";
|
||||
+ reg = <1>;
|
||||
+ enable-method = "spin-table";
|
||||
+ cpu-release-addr = <0x0 0x000000e0>;
|
||||
+ };
|
||||
+
|
||||
+ cpu2: cpu@2 {
|
||||
+ device_type = "cpu";
|
||||
+ compatible = "arm,cortex-a72";
|
||||
+ reg = <2>;
|
||||
+ enable-method = "spin-table";
|
||||
+ cpu-release-addr = <0x0 0x000000e8>;
|
||||
+ };
|
||||
+
|
||||
+ cpu3: cpu@3 {
|
||||
+ device_type = "cpu";
|
||||
+ compatible = "arm,cortex-a72";
|
||||
+ reg = <3>;
|
||||
+ enable-method = "spin-table";
|
||||
+ cpu-release-addr = <0x0 0x000000f0>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&clk_osc {
|
||||
+ clock-frequency = <54000000>;
|
||||
+};
|
||||
+
|
||||
+&clocks {
|
||||
+ compatible = "brcm,bcm2838-cprman";
|
||||
+};
|
||||
+
|
||||
+&cpu_thermal {
|
||||
+ coefficients = <(-487) 410040>;
|
||||
+};
|
||||
+
|
||||
+&dsi0 {
|
||||
+ interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&dsi1 {
|
||||
+ interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&gpio {
|
||||
+ compatible = "brcm,bcm2838-gpio", "brcm,bcm2835-gpio";
|
||||
+ interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&vec {
|
||||
+ interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&usb {
|
||||
+ interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&spi1 {
|
||||
+ interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&spi2 {
|
||||
+ interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&i2c2 {
|
||||
+ interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&mailbox {
|
||||
+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&sdhost {
|
||||
+ interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+};
|
||||
+
|
||||
+&dma {
|
||||
+ reg = <0x7e007000 0xb00>;
|
||||
+ interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, /* dmalite 7 */
|
||||
+ <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, /* dmalite 8 */
|
||||
+ <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, /* dmalite 9 */
|
||||
+ <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; /* dmalite 10 */
|
||||
+ interrupt-names = "dma0",
|
||||
+ "dma1",
|
||||
+ "dma2",
|
||||
+ "dma3",
|
||||
+ "dma4",
|
||||
+ "dma5",
|
||||
+ "dma6",
|
||||
+ "dma7",
|
||||
+ "dma8",
|
||||
+ "dma9",
|
||||
+ "dma10";
|
||||
+ brcm,dma-channel-mask = <0x07f5>;
|
||||
+};
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,66 +0,0 @@
|
||||
From 865218f2dc973492c872dac51a66cff1833c916a Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@gherzan.ro>
|
||||
Date: Sun, 7 Jul 2019 00:21:33 +0100
|
||||
Subject: [PATCH 04/17] arm: mach-bcm283x: Define configs for RaspberryPi 4
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
|
||||
---
|
||||
arch/arm/mach-bcm283x/Kconfig | 35 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 35 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
|
||||
index 3eb5a9a897..d5069fe688 100644
|
||||
--- a/arch/arm/mach-bcm283x/Kconfig
|
||||
+++ b/arch/arm/mach-bcm283x/Kconfig
|
||||
@@ -26,6 +26,23 @@ config BCM2837_64B
|
||||
select BCM2837
|
||||
select ARM64
|
||||
|
||||
+config BCM2838
|
||||
+ bool "Broadcom BCM2838 SoC support"
|
||||
+ depends on ARCH_BCM283X
|
||||
+
|
||||
+config BCM2838_32B
|
||||
+ bool "Broadcom BCM2838 SoC 32-bit support"
|
||||
+ depends on ARCH_BCM283X
|
||||
+ select BCM2838
|
||||
+ select ARMV7_LPAE
|
||||
+ select CPU_V7A
|
||||
+
|
||||
+config BCM2838_64B
|
||||
+ bool "Broadcom BCM2838 SoC 64-bit support"
|
||||
+ depends on ARCH_BCM283X
|
||||
+ select BCM2838
|
||||
+ select ARM64
|
||||
+
|
||||
menu "Broadcom BCM283X family"
|
||||
depends on ARCH_BCM283X
|
||||
|
||||
@@ -127,6 +144,24 @@ config TARGET_RPI_3
|
||||
This option creates a build targeting the ARMv8/AArch64 ISA.
|
||||
select BCM2837_64B
|
||||
|
||||
+config TARGET_RPI_4
|
||||
+ bool "Raspberry Pi 4 64-bit build"
|
||||
+ help
|
||||
+ Support for all BCM2838-based Raspberry Pi variants, such as
|
||||
+ the RPi 4 model B, in AArch64 (64-bit) mode.
|
||||
+
|
||||
+ This option creates a build targeting the ARMv8/AArch64 ISA.
|
||||
+ select BCM2838_64B
|
||||
+
|
||||
+config TARGET_RPI_4_32B
|
||||
+ bool "Raspberry Pi 4 32-bit build"
|
||||
+ help
|
||||
+ Support for all BCM2838-based Raspberry Pi variants, such as
|
||||
+ the RPi 4 model B, in AArch32 (32-bit) mode.
|
||||
+
|
||||
+ This option creates a build targeting the ARMv7/AArch32 ISA.
|
||||
+ select BCM2838_32B
|
||||
+
|
||||
endchoice
|
||||
|
||||
config SYS_BOARD
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,34 +0,0 @@
|
||||
From 98ae56bf35b2102310d2e88f56639e9055aa10be Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@gherzan.ro>
|
||||
Date: Sun, 7 Jul 2019 00:23:15 +0100
|
||||
Subject: [PATCH 05/17] arm: mach-bcm283x: Define mbox address for BCM2838
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
|
||||
---
|
||||
arch/arm/mach-bcm283x/include/mach/mbox.h | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
index e3a893e49c..2d711daaa8 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
@@ -38,11 +38,16 @@
|
||||
/* Raw mailbox HW */
|
||||
|
||||
#ifndef CONFIG_BCM2835
|
||||
+#ifdef CONFIG_BCM2838
|
||||
+#define BCM2835_MBOX_PHYSADDR 0xfe00b880
|
||||
+#else
|
||||
#define BCM2835_MBOX_PHYSADDR 0x3f00b880
|
||||
+#endif
|
||||
#else
|
||||
#define BCM2835_MBOX_PHYSADDR 0x2000b880
|
||||
#endif
|
||||
|
||||
+
|
||||
struct bcm2835_mbox_regs {
|
||||
u32 read;
|
||||
u32 rsvd0[5];
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,29 +0,0 @@
|
||||
From eef9e7760c367dd848ac90780ecce8dcd82d9bb4 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@gherzan.ro>
|
||||
Date: Sun, 7 Jul 2019 00:25:58 +0100
|
||||
Subject: [PATCH 06/17] rpi: Add rpi_model entry for RaspberryPi 4
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
|
||||
---
|
||||
board/raspberrypi/rpi/rpi.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
|
||||
index 617c892dde..6d6f1ef39a 100644
|
||||
--- a/board/raspberrypi/rpi/rpi.c
|
||||
+++ b/board/raspberrypi/rpi/rpi.c
|
||||
@@ -148,6 +148,11 @@ static const struct rpi_model rpi_models_new_scheme[] = {
|
||||
DTB_DIR "bcm2837-rpi-cm3.dtb",
|
||||
false,
|
||||
},
|
||||
+ [0x11] = {
|
||||
+ "4 Model B",
|
||||
+ DTB_DIR "bcm2711-rpi-4-b.dtb",
|
||||
+ true,
|
||||
+ },
|
||||
};
|
||||
|
||||
static const struct rpi_model rpi_models_old_scheme[] = {
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,27 +0,0 @@
|
||||
From fe0cff5d5f6e6fa56d83f04166d402ca13a0f23c Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@gherzan.ro>
|
||||
Date: Sun, 7 Jul 2019 00:31:27 +0100
|
||||
Subject: [PATCH 07/17] dt-bindings: Define BCM2838_CLOCK_EMMC2 needed for
|
||||
RaspberryPi 4
|
||||
|
||||
On BCM2838 there is an additional clock. This clock was added in the
|
||||
same bcm2835-cprman driver and is used by the emmc2 dt node.
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
|
||||
---
|
||||
include/dt-bindings/clock/bcm2835.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/dt-bindings/clock/bcm2835.h b/include/dt-bindings/clock/bcm2835.h
|
||||
index 2cec01f968..457fd4e23c 100644
|
||||
--- a/include/dt-bindings/clock/bcm2835.h
|
||||
+++ b/include/dt-bindings/clock/bcm2835.h
|
||||
@@ -58,3 +58,5 @@
|
||||
#define BCM2835_CLOCK_DSI1E 48
|
||||
#define BCM2835_CLOCK_DSI0P 49
|
||||
#define BCM2835_CLOCK_DSI1P 50
|
||||
+
|
||||
+#define BCM2838_CLOCK_EMMC2 51
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,31 +0,0 @@
|
||||
From 05c24bc9579b958f637ca1497387a6149581c644 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Fri, 12 Jul 2019 11:26:10 +0100
|
||||
Subject: [PATCH 08/17] arm: bcm283x: Include definition for additional emmc
|
||||
clock
|
||||
|
||||
This clock has a different mbox ID[1] so have this included in the
|
||||
relevant header file.
|
||||
|
||||
[1] https://github.com/raspberrypi/firmware/issues/1179
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
---
|
||||
arch/arm/mach-bcm283x/include/mach/mbox.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
index 2d711daaa8..cad035e8cd 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
@@ -239,6 +239,7 @@ struct bcm2835_mbox_tag_set_power_state {
|
||||
#define BCM2835_MBOX_CLOCK_ID_SDRAM 8
|
||||
#define BCM2835_MBOX_CLOCK_ID_PIXEL 9
|
||||
#define BCM2835_MBOX_CLOCK_ID_PWM 10
|
||||
+#define BCM2835_MBOX_CLOCK_ID_EMMC2 12
|
||||
|
||||
struct bcm2835_mbox_tag_get_clock_rate {
|
||||
struct bcm2835_mbox_tag_hdr tag_hdr;
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,51 +0,0 @@
|
||||
From 6e0d51199f2d089c84f45202587a9f17abd1ab0a Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Brugger <mbrugger@suse.com>
|
||||
Date: Wed, 10 Jul 2019 13:24:36 +0200
|
||||
Subject: [PATCH 09/17] mmc: bcm2835_sdhci: Add support for bcm2711 device
|
||||
|
||||
The bcm2711 has two emmc controller. The difference is the clocks
|
||||
they use. Add support for the second emmc contoller.
|
||||
|
||||
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
|
||||
---
|
||||
drivers/mmc/bcm2835_sdhci.c | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/mmc/bcm2835_sdhci.c b/drivers/mmc/bcm2835_sdhci.c
|
||||
index 08bddd410e..e68dec3be7 100644
|
||||
--- a/drivers/mmc/bcm2835_sdhci.c
|
||||
+++ b/drivers/mmc/bcm2835_sdhci.c
|
||||
@@ -178,12 +178,13 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
|
||||
fdt_addr_t base;
|
||||
int emmc_freq;
|
||||
int ret;
|
||||
+ int clock_id = (int)dev_get_driver_data(dev);
|
||||
|
||||
base = devfdt_get_addr(dev);
|
||||
if (base == FDT_ADDR_T_NONE)
|
||||
return -EINVAL;
|
||||
|
||||
- ret = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_EMMC);
|
||||
+ ret = bcm2835_get_mmc_clock(clock_id);
|
||||
if (ret < 0) {
|
||||
debug("%s: Failed to set MMC clock (err=%d)\n", __func__, ret);
|
||||
return ret;
|
||||
@@ -228,7 +229,14 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
|
||||
}
|
||||
|
||||
static const struct udevice_id bcm2835_sdhci_match[] = {
|
||||
- { .compatible = "brcm,bcm2835-sdhci" },
|
||||
+ {
|
||||
+ .compatible = "brcm,bcm2835-sdhci",
|
||||
+ .data = BCM2835_MBOX_CLOCK_ID_EMMC
|
||||
+ },
|
||||
+ {
|
||||
+ .compatible = "brcm,bcm2711-emmc2",
|
||||
+ .data = BCM2835_MBOX_CLOCK_ID_EMMC2
|
||||
+ },
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,63 +0,0 @@
|
||||
From c00c6048006ebe1822355b6ba4f2da8ccebb4786 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Fri, 12 Jul 2019 11:38:11 +0100
|
||||
Subject: [PATCH 10/17] arm: bcm283x: Define device base addresses for bcm2835
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
---
|
||||
arch/arm/mach-bcm283x/include/mach/sdhci.h | 4 ++++
|
||||
arch/arm/mach-bcm283x/include/mach/timer.h | 4 ++++
|
||||
arch/arm/mach-bcm283x/include/mach/wdog.h | 4 ++++
|
||||
3 files changed, 12 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/sdhci.h b/arch/arm/mach-bcm283x/include/mach/sdhci.h
|
||||
index 5cb6ec3340..262b016a1b 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/sdhci.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/sdhci.h
|
||||
@@ -7,7 +7,11 @@
|
||||
#define _BCM2835_SDHCI_H_
|
||||
|
||||
#ifndef CONFIG_BCM2835
|
||||
+#ifdef CONFIG_BCM2838
|
||||
+#define BCM2835_SDHCI_BASE 0xfe300000
|
||||
+#else
|
||||
#define BCM2835_SDHCI_BASE 0x3f300000
|
||||
+#endif
|
||||
#else
|
||||
#define BCM2835_SDHCI_BASE 0x20300000
|
||||
#endif
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/timer.h b/arch/arm/mach-bcm283x/include/mach/timer.h
|
||||
index 56b0c356bb..dc3ed98879 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/timer.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/timer.h
|
||||
@@ -7,7 +7,11 @@
|
||||
#define _BCM2835_TIMER_H
|
||||
|
||||
#ifndef CONFIG_BCM2835
|
||||
+#ifdef CONFIG_BCM2838
|
||||
+#define BCM2835_TIMER_PHYSADDR 0xfe003000
|
||||
+#else
|
||||
#define BCM2835_TIMER_PHYSADDR 0x3f003000
|
||||
+#endif
|
||||
#else
|
||||
#define BCM2835_TIMER_PHYSADDR 0x20003000
|
||||
#endif
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/wdog.h b/arch/arm/mach-bcm283x/include/mach/wdog.h
|
||||
index 99c88e5df7..ef040f385d 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/wdog.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/wdog.h
|
||||
@@ -7,7 +7,11 @@
|
||||
#define _BCM2835_WDOG_H
|
||||
|
||||
#ifndef CONFIG_BCM2835
|
||||
+#ifdef CONFIG_BCM2838
|
||||
+#define BCM2835_WDOG_PHYSADDR 0xfe100000
|
||||
+#else
|
||||
#define BCM2835_WDOG_PHYSADDR 0x3f100000
|
||||
+#endif
|
||||
#else
|
||||
#define BCM2835_WDOG_PHYSADDR 0x20100000
|
||||
#endif
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,36 +0,0 @@
|
||||
From d0357e50e58894eeb9dcbb1497689b410b667f08 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fvogt@suse.com>
|
||||
Date: Fri, 28 Jun 2019 14:14:01 +0200
|
||||
Subject: [PATCH 11/17] bcm2835 video: Bail out early if querying video
|
||||
information fails
|
||||
|
||||
Otherwise there is a crash with newer RPi firmware, see
|
||||
https://github.com/raspberrypi/firmware/issues/1157
|
||||
---
|
||||
drivers/video/bcm2835.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c
|
||||
index bc41090aed..4c7962cad8 100644
|
||||
--- a/drivers/video/bcm2835.c
|
||||
+++ b/drivers/video/bcm2835.c
|
||||
@@ -19,13 +19,15 @@ static int bcm2835_video_probe(struct udevice *dev)
|
||||
|
||||
debug("bcm2835: Query resolution...\n");
|
||||
ret = bcm2835_get_video_size(&w, &h);
|
||||
- if (ret)
|
||||
+ if (ret || w == 0 || h == 0)
|
||||
return -EIO;
|
||||
|
||||
debug("bcm2835: Setting up display for %d x %d\n", w, h);
|
||||
ret = bcm2835_set_video_params(&w, &h, 32, BCM2835_MBOX_PIXEL_ORDER_RGB,
|
||||
BCM2835_MBOX_ALPHA_MODE_IGNORED,
|
||||
&fb_base, &fb_size, &pitch);
|
||||
+ if(ret)
|
||||
+ return -EIO;
|
||||
|
||||
debug("bcm2835: Final resolution is %d x %d\n", w, h);
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,65 +0,0 @@
|
||||
From 2cbeae8a88c3f50e322a2434cbbf37bfe0b76d9a Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fvogt@suse.com>
|
||||
Date: Fri, 28 Jun 2019 14:25:53 +0200
|
||||
Subject: [PATCH 12/17] bcm283x mbox: Correctly wait for space to send
|
||||
|
||||
For sending, the second mailbox is used, but previously the status register of
|
||||
the first one was read.
|
||||
---
|
||||
arch/arm/mach-bcm283x/include/mach/mbox.h | 7 +++++--
|
||||
arch/arm/mach-bcm283x/mbox.c | 6 +++---
|
||||
2 files changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
index cad035e8cd..cd78966150 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
@@ -51,9 +51,12 @@
|
||||
struct bcm2835_mbox_regs {
|
||||
u32 read;
|
||||
u32 rsvd0[5];
|
||||
- u32 status;
|
||||
- u32 config;
|
||||
+ u32 status_r;
|
||||
+ u32 config_r;
|
||||
u32 write;
|
||||
+ u32 rsvd1[5];
|
||||
+ u32 status_w;
|
||||
+ u32 config_w;
|
||||
};
|
||||
|
||||
#define BCM2835_MBOX_STATUS_WR_FULL 0x80000000
|
||||
diff --git a/arch/arm/mach-bcm283x/mbox.c b/arch/arm/mach-bcm283x/mbox.c
|
||||
index 1642ebd103..f7483bf423 100644
|
||||
--- a/arch/arm/mach-bcm283x/mbox.c
|
||||
+++ b/arch/arm/mach-bcm283x/mbox.c
|
||||
@@ -27,7 +27,7 @@ int bcm2835_mbox_call_raw(u32 chan, u32 send, u32 *recv)
|
||||
/* Drain any stale responses */
|
||||
|
||||
for (;;) {
|
||||
- val = readl(®s->status);
|
||||
+ val = readl(®s->status_r);
|
||||
if (val & BCM2835_MBOX_STATUS_RD_EMPTY)
|
||||
break;
|
||||
if (get_timer(0) >= endtime) {
|
||||
@@ -40,7 +40,7 @@ int bcm2835_mbox_call_raw(u32 chan, u32 send, u32 *recv)
|
||||
/* Wait for space to send */
|
||||
|
||||
for (;;) {
|
||||
- val = readl(®s->status);
|
||||
+ val = readl(®s->status_w);
|
||||
if (!(val & BCM2835_MBOX_STATUS_WR_FULL))
|
||||
break;
|
||||
if (get_timer(0) >= endtime) {
|
||||
@@ -58,7 +58,7 @@ int bcm2835_mbox_call_raw(u32 chan, u32 send, u32 *recv)
|
||||
/* Wait for the response */
|
||||
|
||||
for (;;) {
|
||||
- val = readl(®s->status);
|
||||
+ val = readl(®s->status_r);
|
||||
if (!(val & BCM2835_MBOX_STATUS_RD_EMPTY))
|
||||
break;
|
||||
if (get_timer(0) >= endtime) {
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,63 +0,0 @@
|
||||
From 21a3e9ed27f83d83851cbee57ee6d83a58ef2775 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Fri, 12 Jul 2019 11:55:52 +0100
|
||||
Subject: [PATCH 13/17] config: rpi4: Add defconfig for rpi4-32
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
---
|
||||
configs/rpi_4_32b_defconfig | 43 +++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 43 insertions(+)
|
||||
create mode 100644 configs/rpi_4_32b_defconfig
|
||||
|
||||
diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..9f2b805d0f
|
||||
--- /dev/null
|
||||
+++ b/configs/rpi_4_32b_defconfig
|
||||
@@ -0,0 +1,43 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_ARCH_BCM283X=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x00008000
|
||||
+CONFIG_TARGET_RPI_4_32B=y
|
||||
+CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
+CONFIG_DISTRO_DEFAULTS=y
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_OF_BOARD_SETUP=y
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
+# CONFIG_DISPLAY_CPUINFO is not set
|
||||
+# CONFIG_DISPLAY_BOARDINFO is not set
|
||||
+CONFIG_SYS_PROMPT="U-Boot> "
|
||||
+# CONFIG_CMD_FLASH is not set
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+CONFIG_CMD_FS_UUID=y
|
||||
+CONFIG_OF_EMBED=y
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="bcm2838-rpi-4-b"
|
||||
+CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
+CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
+CONFIG_DM_KEYBOARD=y
|
||||
+CONFIG_DM_MMC=y
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_BCM2835=y
|
||||
+CONFIG_PHYLIB=y
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_PINCTRL=y
|
||||
+# CONFIG_PINCTRL_GENERIC is not set
|
||||
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_DM_USB=y
|
||||
+CONFIG_USB_DWC2=y
|
||||
+CONFIG_USB_KEYBOARD=y
|
||||
+CONFIG_USB_HOST_ETHER=y
|
||||
+CONFIG_USB_ETHER_LAN78XX=y
|
||||
+CONFIG_USB_ETHER_SMSC95XX=y
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
+CONFIG_CONSOLE_SCROLL_LINES=10
|
||||
+CONFIG_PHYS_TO_BUS=y
|
||||
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,45 +0,0 @@
|
||||
From 07801a834dfe2d53827ad5a61fe3d59776e0c5b1 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Fri, 12 Jul 2019 11:58:42 +0100
|
||||
Subject: [PATCH 14/17] dts: bcm2838-rpi-4-b: Use the emmc2 interface for sdhci
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
---
|
||||
arch/arm/dts/bcm2838-rpi-4-b.dts | 16 ++++++----------
|
||||
1 file changed, 6 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/dts/bcm2838-rpi-4-b.dts b/arch/arm/dts/bcm2838-rpi-4-b.dts
|
||||
index 07e9a78e8d..168179c17c 100644
|
||||
--- a/arch/arm/dts/bcm2838-rpi-4-b.dts
|
||||
+++ b/arch/arm/dts/bcm2838-rpi-4-b.dts
|
||||
@@ -30,21 +30,17 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-/* SDHCI is used to control the SDIO for wireless */
|
||||
&sdhci {
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&emmc_gpio34>;
|
||||
- status = "okay";
|
||||
- bus-width = <4>;
|
||||
- non-removable;
|
||||
+ status = "disabled";
|
||||
};
|
||||
|
||||
-/* SDHOST is used to drive the SD card */
|
||||
&sdhost {
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&sdhost_gpio48>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&emmc2 {
|
||||
+ compatible = "brcm,bcm2835-sdhci";
|
||||
status = "okay";
|
||||
- bus-width = <4>;
|
||||
};
|
||||
|
||||
&gpio {
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,58 +0,0 @@
|
||||
From bfa71106beb565c2f3bc2f5f948477e0d3801285 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Fri, 12 Jul 2019 14:27:31 +0100
|
||||
Subject: [PATCH 15/17] rpi: Add memory map for bcm2838
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
---
|
||||
board/raspberrypi/rpi/rpi.c | 27 ++++++++++++++++++++++++---
|
||||
1 file changed, 24 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
|
||||
index 6d6f1ef39a..4242ef35a4 100644
|
||||
--- a/board/raspberrypi/rpi/rpi.c
|
||||
+++ b/board/raspberrypi/rpi/rpi.c
|
||||
@@ -249,7 +249,8 @@ static uint32_t rev_type;
|
||||
static const struct rpi_model *model;
|
||||
|
||||
#ifdef CONFIG_ARM64
|
||||
-static struct mm_region bcm2837_mem_map[] = {
|
||||
+#ifndef CONFIG_BCM2838
|
||||
+static struct mm_region bcm283x_mem_map[] = {
|
||||
{
|
||||
.virt = 0x00000000UL,
|
||||
.phys = 0x00000000UL,
|
||||
@@ -268,8 +269,28 @@ static struct mm_region bcm2837_mem_map[] = {
|
||||
0,
|
||||
}
|
||||
};
|
||||
-
|
||||
-struct mm_region *mem_map = bcm2837_mem_map;
|
||||
+#else
|
||||
+static struct mm_region bcm283x_mem_map[] = {
|
||||
+ {
|
||||
+ .virt = 0x00000000UL,
|
||||
+ .phys = 0x00000000UL,
|
||||
+ .size = 0xf3000000UL,
|
||||
+ .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
||||
+ PTE_BLOCK_INNER_SHARE
|
||||
+ }, {
|
||||
+ .virt = 0xfe000000UL,
|
||||
+ .phys = 0xfe000000UL,
|
||||
+ .size = 0x01800000UL,
|
||||
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
+ PTE_BLOCK_NON_SHARE |
|
||||
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||
+ }, {
|
||||
+ /* List terminator */
|
||||
+ 0,
|
||||
+ }
|
||||
+};
|
||||
+#endif
|
||||
+struct mm_region *mem_map = bcm283x_mem_map;
|
||||
#endif
|
||||
|
||||
int dram_init(void)
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,52 +0,0 @@
|
||||
From c73747171c8a91e204405e144d0906c439d3bff3 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Mon, 15 Jul 2019 14:05:25 +0100
|
||||
Subject: [PATCH 16/17] configs: rpi4: Remove DWC2 and USB_ETHER configs
|
||||
|
||||
dwc2 is only connected to the usb-c port so we don't have any real
|
||||
benefit in having it enabled in uboot.
|
||||
|
||||
Also, the GENET interface is connected directly to the SoC so we can
|
||||
drop the USB_ETHER configs.
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
---
|
||||
configs/rpi_4_32b_defconfig | 3 ---
|
||||
configs/rpi_4_defconfig | 3 ---
|
||||
2 files changed, 6 deletions(-)
|
||||
|
||||
diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
|
||||
index 9f2b805d0f..b71a14735a 100644
|
||||
--- a/configs/rpi_4_32b_defconfig
|
||||
+++ b/configs/rpi_4_32b_defconfig
|
||||
@@ -31,11 +31,8 @@ CONFIG_PINCTRL=y
|
||||
# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_DM_USB=y
|
||||
-CONFIG_USB_DWC2=y
|
||||
CONFIG_USB_KEYBOARD=y
|
||||
CONFIG_USB_HOST_ETHER=y
|
||||
-CONFIG_USB_ETHER_LAN78XX=y
|
||||
-CONFIG_USB_ETHER_SMSC95XX=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_CONSOLE_SCROLL_LINES=10
|
||||
diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
|
||||
index 83d1bd0cdb..b27e3f823b 100644
|
||||
--- a/configs/rpi_4_defconfig
|
||||
+++ b/configs/rpi_4_defconfig
|
||||
@@ -31,11 +31,8 @@ CONFIG_PINCTRL=y
|
||||
# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_DM_USB=y
|
||||
-CONFIG_USB_DWC2=y
|
||||
CONFIG_USB_KEYBOARD=y
|
||||
CONFIG_USB_HOST_ETHER=y
|
||||
-CONFIG_USB_ETHER_LAN78XX=y
|
||||
-CONFIG_USB_ETHER_SMSC95XX=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_CONSOLE_SCROLL_LINES=10
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,27 +0,0 @@
|
||||
From 62b6e39a53c56a9085aeab1b47b5cc6020fcdb6f Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Mon, 15 Jul 2019 14:11:10 +0100
|
||||
Subject: [PATCH 17/17] dts: bcm2838-rpi-4-b: Use the emmc2/2811 compatible
|
||||
string for SDHCI
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
---
|
||||
arch/arm/dts/bcm2838-rpi-4-b.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/dts/bcm2838-rpi-4-b.dts b/arch/arm/dts/bcm2838-rpi-4-b.dts
|
||||
index 168179c17c..b7241be3fd 100644
|
||||
--- a/arch/arm/dts/bcm2838-rpi-4-b.dts
|
||||
+++ b/arch/arm/dts/bcm2838-rpi-4-b.dts
|
||||
@@ -39,7 +39,7 @@
|
||||
};
|
||||
|
||||
&emmc2 {
|
||||
- compatible = "brcm,bcm2835-sdhci";
|
||||
+ compatible = "brcm,bcm2711-emmc2";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@@ -1,10 +1,6 @@
|
||||
# CONFIG_USB_STORAGE is not set
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
CONFIG_CMD_FILEENV=y
|
||||
CONFIG_ENV_IS_NOWHERE=Y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_GENERIC=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
|
@@ -3,7 +3,7 @@ CONFIG_DISTRO_DEFAULTS=y
|
||||
# CONFIG_EXPERT is not set
|
||||
# CONFIG_DISPLAY_CPUINFO is not set
|
||||
# CONFIG_DISPLAY_BOARDINFO is not set
|
||||
CONFIG_BOOTDELAY=2
|
||||
CONFIG_BOOTDELAY=-2
|
||||
CONFIG_SYS_PROMPT="HassOS> "
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_EFI_PARTITION=y
|
||||
@@ -11,6 +11,7 @@ CONFIG_FS_EXT4=y
|
||||
CONFIG_FS_FAT=y
|
||||
# CONFIG_ENV_IS_IN_FAT is not set
|
||||
# CONFIG_ENV_IS_IN_EXT4 is not set
|
||||
CONFIG_CONSOLE_SCROLL_LINES=10
|
||||
CONFIG_ENV_IS_NOWHERE=Y
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
CONFIG_CMD_SETEXPR=y
|
||||
CONFIG_CMD_FILEENV=y
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user