cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

brcm,bcm11351-pinctrl.txt (12834B)


      1Broadcom BCM281xx Pin Controller
      2
      3This is a pin controller for the Broadcom BCM281xx SoC family, which includes
      4BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs.
      5
      6=== Pin Controller Node ===
      7
      8Required Properties:
      9
     10- compatible:	Must be "brcm,bcm11351-pinctrl"
     11- reg:		Base address of the PAD Controller register block and the size
     12		of the block.
     13
     14For example, the following is the bare minimum node:
     15
     16	pinctrl@35004800 {
     17		compatible = "brcm,bcm11351-pinctrl";
     18		reg = <0x35004800 0x430>;
     19	};
     20
     21As a pin controller device, in addition to the required properties, this node
     22should also contain the pin configuration nodes that client devices reference,
     23if any.
     24
     25=== Pin Configuration Node ===
     26
     27Each pin configuration node is a sub-node of the pin controller node and is a
     28container of an arbitrary number of subnodes, called pin group nodes in this
     29document.
     30
     31Please refer to the pinctrl-bindings.txt in this directory for details of the
     32common pinctrl bindings used by client devices, including the definition of a
     33"pin configuration node".
     34
     35=== Pin Group Node ===
     36
     37A pin group node specifies the desired pin mux and/or pin configuration for an
     38arbitrary number of pins.  The name of the pin group node is optional and not
     39used.
     40
     41A pin group node only affects the properties specified in the node, and has no
     42effect on any properties that are omitted.
     43
     44The pin group node accepts a subset of the generic pin config properties. For
     45details generic pin config properties, please refer to pinctrl-bindings.txt
     46and <include/linux/pinctrl/pinconfig-generic.h>.
     47
     48Each pin controlled by this pin controller belong to one of three types:
     49Standard, I2C, and HDMI.  Each type accepts a different set of pin config
     50properties.  A list of pins and their types is provided below.
     51
     52Required Properties (applicable to all pins):
     53
     54- pins:		Multiple strings.  Specifies the name(s) of one or more pins to
     55		be configured by this node.
     56
     57Optional Properties (for standard pins):
     58
     59- function:			String. Specifies the pin mux selection. Values
     60				must be one of: "alt1", "alt2", "alt3", "alt4"
     61- input-schmitt-enable:		No arguments. Enable schmitt-trigger mode.
     62- input-schmitt-disable:	No arguments. Disable schmitt-trigger mode.
     63- bias-pull-up:			No arguments. Pull up on pin.
     64- bias-pull-down:		No arguments. Pull down on pin.
     65- bias-disable:			No arguments. Disable pin bias.
     66- slew-rate:			Integer. Meaning depends on configured pin mux:
     67				*_SCL or *_SDA:
     68					0: Standard(100kbps)& Fast(400kbps) mode
     69					1: Highspeed (3.4Mbps) mode
     70				IC_DM or IC_DP:
     71					0: normal slew rate
     72					1: fast slew rate
     73				Otherwise:
     74					0: fast slew rate
     75					1: normal slew rate
     76- input-enable:			No arguments. Enable input (does not affect
     77				output.)
     78- input-disable:		No arguments. Disable input (does not affect
     79				output.)
     80- drive-strength:		Integer. Drive strength in mA.  Valid values are
     81				2, 4, 6, 8, 10, 12, 14, 16 mA.
     82
     83Optional Properties (for I2C pins):
     84
     85- function:			String. Specifies the pin mux selection. Values
     86				must be one of: "alt1", "alt2", "alt3", "alt4"
     87- bias-pull-up:			Integer. Pull up strength in Ohm. There are 3
     88				pull-up resistors (1.2k, 1.8k, 2.7k) available
     89				in parallel for I2C pins, so the valid values
     90				are: 568, 720, 831, 1080, 1200, 1800, 2700 Ohm.
     91- bias-disable:			No arguments. Disable pin bias.
     92- slew-rate:			Integer. Meaning depends on configured pin mux:
     93				*_SCL or *_SDA:
     94					0: Standard(100kbps)& Fast(400kbps) mode
     95					1: Highspeed (3.4Mbps) mode
     96				IC_DM or IC_DP:
     97					0: normal slew rate
     98					1: fast slew rate
     99				Otherwise:
    100					0: fast slew rate
    101					1: normal slew rate
    102- input-enable:			No arguments. Enable input (does not affect
    103				output.)
    104- input-disable:		No arguments. Disable input (does not affect
    105				output.)
    106
    107Optional Properties (for HDMI pins):
    108
    109- function:			String. Specifies the pin mux selection. Values
    110				must be one of: "alt1", "alt2", "alt3", "alt4"
    111- slew-rate:			Integer. Controls slew rate.
    112					0: Standard(100kbps)& Fast(400kbps) mode
    113					1: Highspeed (3.4Mbps) mode
    114- input-enable:			No arguments. Enable input (does not affect
    115				output.)
    116- input-disable:		No arguments. Disable input (does not affect
    117				output.)
    118
    119Example:
    120// pin controller node
    121pinctrl@35004800 {
    122	compatible = "brcm,bcm11351-pinctrl";
    123	reg = <0x35004800 0x430>;
    124
    125	// pin configuration node
    126	dev_a_default: dev_a_active {
    127		//group node defining 1 standard pin
    128		grp_1 {
    129			pins		= "std_pin1";
    130			function	= "alt1";
    131			input-schmitt-enable;
    132			bias-disable;
    133			slew-rate	= <1>;
    134			drive-strength	= <4>;
    135		};
    136
    137		// group node defining 2 I2C pins
    138		grp_2 {
    139			pins		= "i2c_pin1", "i2c_pin2";
    140			function	= "alt2";
    141			bias-pull-up	= <720>;
    142			input-enable;
    143		};
    144
    145		// group node defining 2 HDMI pins
    146		grp_3 {
    147			pins		= "hdmi_pin1", "hdmi_pin2";
    148			function	= "alt3";
    149			slew-rate	= <1>;
    150		};
    151
    152		// other pin group nodes
    153		...
    154	};
    155
    156	// other pin configuration nodes
    157	...
    158};
    159
    160In the example above, "dev_a_active" is a pin configuration node with a number
    161of sub-nodes.  In the pin group node "grp_1", one pin, "std_pin1", is defined in
    162the "pins" property.  Thus, the remaining properties in the "grp_1" node applies
    163only to this pin, including the following settings:
    164 - setting pinmux to "alt1"
    165 - enabling schmitt-trigger (hystersis) mode
    166 - disabling pin bias
    167 - setting the slew-rate to 1
    168 - setting the drive strength to 4 mA
    169Note that neither "input-enable" nor "input-disable" was specified - the pinctrl
    170subsystem will therefore leave this property unchanged from whatever state it
    171was in before applying these changes.
    172
    173The "pins" property in the pin group node "grp_2" specifies two pins -
    174"i2c_pin1" and "i2c_pin2"; the remaining properties in this pin group node,
    175therefore, applies to both of these pins.  The properties include:
    176 - setting pinmux to "alt2"
    177 - setting pull-up resistance to 720 Ohm (ie. enabling 1.2k and 1.8k resistors
    178   in parallel)
    179 - enabling both pins' input
    180"slew-rate" is not specified in this pin group node, so the slew-rate for these
    181pins are left as-is.
    182
    183Finally, "grp_3" defines two HDMI pins.  The following properties are applied to
    184both pins:
    185 - setting pinmux to "alt3"
    186 - setting slew-rate to 1; for HDMI pins, this corresponds to the 3.4 Mbps
    187   Highspeed mode
    188The input is neither enabled or disabled, and is left untouched.
    189
    190=== Pin Names and Type ===
    191
    192The following are valid pin names and their pin types:
    193
    194	"adcsync",		Standard
    195	"bat_rm",		Standard
    196	"bsc1_scl",		I2C
    197	"bsc1_sda",		I2C
    198	"bsc2_scl",		I2C
    199	"bsc2_sda",		I2C
    200	"classgpwr",		Standard
    201	"clk_cx8",		Standard
    202	"clkout_0",		Standard
    203	"clkout_1",		Standard
    204	"clkout_2",		Standard
    205	"clkout_3",		Standard
    206	"clkreq_in_0",		Standard
    207	"clkreq_in_1",		Standard
    208	"cws_sys_req1",		Standard
    209	"cws_sys_req2",		Standard
    210	"cws_sys_req3",		Standard
    211	"digmic1_clk",		Standard
    212	"digmic1_dq",		Standard
    213	"digmic2_clk",		Standard
    214	"digmic2_dq",		Standard
    215	"gpen13",		Standard
    216	"gpen14",		Standard
    217	"gpen15",		Standard
    218	"gpio00",		Standard
    219	"gpio01",		Standard
    220	"gpio02",		Standard
    221	"gpio03",		Standard
    222	"gpio04",		Standard
    223	"gpio05",		Standard
    224	"gpio06",		Standard
    225	"gpio07",		Standard
    226	"gpio08",		Standard
    227	"gpio09",		Standard
    228	"gpio10",		Standard
    229	"gpio11",		Standard
    230	"gpio12",		Standard
    231	"gpio13",		Standard
    232	"gpio14",		Standard
    233	"gps_pablank",		Standard
    234	"gps_tmark",		Standard
    235	"hdmi_scl",		HDMI
    236	"hdmi_sda",		HDMI
    237	"ic_dm",		Standard
    238	"ic_dp",		Standard
    239	"kp_col_ip_0",		Standard
    240	"kp_col_ip_1",		Standard
    241	"kp_col_ip_2",		Standard
    242	"kp_col_ip_3",		Standard
    243	"kp_row_op_0",		Standard
    244	"kp_row_op_1",		Standard
    245	"kp_row_op_2",		Standard
    246	"kp_row_op_3",		Standard
    247	"lcd_b_0",		Standard
    248	"lcd_b_1",		Standard
    249	"lcd_b_2",		Standard
    250	"lcd_b_3",		Standard
    251	"lcd_b_4",		Standard
    252	"lcd_b_5",		Standard
    253	"lcd_b_6",		Standard
    254	"lcd_b_7",		Standard
    255	"lcd_g_0",		Standard
    256	"lcd_g_1",		Standard
    257	"lcd_g_2",		Standard
    258	"lcd_g_3",		Standard
    259	"lcd_g_4",		Standard
    260	"lcd_g_5",		Standard
    261	"lcd_g_6",		Standard
    262	"lcd_g_7",		Standard
    263	"lcd_hsync",		Standard
    264	"lcd_oe",		Standard
    265	"lcd_pclk",		Standard
    266	"lcd_r_0",		Standard
    267	"lcd_r_1",		Standard
    268	"lcd_r_2",		Standard
    269	"lcd_r_3",		Standard
    270	"lcd_r_4",		Standard
    271	"lcd_r_5",		Standard
    272	"lcd_r_6",		Standard
    273	"lcd_r_7",		Standard
    274	"lcd_vsync",		Standard
    275	"mdmgpio0",		Standard
    276	"mdmgpio1",		Standard
    277	"mdmgpio2",		Standard
    278	"mdmgpio3",		Standard
    279	"mdmgpio4",		Standard
    280	"mdmgpio5",		Standard
    281	"mdmgpio6",		Standard
    282	"mdmgpio7",		Standard
    283	"mdmgpio8",		Standard
    284	"mphi_data_0",		Standard
    285	"mphi_data_1",		Standard
    286	"mphi_data_2",		Standard
    287	"mphi_data_3",		Standard
    288	"mphi_data_4",		Standard
    289	"mphi_data_5",		Standard
    290	"mphi_data_6",		Standard
    291	"mphi_data_7",		Standard
    292	"mphi_data_8",		Standard
    293	"mphi_data_9",		Standard
    294	"mphi_data_10",		Standard
    295	"mphi_data_11",		Standard
    296	"mphi_data_12",		Standard
    297	"mphi_data_13",		Standard
    298	"mphi_data_14",		Standard
    299	"mphi_data_15",		Standard
    300	"mphi_ha0",		Standard
    301	"mphi_hat0",		Standard
    302	"mphi_hat1",		Standard
    303	"mphi_hce0_n",		Standard
    304	"mphi_hce1_n",		Standard
    305	"mphi_hrd_n",		Standard
    306	"mphi_hwr_n",		Standard
    307	"mphi_run0",		Standard
    308	"mphi_run1",		Standard
    309	"mtx_scan_clk",		Standard
    310	"mtx_scan_data",	Standard
    311	"nand_ad_0",		Standard
    312	"nand_ad_1",		Standard
    313	"nand_ad_2",		Standard
    314	"nand_ad_3",		Standard
    315	"nand_ad_4",		Standard
    316	"nand_ad_5",		Standard
    317	"nand_ad_6",		Standard
    318	"nand_ad_7",		Standard
    319	"nand_ale",		Standard
    320	"nand_cen_0",		Standard
    321	"nand_cen_1",		Standard
    322	"nand_cle",		Standard
    323	"nand_oen",		Standard
    324	"nand_rdy_0",		Standard
    325	"nand_rdy_1",		Standard
    326	"nand_wen",		Standard
    327	"nand_wp",		Standard
    328	"pc1",			Standard
    329	"pc2",			Standard
    330	"pmu_int",		Standard
    331	"pmu_scl",		I2C
    332	"pmu_sda",		I2C
    333	"rfst2g_mtsloten3g",	Standard
    334	"rgmii_0_rx_ctl",	Standard
    335	"rgmii_0_rxc",		Standard
    336	"rgmii_0_rxd_0",	Standard
    337	"rgmii_0_rxd_1",	Standard
    338	"rgmii_0_rxd_2",	Standard
    339	"rgmii_0_rxd_3",	Standard
    340	"rgmii_0_tx_ctl",	Standard
    341	"rgmii_0_txc",		Standard
    342	"rgmii_0_txd_0",	Standard
    343	"rgmii_0_txd_1",	Standard
    344	"rgmii_0_txd_2",	Standard
    345	"rgmii_0_txd_3",	Standard
    346	"rgmii_1_rx_ctl",	Standard
    347	"rgmii_1_rxc",		Standard
    348	"rgmii_1_rxd_0",	Standard
    349	"rgmii_1_rxd_1",	Standard
    350	"rgmii_1_rxd_2",	Standard
    351	"rgmii_1_rxd_3",	Standard
    352	"rgmii_1_tx_ctl",	Standard
    353	"rgmii_1_txc",		Standard
    354	"rgmii_1_txd_0",	Standard
    355	"rgmii_1_txd_1",	Standard
    356	"rgmii_1_txd_2",	Standard
    357	"rgmii_1_txd_3",	Standard
    358	"rgmii_gpio_0",		Standard
    359	"rgmii_gpio_1",		Standard
    360	"rgmii_gpio_2",		Standard
    361	"rgmii_gpio_3",		Standard
    362	"rtxdata2g_txdata3g1",	Standard
    363	"rtxen2g_txdata3g2",	Standard
    364	"rxdata3g0",		Standard
    365	"rxdata3g1",		Standard
    366	"rxdata3g2",		Standard
    367	"sdio1_clk",		Standard
    368	"sdio1_cmd",		Standard
    369	"sdio1_data_0",		Standard
    370	"sdio1_data_1",		Standard
    371	"sdio1_data_2",		Standard
    372	"sdio1_data_3",		Standard
    373	"sdio4_clk",		Standard
    374	"sdio4_cmd",		Standard
    375	"sdio4_data_0",		Standard
    376	"sdio4_data_1",		Standard
    377	"sdio4_data_2",		Standard
    378	"sdio4_data_3",		Standard
    379	"sim_clk",		Standard
    380	"sim_data",		Standard
    381	"sim_det",		Standard
    382	"sim_resetn",		Standard
    383	"sim2_clk",		Standard
    384	"sim2_data",		Standard
    385	"sim2_det",		Standard
    386	"sim2_resetn",		Standard
    387	"sri_c",		Standard
    388	"sri_d",		Standard
    389	"sri_e",		Standard
    390	"ssp_extclk",		Standard
    391	"ssp0_clk",		Standard
    392	"ssp0_fs",		Standard
    393	"ssp0_rxd",		Standard
    394	"ssp0_txd",		Standard
    395	"ssp2_clk",		Standard
    396	"ssp2_fs_0",		Standard
    397	"ssp2_fs_1",		Standard
    398	"ssp2_fs_2",		Standard
    399	"ssp2_fs_3",		Standard
    400	"ssp2_rxd_0",		Standard
    401	"ssp2_rxd_1",		Standard
    402	"ssp2_txd_0",		Standard
    403	"ssp2_txd_1",		Standard
    404	"ssp3_clk",		Standard
    405	"ssp3_fs",		Standard
    406	"ssp3_rxd",		Standard
    407	"ssp3_txd",		Standard
    408	"ssp4_clk",		Standard
    409	"ssp4_fs",		Standard
    410	"ssp4_rxd",		Standard
    411	"ssp4_txd",		Standard
    412	"ssp5_clk",		Standard
    413	"ssp5_fs",		Standard
    414	"ssp5_rxd",		Standard
    415	"ssp5_txd",		Standard
    416	"ssp6_clk",		Standard
    417	"ssp6_fs",		Standard
    418	"ssp6_rxd",		Standard
    419	"ssp6_txd",		Standard
    420	"stat_1",		Standard
    421	"stat_2",		Standard
    422	"sysclken",		Standard
    423	"traceclk",		Standard
    424	"tracedt00",		Standard
    425	"tracedt01",		Standard
    426	"tracedt02",		Standard
    427	"tracedt03",		Standard
    428	"tracedt04",		Standard
    429	"tracedt05",		Standard
    430	"tracedt06",		Standard
    431	"tracedt07",		Standard
    432	"tracedt08",		Standard
    433	"tracedt09",		Standard
    434	"tracedt10",		Standard
    435	"tracedt11",		Standard
    436	"tracedt12",		Standard
    437	"tracedt13",		Standard
    438	"tracedt14",		Standard
    439	"tracedt15",		Standard
    440	"txdata3g0",		Standard
    441	"txpwrind",		Standard
    442	"uartb1_ucts",		Standard
    443	"uartb1_urts",		Standard
    444	"uartb1_urxd",		Standard
    445	"uartb1_utxd",		Standard
    446	"uartb2_urxd",		Standard
    447	"uartb2_utxd",		Standard
    448	"uartb3_ucts",		Standard
    449	"uartb3_urts",		Standard
    450	"uartb3_urxd",		Standard
    451	"uartb3_utxd",		Standard
    452	"uartb4_ucts",		Standard
    453	"uartb4_urts",		Standard
    454	"uartb4_urxd",		Standard
    455	"uartb4_utxd",		Standard
    456	"vc_cam1_scl",		I2C
    457	"vc_cam1_sda",		I2C
    458	"vc_cam2_scl",		I2C
    459	"vc_cam2_sda",		I2C
    460	"vc_cam3_scl",		I2C
    461	"vc_cam3_sda",		I2C