ARM: DT and driver fixes for v5.6
For the devicetree files, there are a total of 20 patches, almost entirely for 32-bit machines: - The Allwinner/sun9i r40 SoC dtsi file contains a number of issues, both for correctness and for style that are addressed in separate patches. This causes most of the changed lines of the DT updates this time. - More Allwinner updates fixing the identification of the security system on sun8i/A33, a recent regression of the A83t ethernet, and a few board specific issues on the TBS-A711 macine. - Several bug fixes for OMAP dts files, most notably fixing the timings for the NAND flash on the Nokia N900 that regressed a while ago after the move to configuring them from DT. Some other OMAPs now set the correct dma limits on the L3 bus, and a regression fix addresses lost Ethernet on dm814x - One incorrect setting in the newly added Raspberry Pi Zero W that may cause issues with the SD card controller. - A missing property on the bcm2835 firmware node caused incorrect DMA settings. - An old bug on the oxnas platform causing spurious interrupts is finally addressed. - A regression on the Exynos Midas board broke the OLED panel power supply. - The i.MX6 phycore SoM specified the wrong voltage for the SoC, this is now set to the values from the datasheet. - Some 64-bit machines use a deprecated string to identify the PSCI firmware. There are also several small code fixes addressing mostly serious issues: - Fix the sunxi rsb bus access to no longer return incorrect data when mixing 8 and 16 bit I/O. - Fix a suspend/resume regression on the OMAP2+ lcdc from a missing quirk in the ti-sysc driver - Fix a NULL pointer access from a race in the fsl dpio driver - Fix a v5.5 regression in the exynos-chipid driver that caused an invalid error code probing the device on non-exynos platforms - Fix an out-of-bounds access in the AMD TEE driver -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAl5+LG0ACgkQmmx57+YA GNkZhhAAtWTv4sRf2faVzjAngWTs1LXuVpoX8UT2JXOMvY20Y1tQ6YzH8bkJahIr oqPsEFOANkDGON+72+7YCFUVuT2rle9xPLUpdCv3F1Q3TAP8jslkvI/7tK21UKnG OAsMaJdKeKg4yK+KJnh7OtOBvSJzJ0YUU8BCFs8rsSeTkMdPDz74YbC+jV974SVD eCYj/Nih/wt1tG+q/W0tk0LdUtAsgQWbn3WFOrbQ0SSu8i+SVbulBc2oLsltO7VX TFhSRimPAhxGcHJcCoD/enNuHGwKWFkGdQ7jGU3138ZP4PUztNMYKVgZmeUAH1m1 HXlZkpCSIDUjydEAPFJPJMGJumoKvPIf9kwq9f0ceukR8DKWW3suq/gl6C/AJcHE K21ofuYftFZ13QXI3khv9SaBKSesEZ1qCVOj4jHNwunAjOc2+sNHdceO4rlD+N5M xyIG/U3rO/6VOO7ex32q39x8vCDu2TFi4nxTPQTKIslKj55DgWLayhIyBPiEyo0R UMopcoBOrw9LL2AA+ugTHU9CyXW1G3CMsUY/V+i2sZLElsJuVL3kvWaudttXzjei O3yV9J8MNTTCPyN981nu+iBAoanqbRP+JZJf0dC2kj+fjB3N9Q8Bziy6XmN3P9Kv 7qvuSmG5YN3bc3oQKlaUPUWJVqYnsYVEjWh2SqhOmLn5WhK6F5c= =31+Z -----END PGP SIGNATURE----- Merge tag 'arm-soc-fixes-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull ARM DT and driver fixes from Arnd Bergmann: "For the devicetree files, there are a total of 20 patches, almost entirely for 32-bit machines: - The Allwinner/sun9i r40 SoC dtsi file contains a number of issues, both for correctness and for style that are addressed in separate patches. This causes most of the changed lines of the DT updates this time. - More Allwinner updates fixing the identification of the security system on sun8i/A33, a recent regression of the A83t ethernet, and a few board specific issues on the TBS-A711 macine. - Several bug fixes for OMAP dts files, most notably fixing the timings for the NAND flash on the Nokia N900 that regressed a while ago after the move to configuring them from DT. Some other OMAPs now set the correct dma limits on the L3 bus, and a regression fix addresses lost Ethernet on dm814x - One incorrect setting in the newly added Raspberry Pi Zero W that may cause issues with the SD card controller. - A missing property on the bcm2835 firmware node caused incorrect DMA settings. - An old bug on the oxnas platform causing spurious interrupts is finally addressed. - A regression on the Exynos Midas board broke the OLED panel power supply. - The i.MX6 phycore SoM specified the wrong voltage for the SoC, this is now set to the values from the datasheet. - Some 64-bit machines use a deprecated string to identify the PSCI firmware. There are also several small code fixes addressing mostly serious issues: - Fix the sunxi rsb bus access to no longer return incorrect data when mixing 8 and 16 bit I/O. - Fix a suspend/resume regression on the OMAP2+ lcdc from a missing quirk in the ti-sysc driver - Fix a NULL pointer access from a race in the fsl dpio driver - Fix a v5.5 regression in the exynos-chipid driver that caused an invalid error code probing the device on non-exynos platforms - Fix an out-of-bounds access in the AMD TEE driver" * tag 'arm-soc-fixes-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits) soc: samsung: chipid: Fix return value on non-Exynos platforms arm64: dts: Fix leftover entry-methods for PSCI ARM: dts: exynos: Fix regulator node aliasing on Midas-based boards ARM: dts: oxnas: Fix clear-mask property ARM: dts: bcm283x: Fix vc4's firmware bus DMA limitations ARM: dts: omap5: Add bus_dma_limit for L3 bus ARM: dts: omap4-droid4: Fix lost touchscreen interrupts ARM: dts: dra7: Add bus_dma_limit for L3 bus ARM: bcm2835-rpi-zero-w: Add missing pinctrl name ARM: dts: sun8i: a33: add the new SS compatible dt-bindings: crypto: add new compatible for A33 SS ARM: dts: sun8i: r40: Move SPI device nodes based on address order ARM: dts: sun8i: r40: Fix register base address for SPI2 and SPI3 ARM: dts: sun8i: r40: Move AHCI device node based on address order ARM: dts: imx6: phycore-som: fix arm and soc minimum voltage soc: fsl: dpio: register dpio irq handlers after dpio create tee: amdtee: out of bounds read in find_session() ARM: dts: N900: fix onenand timings bus: ti-sysc: Fix quirk flags for lcdc on am335x ARM: dts: Fix dm814x Ethernet by changing to use rgmii-id mode ...
This commit is contained in:
commit
32db9f10d5
|
@ -23,6 +23,8 @@ properties:
|
|||
- items:
|
||||
- const: allwinner,sun7i-a20-crypto
|
||||
- const: allwinner,sun4i-a10-crypto
|
||||
- items:
|
||||
- const: allwinner,sun8i-a33-crypto
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
|
@ -112,6 +112,7 @@ &hdmi {
|
|||
&sdhci {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>;
|
||||
bus-width = <4>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
|
|
|
@ -15,6 +15,7 @@ soc {
|
|||
firmware: firmware {
|
||||
compatible = "raspberrypi,bcm2835-firmware", "simple-bus";
|
||||
mboxes = <&mailbox>;
|
||||
dma-ranges;
|
||||
};
|
||||
|
||||
power: power {
|
||||
|
|
|
@ -24,12 +24,12 @@ vmmcsd_fixed: fixedregulator0 {
|
|||
|
||||
&cpsw_emac0 {
|
||||
phy-handle = <ðphy0>;
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy-handle = <ðphy1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
};
|
||||
|
||||
&davinci_mdio {
|
||||
|
|
|
@ -33,12 +33,12 @@ vmmcsd_fixed: fixedregulator0 {
|
|||
|
||||
&cpsw_emac0 {
|
||||
phy-handle = <ðphy0>;
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy-handle = <ðphy1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
};
|
||||
|
||||
&davinci_mdio {
|
||||
|
|
|
@ -24,12 +24,12 @@ vmmcsd_fixed: fixedregulator0 {
|
|||
|
||||
&cpsw_emac0 {
|
||||
phy-handle = <ðphy0>;
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy-handle = <ðphy1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
};
|
||||
|
||||
&davinci_mdio {
|
||||
|
|
|
@ -148,6 +148,7 @@ ocp {
|
|||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x0 0xc0000000>;
|
||||
dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>;
|
||||
ti,hwmods = "l3_main_1", "l3_main_2";
|
||||
reg = <0x0 0x44000000 0x0 0x1000000>,
|
||||
<0x0 0x45000000 0x0 0x1000>;
|
||||
|
|
|
@ -33,7 +33,7 @@ flash-led {
|
|||
};
|
||||
};
|
||||
|
||||
lcd_vdd3_reg: voltage-regulator-6 {
|
||||
lcd_vdd3_reg: voltage-regulator-7 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "LCD_VDD_2.2V";
|
||||
regulator-min-microvolt = <2200000>;
|
||||
|
@ -42,7 +42,7 @@ lcd_vdd3_reg: voltage-regulator-6 {
|
|||
enable-active-high;
|
||||
};
|
||||
|
||||
ps_als_reg: voltage-regulator-7 {
|
||||
ps_als_reg: voltage-regulator-8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "LED_A_3.0V";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
|
|
|
@ -13,7 +13,7 @@ memory@40000000 {
|
|||
|
||||
/* bootargs are passed in by bootloader */
|
||||
|
||||
cam_vdda_reg: voltage-regulator-6 {
|
||||
cam_vdda_reg: voltage-regulator-7 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "CAM_SENSOR_CORE_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
|
|
|
@ -112,7 +112,7 @@ watchdog {
|
|||
regulators {
|
||||
vdd_arm: buck1 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-min-microvolt = <730000>;
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <1380000>;
|
||||
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
||||
regulator-always-on;
|
||||
|
@ -120,7 +120,7 @@ vdd_arm: buck1 {
|
|||
|
||||
vdd_soc: buck2 {
|
||||
regulator-name = "vdd_soc";
|
||||
regulator-min-microvolt = <730000>;
|
||||
regulator-min-microvolt = <1150000>;
|
||||
regulator-max-microvolt = <1380000>;
|
||||
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
||||
regulator-always-on;
|
||||
|
|
|
@ -429,7 +429,7 @@ touchscreen@4a {
|
|||
reset-gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>; /* gpio173 */
|
||||
|
||||
/* gpio_183 with sys_nirq2 pad as wakeup */
|
||||
interrupts-extended = <&gpio6 23 IRQ_TYPE_EDGE_FALLING>,
|
||||
interrupts-extended = <&gpio6 23 IRQ_TYPE_LEVEL_LOW>,
|
||||
<&omap4_pmx_core 0x160>;
|
||||
interrupt-names = "irq", "wakeup";
|
||||
wakeup-source;
|
||||
|
|
|
@ -854,34 +854,46 @@ onenand@0,0 {
|
|||
compatible = "ti,omap2-onenand";
|
||||
reg = <0 0 0x20000>; /* CS0, offset 0, IO size 128K */
|
||||
|
||||
/*
|
||||
* These timings are based on CONFIG_OMAP_GPMC_DEBUG=y reported
|
||||
* bootloader set values when booted with v5.1
|
||||
* (OneNAND Manufacturer: Samsung):
|
||||
*
|
||||
* cs0 GPMC_CS_CONFIG1: 0xfb001202
|
||||
* cs0 GPMC_CS_CONFIG2: 0x00111100
|
||||
* cs0 GPMC_CS_CONFIG3: 0x00020200
|
||||
* cs0 GPMC_CS_CONFIG4: 0x11001102
|
||||
* cs0 GPMC_CS_CONFIG5: 0x03101616
|
||||
* cs0 GPMC_CS_CONFIG6: 0x90060000
|
||||
*/
|
||||
gpmc,sync-read;
|
||||
gpmc,sync-write;
|
||||
gpmc,burst-length = <16>;
|
||||
gpmc,burst-read;
|
||||
gpmc,burst-wrap;
|
||||
gpmc,burst-write;
|
||||
gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */
|
||||
gpmc,mux-add-data = <2>; /* GPMC_MUX_AD */
|
||||
gpmc,device-width = <2>;
|
||||
gpmc,mux-add-data = <2>;
|
||||
gpmc,cs-on-ns = <0>;
|
||||
gpmc,cs-rd-off-ns = <87>;
|
||||
gpmc,cs-wr-off-ns = <87>;
|
||||
gpmc,cs-rd-off-ns = <102>;
|
||||
gpmc,cs-wr-off-ns = <102>;
|
||||
gpmc,adv-on-ns = <0>;
|
||||
gpmc,adv-rd-off-ns = <10>;
|
||||
gpmc,adv-wr-off-ns = <10>;
|
||||
gpmc,oe-on-ns = <15>;
|
||||
gpmc,oe-off-ns = <87>;
|
||||
gpmc,adv-rd-off-ns = <12>;
|
||||
gpmc,adv-wr-off-ns = <12>;
|
||||
gpmc,oe-on-ns = <12>;
|
||||
gpmc,oe-off-ns = <102>;
|
||||
gpmc,we-on-ns = <0>;
|
||||
gpmc,we-off-ns = <87>;
|
||||
gpmc,rd-cycle-ns = <112>;
|
||||
gpmc,wr-cycle-ns = <112>;
|
||||
gpmc,access-ns = <81>;
|
||||
gpmc,page-burst-access-ns = <15>;
|
||||
gpmc,we-off-ns = <102>;
|
||||
gpmc,rd-cycle-ns = <132>;
|
||||
gpmc,wr-cycle-ns = <132>;
|
||||
gpmc,access-ns = <96>;
|
||||
gpmc,page-burst-access-ns = <18>;
|
||||
gpmc,bus-turnaround-ns = <0>;
|
||||
gpmc,cycle2cycle-delay-ns = <0>;
|
||||
gpmc,wait-monitoring-ns = <0>;
|
||||
gpmc,clk-activation-ns = <5>;
|
||||
gpmc,wr-data-mux-bus-ns = <30>;
|
||||
gpmc,wr-access-ns = <81>;
|
||||
gpmc,clk-activation-ns = <6>;
|
||||
gpmc,wr-data-mux-bus-ns = <36>;
|
||||
gpmc,wr-access-ns = <96>;
|
||||
gpmc,sync-clk-ps = <15000>;
|
||||
|
||||
/*
|
||||
|
|
|
@ -143,6 +143,7 @@ ocp {
|
|||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0 0xc0000000>;
|
||||
dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>;
|
||||
ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
|
||||
reg = <0 0x44000000 0 0x2000>,
|
||||
<0 0x44800000 0 0x3000>,
|
||||
|
|
|
@ -323,8 +323,8 @@ intc: interrupt-controller@0 {
|
|||
interrupt-controller;
|
||||
reg = <0 0x200>;
|
||||
#interrupt-cells = <1>;
|
||||
valid-mask = <0xFFFFFFFF>;
|
||||
clear-mask = <0>;
|
||||
valid-mask = <0xffffffff>;
|
||||
clear-mask = <0xffffffff>;
|
||||
};
|
||||
|
||||
timer0: timer@200 {
|
||||
|
|
|
@ -240,8 +240,8 @@ intc: interrupt-controller@0 {
|
|||
reg = <0 0x200>;
|
||||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#interrupt-cells = <1>;
|
||||
valid-mask = <0xFFFFFFFF>;
|
||||
clear-mask = <0>;
|
||||
valid-mask = <0xffffffff>;
|
||||
clear-mask = <0xffffffff>;
|
||||
};
|
||||
|
||||
timer0: timer@200 {
|
||||
|
|
|
@ -215,7 +215,7 @@ video-codec@1c0e000 {
|
|||
};
|
||||
|
||||
crypto: crypto-engine@1c15000 {
|
||||
compatible = "allwinner,sun4i-a10-crypto";
|
||||
compatible = "allwinner,sun8i-a33-crypto";
|
||||
reg = <0x01c15000 0x1000>;
|
||||
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SS>, <&ccu CLK_SS>;
|
||||
|
|
|
@ -374,8 +374,8 @@ ®_dldo2 {
|
|||
};
|
||||
|
||||
®_dldo3 {
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vdd-csi";
|
||||
};
|
||||
|
||||
|
@ -498,7 +498,8 @@ &usb_otg {
|
|||
};
|
||||
|
||||
&usbphy {
|
||||
usb0_id_det-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
|
||||
usb0_id_det-gpios = <&pio 7 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH11 */
|
||||
usb0_vbus_power-supply = <&usb_power_supply>;
|
||||
usb0_vbus-supply = <®_drivevbus>;
|
||||
usb1_vbus-supply = <®_vmain>;
|
||||
usb2_vbus-supply = <®_vmain>;
|
||||
|
|
|
@ -1006,10 +1006,10 @@ emac: ethernet@1c30000 {
|
|||
reg = <0x01c30000 0x104>;
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq";
|
||||
resets = <&ccu CLK_BUS_EMAC>;
|
||||
reset-names = "stmmaceth";
|
||||
clocks = <&ccu RST_BUS_EMAC>;
|
||||
clocks = <&ccu CLK_BUS_EMAC>;
|
||||
clock-names = "stmmaceth";
|
||||
resets = <&ccu RST_BUS_EMAC>;
|
||||
reset-names = "stmmaceth";
|
||||
status = "disabled";
|
||||
|
||||
mdio: mdio {
|
||||
|
|
|
@ -181,6 +181,32 @@ nmi_intc: interrupt-controller@1c00030 {
|
|||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
spi0: spi@1c05000 {
|
||||
compatible = "allwinner,sun8i-r40-spi",
|
||||
"allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c05000 0x1000>;
|
||||
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
|
||||
clock-names = "ahb", "mod";
|
||||
resets = <&ccu RST_BUS_SPI0>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
spi1: spi@1c06000 {
|
||||
compatible = "allwinner,sun8i-r40-spi",
|
||||
"allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c06000 0x1000>;
|
||||
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
|
||||
clock-names = "ahb", "mod";
|
||||
resets = <&ccu RST_BUS_SPI1>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
csi0: csi@1c09000 {
|
||||
compatible = "allwinner,sun8i-r40-csi0",
|
||||
"allwinner,sun7i-a20-csi0";
|
||||
|
@ -290,6 +316,29 @@ crypto: crypto@1c15000 {
|
|||
resets = <&ccu RST_BUS_CE>;
|
||||
};
|
||||
|
||||
spi2: spi@1c17000 {
|
||||
compatible = "allwinner,sun8i-r40-spi",
|
||||
"allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c17000 0x1000>;
|
||||
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPI2>, <&ccu CLK_SPI2>;
|
||||
clock-names = "ahb", "mod";
|
||||
resets = <&ccu RST_BUS_SPI2>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
ahci: sata@1c18000 {
|
||||
compatible = "allwinner,sun8i-r40-ahci";
|
||||
reg = <0x01c18000 0x1000>;
|
||||
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SATA>, <&ccu CLK_SATA>;
|
||||
resets = <&ccu RST_BUS_SATA>;
|
||||
reset-names = "ahci";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ehci1: usb@1c19000 {
|
||||
compatible = "allwinner,sun8i-r40-ehci", "generic-ehci";
|
||||
reg = <0x01c19000 0x100>;
|
||||
|
@ -336,6 +385,19 @@ ohci2: usb@1c1c400 {
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
spi3: spi@1c1f000 {
|
||||
compatible = "allwinner,sun8i-r40-spi",
|
||||
"allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c1f000 0x1000>;
|
||||
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPI3>, <&ccu CLK_SPI3>;
|
||||
clock-names = "ahb", "mod";
|
||||
resets = <&ccu RST_BUS_SPI3>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
ccu: clock@1c20000 {
|
||||
compatible = "allwinner,sun8i-r40-ccu";
|
||||
reg = <0x01c20000 0x400>;
|
||||
|
@ -653,69 +715,6 @@ i2c4: i2c@1c2c000 {
|
|||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
spi0: spi@1c05000 {
|
||||
compatible = "allwinner,sun8i-r40-spi",
|
||||
"allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c05000 0x1000>;
|
||||
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
|
||||
clock-names = "ahb", "mod";
|
||||
resets = <&ccu RST_BUS_SPI0>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
spi1: spi@1c06000 {
|
||||
compatible = "allwinner,sun8i-r40-spi",
|
||||
"allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c06000 0x1000>;
|
||||
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
|
||||
clock-names = "ahb", "mod";
|
||||
resets = <&ccu RST_BUS_SPI1>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
spi2: spi@1c07000 {
|
||||
compatible = "allwinner,sun8i-r40-spi",
|
||||
"allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c07000 0x1000>;
|
||||
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPI2>, <&ccu CLK_SPI2>;
|
||||
clock-names = "ahb", "mod";
|
||||
resets = <&ccu RST_BUS_SPI2>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
spi3: spi@1c0f000 {
|
||||
compatible = "allwinner,sun8i-r40-spi",
|
||||
"allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c0f000 0x1000>;
|
||||
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPI3>, <&ccu CLK_SPI3>;
|
||||
clock-names = "ahb", "mod";
|
||||
resets = <&ccu RST_BUS_SPI3>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
ahci: sata@1c18000 {
|
||||
compatible = "allwinner,sun8i-r40-ahci";
|
||||
reg = <0x01c18000 0x1000>;
|
||||
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SATA>, <&ccu CLK_SATA>;
|
||||
resets = <&ccu RST_BUS_SATA>;
|
||||
reset-names = "ahci";
|
||||
status = "disabled";
|
||||
|
||||
};
|
||||
|
||||
gmac: ethernet@1c50000 {
|
||||
compatible = "allwinner,sun8i-r40-gmac";
|
||||
syscon = <&ccu>;
|
||||
|
|
|
@ -53,7 +53,7 @@ idle-states {
|
|||
* PSCI node is not added default, U-boot will add missing
|
||||
* parts if it determines to use PSCI.
|
||||
*/
|
||||
entry-method = "arm,psci";
|
||||
entry-method = "psci";
|
||||
|
||||
CPU_PW20: cpu-pw20 {
|
||||
compatible = "arm,idle-state";
|
||||
|
|
|
@ -108,7 +108,7 @@ CPU7: cpu@700 {
|
|||
};
|
||||
|
||||
idle-states {
|
||||
entry-method = "arm,psci";
|
||||
entry-method = "psci";
|
||||
CORE_PD: core-pd {
|
||||
compatible = "arm,idle-state";
|
||||
entry-latency-us = <4000>;
|
||||
|
|
|
@ -345,7 +345,7 @@ static int sunxi_rsb_read(struct sunxi_rsb *rsb, u8 rtaddr, u8 addr,
|
|||
if (ret)
|
||||
goto unlock;
|
||||
|
||||
*buf = readl(rsb->regs + RSB_DATA);
|
||||
*buf = readl(rsb->regs + RSB_DATA) & GENMASK(len * 8 - 1, 0);
|
||||
|
||||
unlock:
|
||||
mutex_unlock(&rsb->lock);
|
||||
|
|
|
@ -1266,6 +1266,8 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = {
|
|||
SYSC_QUIRK("gpu", 0x50000000, 0x14, -1, -1, 0x00010201, 0xffffffff, 0),
|
||||
SYSC_QUIRK("gpu", 0x50000000, 0xfe00, 0xfe10, -1, 0x40000000 , 0xffffffff,
|
||||
SYSC_MODULE_QUIRK_SGX),
|
||||
SYSC_QUIRK("lcdc", 0, 0, 0x54, -1, 0x4f201000, 0xffffffff,
|
||||
SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY),
|
||||
SYSC_QUIRK("usb_otg_hs", 0, 0x400, 0x404, 0x408, 0x00000050,
|
||||
0xffffffff, SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY),
|
||||
SYSC_QUIRK("usb_otg_hs", 0, 0, 0x10, -1, 0x4ea2080d, 0xffffffff,
|
||||
|
@ -1294,7 +1296,6 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = {
|
|||
SYSC_QUIRK("gpu", 0, 0xfe00, 0xfe10, -1, 0x40000000 , 0xffffffff, 0),
|
||||
SYSC_QUIRK("hsi", 0, 0, 0x10, 0x14, 0x50043101, 0xffffffff, 0),
|
||||
SYSC_QUIRK("iss", 0, 0, 0x10, -1, 0x40000101, 0xffffffff, 0),
|
||||
SYSC_QUIRK("lcdc", 0, 0, 0x54, -1, 0x4f201000, 0xffffffff, 0),
|
||||
SYSC_QUIRK("mcasp", 0, 0, 0x4, -1, 0x44306302, 0xffffffff, 0),
|
||||
SYSC_QUIRK("mcasp", 0, 0, 0x4, -1, 0x44307b02, 0xffffffff, 0),
|
||||
SYSC_QUIRK("mcbsp", 0, -1, 0x8c, -1, 0, 0, 0),
|
||||
|
|
|
@ -233,10 +233,6 @@ static int dpaa2_dpio_probe(struct fsl_mc_device *dpio_dev)
|
|||
goto err_allocate_irqs;
|
||||
}
|
||||
|
||||
err = register_dpio_irq_handlers(dpio_dev, desc.cpu);
|
||||
if (err)
|
||||
goto err_register_dpio_irq;
|
||||
|
||||
priv->io = dpaa2_io_create(&desc, dev);
|
||||
if (!priv->io) {
|
||||
dev_err(dev, "dpaa2_io_create failed\n");
|
||||
|
@ -244,6 +240,10 @@ static int dpaa2_dpio_probe(struct fsl_mc_device *dpio_dev)
|
|||
goto err_dpaa2_io_create;
|
||||
}
|
||||
|
||||
err = register_dpio_irq_handlers(dpio_dev, desc.cpu);
|
||||
if (err)
|
||||
goto err_register_dpio_irq;
|
||||
|
||||
dev_info(dev, "probed\n");
|
||||
dev_dbg(dev, " receives_notifications = %d\n",
|
||||
desc.receives_notifications);
|
||||
|
|
|
@ -59,7 +59,7 @@ static int __init exynos_chipid_early_init(void)
|
|||
syscon = of_find_compatible_node(NULL, NULL,
|
||||
"samsung,exynos4210-chipid");
|
||||
if (!syscon)
|
||||
return ENODEV;
|
||||
return -ENODEV;
|
||||
|
||||
regmap = device_node_to_regmap(syscon);
|
||||
of_node_put(syscon);
|
||||
|
|
|
@ -139,6 +139,9 @@ static struct amdtee_session *find_session(struct amdtee_context_data *ctxdata,
|
|||
u32 index = get_session_index(session);
|
||||
struct amdtee_session *sess;
|
||||
|
||||
if (index >= TEE_NUM_SESSIONS)
|
||||
return NULL;
|
||||
|
||||
list_for_each_entry(sess, &ctxdata->sess_list, list_node)
|
||||
if (ta_handle == sess->ta_handle &&
|
||||
test_bit(index, sess->sess_mask))
|
||||
|
|
Loading…
Reference in New Issue
Block a user