ARM: SoC driver updates
Misc driver updates for platforms, many of them power related.
- Rockchip adds power domain support for rk3066 and rk3188
- Amlogic adds a power measurement driver
- Allwinner adds SRAM support for three platforms (F1C100, H5, A64 C1)
- Wakeup and ti-sysc (platform bus) fixes for OMAP/DRA7
- Broadcom fixes suspend/resume with Thumb2 kernels, and improves
stability of a handful of firmware/platform interfaces
- PXA completes their conversion to dmaengine framework
- Renesas does a bunch of PM cleanups across many platforms
- Tegra adds support for suspend/resume on T186/T194, which includes
some driver cleanups and addition of wake events
- Tegra also adds a driver for memory controller (EMC) on Tegra2
- i.MX tweaks power domain bindings, and adds support for i.MX8MQ in GPC
- Atmel adds identifiers and LPDDR2 support for a new SoC, SAM9X60
+ misc cleanups across several platforms
-----BEGIN PGP SIGNATURE-----
iQJDBAABCAAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAlwqd4APHG9sb2ZAbGl4
b20ubmV0AAoJEIwa5zzehBx3HXoP/icWJTGrbf9R6T7r0RWB3xeV8ouTPMM8YM5C
6wD4LkkjgZ16Hz/ellJ0Oug77LdnJ/ZI7jH2u0IcKRXr4sL94hEo11jAJLLtCHpt
rGiItMuEDMhNFcAK/yREI6FtRqjNZhsTuR+gkcjzMnGLCaTA1+RwQNdugH0hh0fF
z8C6tjN+fRIeS0wInBzR/402GcgRU0DIJrr0kmklS0u6tc2QW24ffv8ymvMiVO46
l8VemmdxVZsBU2iehraPy6mSXsyTm04dNTuHnrIw3nE3kTJF7jMvpqI/euU1eZl6
6EzrrCym8nC66IlqhHMBB427PK8sRqJTqwqSXO6e90AqiK4H2bMovXKiob/Psq+e
yWqPOrAr8YBLqTgauvCzVm/xneT5rZM4N0BYhOk172Uk52qenNWDnqHj41A4CMSM
/id3L1cHs5nf2qwuMncXvLX+Y2vO2n6cMmF8cDRLu592OBZRcVepUM0xoaSdZScv
LJsP3jH3RRcY3L2rf7bY2Mitp48bDgZMZdw/viSHsFS+SVr225uNFALFDQ9kNEoZ
2d9i9IvC7xOMhdVAX03U7DuRcpKXBPcv+arA57PiVvR4M1HeU7VvD4ayP5loVX2J
GoDIKiPQitAsOKzyPyZ5Jw04lxio3xZbrbmmVzEH8uKWIV5omdiMnSrFsEfduRCT
rU+Mqe2j
=yEX2
-----END PGP SIGNATURE-----
Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver updates from Olof Johansson:
"Misc driver updates for platforms, many of them power related.
- Rockchip adds power domain support for rk3066 and rk3188
- Amlogic adds a power measurement driver
- Allwinner adds SRAM support for three platforms (F1C100, H5, A64
C1)
- Wakeup and ti-sysc (platform bus) fixes for OMAP/DRA7
- Broadcom fixes suspend/resume with Thumb2 kernels, and improves
stability of a handful of firmware/platform interfaces
- PXA completes their conversion to dmaengine framework
- Renesas does a bunch of PM cleanups across many platforms
- Tegra adds support for suspend/resume on T186/T194, which includes
some driver cleanups and addition of wake events
- Tegra also adds a driver for memory controller (EMC) on Tegra2
- i.MX tweaks power domain bindings, and adds support for i.MX8MQ in
GPC
- Atmel adds identifiers and LPDDR2 support for a new SoC, SAM9X60
and misc cleanups across several platforms"
* tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (73 commits)
ARM: at91: add support in soc driver for new SAM9X60
ARM: at91: add support in soc driver for LPDDR2 SiP
memory: omap-gpmc: Use of_node_name_eq for node name comparisons
bus: ti-sysc: Check for no-reset and no-idle flags at the child level
ARM: OMAP2+: Check also the first dts child for hwmod flags
soc: amlogic: meson-clk-measure: Add missing REGMAP_MMIO dependency
soc: imx: gpc: Increase GPC_CLK_MAX to 7
soc: renesas: rcar-sysc: Fix power domain control after system resume
soc: renesas: rcar-sysc: Merge PM Domain registration and linking
soc: renesas: rcar-sysc: Remove rcar_sysc_power_{down,up}() helpers
soc: renesas: r8a77990-sysc: Fix initialization order of 3DG-{A,B}
dt-bindings: sram: sunxi: Add compatible for the A64 SRAM C1
dt-bindings: sram: sunxi: Add bindings for the H5 with SRAM C1
dt-bindings: sram: Add Allwinner suniv F1C100s
soc: sunxi: sram: Add support for the H5 SoC system control
soc: sunxi: sram: Enable EMAC clock access for H3 variant
soc: imx: gpcv2: add support for i.MX8MQ SoC
soc: imx: gpcv2: move register access table to domain data
soc: imx: gpcv2: prefix i.MX7 specific defines
dmaengine: pxa: make the filter function internal
...
This commit is contained in:
commit
d36377c6eb
68 changed files with 3912 additions and 670 deletions
21
include/dt-bindings/power/imx8mq-power.h
Normal file
21
include/dt-bindings/power/imx8mq-power.h
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
|
||||
/*
|
||||
* Copyright (C) 2018 Pengutronix, Lucas Stach <kernel@pengutronix.de>
|
||||
*/
|
||||
|
||||
#ifndef __DT_BINDINGS_IMX8MQ_POWER_H__
|
||||
#define __DT_BINDINGS_IMX8MQ_POWER_H__
|
||||
|
||||
#define IMX8M_POWER_DOMAIN_MIPI 0
|
||||
#define IMX8M_POWER_DOMAIN_PCIE1 1
|
||||
#define IMX8M_POWER_DOMAIN_USB_OTG1 2
|
||||
#define IMX8M_POWER_DOMAIN_USB_OTG2 3
|
||||
#define IMX8M_POWER_DOMAIN_DDR1 4
|
||||
#define IMX8M_POWER_DOMAIN_GPU 5
|
||||
#define IMX8M_POWER_DOMAIN_VPU 6
|
||||
#define IMX8M_POWER_DOMAIN_DISP 7
|
||||
#define IMX8M_POWER_DOMAIN_MIPI_CSI1 8
|
||||
#define IMX8M_POWER_DOMAIN_MIPI_CSI2 9
|
||||
#define IMX8M_POWER_DOMAIN_PCIE2 10
|
||||
|
||||
#endif
|
||||
|
|
@ -16,13 +16,12 @@
|
|||
|
||||
#define R8A77970_PD_CA53_CPU0 5
|
||||
#define R8A77970_PD_CA53_CPU1 6
|
||||
#define R8A77970_PD_CR7 13
|
||||
#define R8A77970_PD_CA53_SCU 21
|
||||
#define R8A77970_PD_A2IR0 23
|
||||
#define R8A77970_PD_A3IR 24
|
||||
#define R8A77970_PD_A3IR 24
|
||||
#define R8A77970_PD_A2IR1 27
|
||||
#define R8A77970_PD_A2IR2 28
|
||||
#define R8A77970_PD_A2IR3 29
|
||||
#define R8A77970_PD_A2DP 28
|
||||
#define R8A77970_PD_A2CN 29
|
||||
#define R8A77970_PD_A2SC0 30
|
||||
#define R8A77970_PD_A2SC1 31
|
||||
|
||||
|
|
|
|||
|
|
@ -15,14 +15,14 @@
|
|||
#define R8A77980_PD_A2SC2 0
|
||||
#define R8A77980_PD_A2SC3 1
|
||||
#define R8A77980_PD_A2SC4 2
|
||||
#define R8A77980_PD_A2PD0 3
|
||||
#define R8A77980_PD_A2PD1 4
|
||||
#define R8A77980_PD_A2DP0 3
|
||||
#define R8A77980_PD_A2DP1 4
|
||||
#define R8A77980_PD_CA53_CPU0 5
|
||||
#define R8A77980_PD_CA53_CPU1 6
|
||||
#define R8A77980_PD_CA53_CPU2 7
|
||||
#define R8A77980_PD_CA53_CPU3 8
|
||||
#define R8A77980_PD_A2CN 10
|
||||
#define R8A77980_PD_A3VIP 11
|
||||
#define R8A77980_PD_A3VIP0 11
|
||||
#define R8A77980_PD_A2IR5 12
|
||||
#define R8A77980_PD_CR7 13
|
||||
#define R8A77980_PD_A2IR4 15
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Copyright © 2015 Broadcom
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef _DT_BINDINGS_ARM_BCM2835_RPI_POWER_H
|
||||
|
|
|
|||
22
include/dt-bindings/power/rk3066-power.h
Normal file
22
include/dt-bindings/power/rk3066-power.h
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef __DT_BINDINGS_POWER_RK3066_POWER_H__
|
||||
#define __DT_BINDINGS_POWER_RK3066_POWER_H__
|
||||
|
||||
/* VD_CORE */
|
||||
#define RK3066_PD_A9_0 0
|
||||
#define RK3066_PD_A9_1 1
|
||||
#define RK3066_PD_DBG 4
|
||||
#define RK3066_PD_SCU 5
|
||||
|
||||
/* VD_LOGIC */
|
||||
#define RK3066_PD_VIDEO 6
|
||||
#define RK3066_PD_VIO 7
|
||||
#define RK3066_PD_GPU 8
|
||||
#define RK3066_PD_PERI 9
|
||||
#define RK3066_PD_CPU 10
|
||||
#define RK3066_PD_ALIVE 11
|
||||
|
||||
/* VD_PMU */
|
||||
#define RK3066_PD_RTC 12
|
||||
|
||||
#endif
|
||||
24
include/dt-bindings/power/rk3188-power.h
Normal file
24
include/dt-bindings/power/rk3188-power.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef __DT_BINDINGS_POWER_RK3188_POWER_H__
|
||||
#define __DT_BINDINGS_POWER_RK3188_POWER_H__
|
||||
|
||||
/* VD_CORE */
|
||||
#define RK3188_PD_A9_0 0
|
||||
#define RK3188_PD_A9_1 1
|
||||
#define RK3188_PD_A9_2 2
|
||||
#define RK3188_PD_A9_3 3
|
||||
#define RK3188_PD_DBG 4
|
||||
#define RK3188_PD_SCU 5
|
||||
|
||||
/* VD_LOGIC */
|
||||
#define RK3188_PD_VIDEO 6
|
||||
#define RK3188_PD_VIO 7
|
||||
#define RK3188_PD_GPU 8
|
||||
#define RK3188_PD_PERI 9
|
||||
#define RK3188_PD_CPU 10
|
||||
#define RK3188_PD_ALIVE 11
|
||||
|
||||
/* VD_PMU */
|
||||
#define RK3188_PD_RTC 12
|
||||
|
||||
#endif
|
||||
|
|
@ -23,15 +23,4 @@ struct pxad_param {
|
|||
enum pxad_chan_prio prio;
|
||||
};
|
||||
|
||||
struct dma_chan;
|
||||
|
||||
#ifdef CONFIG_PXA_DMA
|
||||
bool pxad_filter_fn(struct dma_chan *chan, void *param);
|
||||
#else
|
||||
static inline bool pxad_filter_fn(struct dma_chan *chan, void *param)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _PXA_DMA_H_ */
|
||||
|
|
|
|||
133
include/linux/soc/mediatek/mtk-cmdq.h
Normal file
133
include/linux/soc/mediatek/mtk-cmdq.h
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Copyright (c) 2018 MediaTek Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __MTK_CMDQ_H__
|
||||
#define __MTK_CMDQ_H__
|
||||
|
||||
#include <linux/mailbox_client.h>
|
||||
#include <linux/mailbox/mtk-cmdq-mailbox.h>
|
||||
#include <linux/timer.h>
|
||||
|
||||
#define CMDQ_NO_TIMEOUT 0xffffffffu
|
||||
|
||||
/** cmdq event maximum */
|
||||
#define CMDQ_MAX_EVENT 0x3ff
|
||||
|
||||
struct cmdq_pkt;
|
||||
|
||||
struct cmdq_client {
|
||||
spinlock_t lock;
|
||||
u32 pkt_cnt;
|
||||
struct mbox_client client;
|
||||
struct mbox_chan *chan;
|
||||
struct timer_list timer;
|
||||
u32 timeout_ms; /* in unit of microsecond */
|
||||
};
|
||||
|
||||
/**
|
||||
* cmdq_mbox_create() - create CMDQ mailbox client and channel
|
||||
* @dev: device of CMDQ mailbox client
|
||||
* @index: index of CMDQ mailbox channel
|
||||
* @timeout: timeout of a pkt execution by GCE, in unit of microsecond, set
|
||||
* CMDQ_NO_TIMEOUT if a timer is not used.
|
||||
*
|
||||
* Return: CMDQ mailbox client pointer
|
||||
*/
|
||||
struct cmdq_client *cmdq_mbox_create(struct device *dev, int index,
|
||||
u32 timeout);
|
||||
|
||||
/**
|
||||
* cmdq_mbox_destroy() - destroy CMDQ mailbox client and channel
|
||||
* @client: the CMDQ mailbox client
|
||||
*/
|
||||
void cmdq_mbox_destroy(struct cmdq_client *client);
|
||||
|
||||
/**
|
||||
* cmdq_pkt_create() - create a CMDQ packet
|
||||
* @client: the CMDQ mailbox client
|
||||
* @size: required CMDQ buffer size
|
||||
*
|
||||
* Return: CMDQ packet pointer
|
||||
*/
|
||||
struct cmdq_pkt *cmdq_pkt_create(struct cmdq_client *client, size_t size);
|
||||
|
||||
/**
|
||||
* cmdq_pkt_destroy() - destroy the CMDQ packet
|
||||
* @pkt: the CMDQ packet
|
||||
*/
|
||||
void cmdq_pkt_destroy(struct cmdq_pkt *pkt);
|
||||
|
||||
/**
|
||||
* cmdq_pkt_write() - append write command to the CMDQ packet
|
||||
* @pkt: the CMDQ packet
|
||||
* @value: the specified target register value
|
||||
* @subsys: the CMDQ sub system code
|
||||
* @offset: register offset from CMDQ sub system
|
||||
*
|
||||
* Return: 0 for success; else the error code is returned
|
||||
*/
|
||||
int cmdq_pkt_write(struct cmdq_pkt *pkt, u32 value, u32 subsys, u32 offset);
|
||||
|
||||
/**
|
||||
* cmdq_pkt_write_mask() - append write command with mask to the CMDQ packet
|
||||
* @pkt: the CMDQ packet
|
||||
* @value: the specified target register value
|
||||
* @subsys: the CMDQ sub system code
|
||||
* @offset: register offset from CMDQ sub system
|
||||
* @mask: the specified target register mask
|
||||
*
|
||||
* Return: 0 for success; else the error code is returned
|
||||
*/
|
||||
int cmdq_pkt_write_mask(struct cmdq_pkt *pkt, u32 value,
|
||||
u32 subsys, u32 offset, u32 mask);
|
||||
|
||||
/**
|
||||
* cmdq_pkt_wfe() - append wait for event command to the CMDQ packet
|
||||
* @pkt: the CMDQ packet
|
||||
* @event: the desired event type to "wait and CLEAR"
|
||||
*
|
||||
* Return: 0 for success; else the error code is returned
|
||||
*/
|
||||
int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u32 event);
|
||||
|
||||
/**
|
||||
* cmdq_pkt_clear_event() - append clear event command to the CMDQ packet
|
||||
* @pkt: the CMDQ packet
|
||||
* @event: the desired event to be cleared
|
||||
*
|
||||
* Return: 0 for success; else the error code is returned
|
||||
*/
|
||||
int cmdq_pkt_clear_event(struct cmdq_pkt *pkt, u32 event);
|
||||
|
||||
/**
|
||||
* cmdq_pkt_flush_async() - trigger CMDQ to asynchronously execute the CMDQ
|
||||
* packet and call back at the end of done packet
|
||||
* @pkt: the CMDQ packet
|
||||
* @cb: called at the end of done packet
|
||||
* @data: this data will pass back to cb
|
||||
*
|
||||
* Return: 0 for success; else the error code is returned
|
||||
*
|
||||
* Trigger CMDQ to asynchronously execute the CMDQ packet and call back
|
||||
* at the end of done packet. Note that this is an ASYNC function. When the
|
||||
* function returned, it may or may not be finished.
|
||||
*/
|
||||
int cmdq_pkt_flush_async(struct cmdq_pkt *pkt, cmdq_async_flush_cb cb,
|
||||
void *data);
|
||||
|
||||
/**
|
||||
* cmdq_pkt_flush() - trigger CMDQ to execute the CMDQ packet
|
||||
* @pkt: the CMDQ packet
|
||||
*
|
||||
* Return: 0 for success; else the error code is returned
|
||||
*
|
||||
* Trigger CMDQ to execute the CMDQ packet. Note that this is a
|
||||
* synchronous flush function. When the function returned, the recorded
|
||||
* commands have been done.
|
||||
*/
|
||||
int cmdq_pkt_flush(struct cmdq_pkt *pkt);
|
||||
|
||||
#endif /* __MTK_CMDQ_H__ */
|
||||
|
|
@ -166,7 +166,7 @@ struct qmi_ops {
|
|||
struct qmi_txn {
|
||||
struct qmi_handle *qmi;
|
||||
|
||||
int id;
|
||||
u16 id;
|
||||
|
||||
struct mutex lock;
|
||||
struct completion completion;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Copyright © 2015 Broadcom
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __SOC_RASPBERRY_FIRMWARE_H__
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ enum cmd_db_hw_type {
|
|||
#if IS_ENABLED(CONFIG_QCOM_COMMAND_DB)
|
||||
u32 cmd_db_read_addr(const char *resource_id);
|
||||
|
||||
int cmd_db_read_aux_data(const char *resource_id, u8 *data, size_t len);
|
||||
|
||||
size_t cmd_db_read_aux_data_len(const char *resource_id);
|
||||
const void *cmd_db_read_aux_data(const char *resource_id, size_t *len);
|
||||
|
||||
enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id);
|
||||
|
||||
|
|
@ -29,12 +27,8 @@ int cmd_db_ready(void);
|
|||
static inline u32 cmd_db_read_addr(const char *resource_id)
|
||||
{ return 0; }
|
||||
|
||||
static inline int cmd_db_read_aux_data(const char *resource_id, u8 *data,
|
||||
size_t len)
|
||||
{ return -ENODEV; }
|
||||
|
||||
static inline size_t cmd_db_read_aux_data_len(const char *resource_id)
|
||||
{ return -ENODEV; }
|
||||
static inline const void *cmd_db_read_aux_data(const char *resource_id, size_t *len)
|
||||
{ return ERR_PTR(-ENODEV); }
|
||||
|
||||
static inline enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id)
|
||||
{ return -ENODEV; }
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -129,6 +129,7 @@ int tegra_bpmp_request_mrq(struct tegra_bpmp *bpmp, unsigned int mrq,
|
|||
tegra_bpmp_mrq_handler_t handler, void *data);
|
||||
void tegra_bpmp_free_mrq(struct tegra_bpmp *bpmp, unsigned int mrq,
|
||||
void *data);
|
||||
bool tegra_bpmp_mrq_is_supported(struct tegra_bpmp *bpmp, unsigned int mrq);
|
||||
#else
|
||||
static inline struct tegra_bpmp *tegra_bpmp_get(struct device *dev)
|
||||
{
|
||||
|
|
@ -164,6 +165,12 @@ static inline void tegra_bpmp_free_mrq(struct tegra_bpmp *bpmp,
|
|||
unsigned int mrq, void *data)
|
||||
{
|
||||
}
|
||||
|
||||
static inline bool tegra_bpmp_mrq_is_supported(struct tegra_bpmp *bpmp,
|
||||
unsigned int mrq)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if IS_ENABLED(CONFIG_CLK_TEGRA_BPMP)
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ struct tegra_sku_info {
|
|||
|
||||
u32 tegra_read_straps(void);
|
||||
u32 tegra_read_ram_code(void);
|
||||
u32 tegra_read_chipid(void);
|
||||
int tegra_fuse_readl(unsigned long offset, u32 *value);
|
||||
|
||||
extern struct tegra_sku_info tegra_sku_info;
|
||||
|
|
|
|||
|
|
@ -88,6 +88,10 @@ enum tegra_io_pad {
|
|||
TEGRA_IO_PAD_CSID,
|
||||
TEGRA_IO_PAD_CSIE,
|
||||
TEGRA_IO_PAD_CSIF,
|
||||
TEGRA_IO_PAD_CSIG,
|
||||
TEGRA_IO_PAD_CSIH,
|
||||
TEGRA_IO_PAD_DAP3,
|
||||
TEGRA_IO_PAD_DAP5,
|
||||
TEGRA_IO_PAD_DBG,
|
||||
TEGRA_IO_PAD_DEBUG_NONAO,
|
||||
TEGRA_IO_PAD_DMIC,
|
||||
|
|
@ -100,10 +104,15 @@ enum tegra_io_pad {
|
|||
TEGRA_IO_PAD_EDP,
|
||||
TEGRA_IO_PAD_EMMC,
|
||||
TEGRA_IO_PAD_EMMC2,
|
||||
TEGRA_IO_PAD_EQOS,
|
||||
TEGRA_IO_PAD_GPIO,
|
||||
TEGRA_IO_PAD_GP_PWM2,
|
||||
TEGRA_IO_PAD_GP_PWM3,
|
||||
TEGRA_IO_PAD_HDMI,
|
||||
TEGRA_IO_PAD_HDMI_DP0,
|
||||
TEGRA_IO_PAD_HDMI_DP1,
|
||||
TEGRA_IO_PAD_HDMI_DP2,
|
||||
TEGRA_IO_PAD_HDMI_DP3,
|
||||
TEGRA_IO_PAD_HSIC,
|
||||
TEGRA_IO_PAD_HV,
|
||||
TEGRA_IO_PAD_LVDS,
|
||||
|
|
@ -113,8 +122,14 @@ enum tegra_io_pad {
|
|||
TEGRA_IO_PAD_PEX_CLK_BIAS,
|
||||
TEGRA_IO_PAD_PEX_CLK1,
|
||||
TEGRA_IO_PAD_PEX_CLK2,
|
||||
TEGRA_IO_PAD_PEX_CLK2_BIAS,
|
||||
TEGRA_IO_PAD_PEX_CLK3,
|
||||
TEGRA_IO_PAD_PEX_CNTRL,
|
||||
TEGRA_IO_PAD_PEX_CTL2,
|
||||
TEGRA_IO_PAD_PEX_L0_RST_N,
|
||||
TEGRA_IO_PAD_PEX_L1_RST_N,
|
||||
TEGRA_IO_PAD_PEX_L5_RST_N,
|
||||
TEGRA_IO_PAD_PWR_CTL,
|
||||
TEGRA_IO_PAD_SDMMC1,
|
||||
TEGRA_IO_PAD_SDMMC1_HV,
|
||||
TEGRA_IO_PAD_SDMMC2,
|
||||
|
|
@ -122,10 +137,16 @@ enum tegra_io_pad {
|
|||
TEGRA_IO_PAD_SDMMC3,
|
||||
TEGRA_IO_PAD_SDMMC3_HV,
|
||||
TEGRA_IO_PAD_SDMMC4,
|
||||
TEGRA_IO_PAD_SOC_GPIO10,
|
||||
TEGRA_IO_PAD_SOC_GPIO12,
|
||||
TEGRA_IO_PAD_SOC_GPIO13,
|
||||
TEGRA_IO_PAD_SOC_GPIO53,
|
||||
TEGRA_IO_PAD_SPI,
|
||||
TEGRA_IO_PAD_SPI_HV,
|
||||
TEGRA_IO_PAD_SYS_DDC,
|
||||
TEGRA_IO_PAD_UART,
|
||||
TEGRA_IO_PAD_UART4,
|
||||
TEGRA_IO_PAD_UART5,
|
||||
TEGRA_IO_PAD_UFS,
|
||||
TEGRA_IO_PAD_USB0,
|
||||
TEGRA_IO_PAD_USB1,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue