mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-18 16:08:53 +09:00
![Christian Amann](/assets/img/avatar_default.png)
Copy missing Kernel patch to make SLEWCTRL_SLOW available in device tree and to correct the value of SLEWCTRL_FAST. After this patch, the Kernel and U-boot device tree settings for SLEWCTRL have the same effect. Original Kernel patch message: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=424e0f039bfa8a51fb5c5178b6ece8baa4996469 " According to AM335x TRM, Document spruh73l, Revised February 2015, Section 9.2.2 Pad Control Registers, setting bit 6 of the pad control registers actually sets the SLEWCTRL value to slow rather than fast as the current macro indicates. Introduce a new macro, SLEWCTRL_SLOW, that sets the bit, and modify SLEWCTRL_FAST to 0 but keep it for completeness. Current users of the macro (i2c and mdio) are left unmodified as SLEWCTRL_FAST was the macro used and actual desired state. Tested on am335x-gp-evm with no difference in software performance seen. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> " Signed-off-by: Christian Amann <Christian.Amann@de.bosch.com>
44 lines
1004 B
C
44 lines
1004 B
C
/*
|
|
* This header provides constants specific to AM33XX pinctrl bindings.
|
|
*/
|
|
|
|
#ifndef _DT_BINDINGS_PINCTRL_AM33XX_H
|
|
#define _DT_BINDINGS_PINCTRL_AM33XX_H
|
|
|
|
#include <dt-bindings/pinctrl/omap.h>
|
|
|
|
/* am33xx specific mux bit defines */
|
|
#undef PULL_ENA
|
|
#undef INPUT_EN
|
|
|
|
#define PULL_DISABLE (1 << 3)
|
|
#define INPUT_EN (1 << 5)
|
|
#define SLEWCTRL_SLOW (1 << 6)
|
|
#define SLEWCTRL_FAST 0
|
|
|
|
/* update macro depending on INPUT_EN and PULL_ENA */
|
|
#undef PIN_OUTPUT
|
|
#undef PIN_OUTPUT_PULLUP
|
|
#undef PIN_OUTPUT_PULLDOWN
|
|
#undef PIN_INPUT
|
|
#undef PIN_INPUT_PULLUP
|
|
#undef PIN_INPUT_PULLDOWN
|
|
|
|
#define PIN_OUTPUT (PULL_DISABLE)
|
|
#define PIN_OUTPUT_PULLUP (PULL_UP)
|
|
#define PIN_OUTPUT_PULLDOWN 0
|
|
#define PIN_INPUT (INPUT_EN | PULL_DISABLE)
|
|
#define PIN_INPUT_PULLUP (INPUT_EN | PULL_UP)
|
|
#define PIN_INPUT_PULLDOWN (INPUT_EN)
|
|
|
|
/* undef non-existing modes */
|
|
#undef PIN_OFF_NONE
|
|
#undef PIN_OFF_OUTPUT_HIGH
|
|
#undef PIN_OFF_OUTPUT_LOW
|
|
#undef PIN_OFF_INPUT_PULLUP
|
|
#undef PIN_OFF_INPUT_PULLDOWN
|
|
#undef PIN_OFF_WAKEUPENABLE
|
|
|
|
#endif
|
|
|