Lothar Waßmann [Fri, 18 Sep 2020 09:18:53 +0000 (11:18 +0200)]
karo: fdt: fix panel-dpi support
commit
fefe948bd273 ("karo: fdt: support 'panel-dpi' in DT")
inadvertedly copies the 'phandle' property from the 'display-timing'
node. This creates a new property in the 'panel-timing' node which
invalidates all FDT offsets being used by the
karo_fixup_panel_timing() routine.
Add a whitelist of properties to copy and recalculate all FDT offsets
after possible creation of a new property in the panel-timing node.
Also delete properties in the panel-timing node that don't exist in
the display-timings node.
Fixes:
fefe948bd273 ("karo: fdt: support 'panel-dpi' in DT")
Lothar Waßmann [Fri, 18 Sep 2020 06:23:38 +0000 (08:23 +0200)]
usb: f_mass_storage: sleep_thread: retrigger watchdog
Andy Shevchenko [Fri, 29 Nov 2019 17:47:59 +0000 (19:47 +0200)]
gcc-9: silence 'address-of-packed-member' warning
GCC 9.x starts complaining about potential misalignment of the pointer to
the array (in this case alignment=2) in the packed (alignment=1) structures.
Repeating Linus' Torvalds commit
6f303d60534c in the Linux kernel.
Original commit message:
We already did this for clang, but now gcc has that warning too.
Yes, yes, the address may be unaligned. And that's kind of the point.
This in particular hides the warnings like
drivers/usb/gadget/composite.c:545:23: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
545 | collect_langs(sp, s->wData);
drivers/usb/gadget/composite.c:550:24: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
550 | collect_langs(sp, s->wData);
drivers/usb/gadget/composite.c:555:25: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
555 | collect_langs(sp, s->wData);
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Lothar Waßmann [Tue, 16 Jun 2020 07:08:54 +0000 (09:08 +0200)]
karo: fdt: support 'panel-dpi' in DT
Check, if the LCD panel's compatible string is 'panel-dpi' and fill in
the 'panel-timing' data from the display-timings node selected by the
'video_mode' variable.
Lothar Waßmann [Tue, 16 Jun 2020 07:08:32 +0000 (09:08 +0200)]
karo: fdt: fix inverted pixelclock polarity
Lothar Waßmann [Tue, 16 Jun 2020 07:06:53 +0000 (09:06 +0200)]
karo: fdt: fix error handling for reg-can-xcvr
Lothar Waßmann [Tue, 16 Jun 2020 07:01:50 +0000 (09:01 +0200)]
karo: tx6: fix out of range CORE_VDD
Due to a buggy handling of the register mask in the RN5T567 PMIC code,
the core voltage would be set to 2.1V instead of 1.3V.
Lothar Waßmann [Tue, 16 Jun 2020 07:01:04 +0000 (09:01 +0200)]
pinctrl: print error message with dev_err() instead of dev_dbg()
Lothar Waßmann [Tue, 16 Jun 2020 07:00:17 +0000 (09:00 +0200)]
net: bootp: silence messages about unhandled DHCP options
Lothar Waßmann [Tue, 16 Jun 2020 06:59:41 +0000 (08:59 +0200)]
karo: tx6: increase SYS_BOOTM_LEN to 32MiB
Lothar Waßmann [Tue, 16 Jun 2020 06:59:16 +0000 (08:59 +0200)]
karo: tx6: enable BOOTP_RANDOM_ID
Lothar Waßmann [Tue, 16 Jun 2020 06:58:46 +0000 (08:58 +0200)]
karo: tx6: fix copy/paste error
Lothar Waßmann [Tue, 16 Jun 2020 06:56:40 +0000 (08:56 +0200)]
karo: tx6: fix duplicate const error
Denis Pynkin [Fri, 21 Jul 2017 16:28:42 +0000 (19:28 +0300)]
net: Use packed structures for networking
PXE boot is broken with GCC 7.1 due option '-fstore-merging' enabled
by default for '-O2':
BOOTP broadcast 1
data abort
pc : [<
8ff8bb30>] lr : [<
00004f1f>]
reloc pc : [<
17832b30>] lr : [<
878abf1f>]
sp :
8f558bc0 ip :
00000000 fp :
8ffef5a4
r10:
8ffed248 r9 :
8f558ee0 r8 :
8ffef594
r7 :
0000000e r6 :
8ffed700 r5 :
00000000 r4 :
8ffed74e
r3 :
00060101 r2 :
8ffed230 r1 :
8ffed706 r0 :
00000ddd
Flags: nzcv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
Core reason is usage of structures for network headers without packed
attribute.
Reviewed-by: Yauheni Kaliuta <yauheni.kaliuta@redhat.com>
Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Tom Rini [Mon, 29 Feb 2016 16:34:15 +0000 (11:34 -0500)]
compiler*.h: sync include/linux/compiler*.h with Linux 4.5-rc6
Copy these from Linux v4.5-rc6 tag.
This is needed so that we can keep up with newer gcc versions. Note
that we don't have the uapi/ hierarchy from the kernel so continue to
use <linux/types.h>
Signed-off-by: Tom Rini <trini@konsulko.com>
Lothar Waßmann [Tue, 5 May 2020 15:05:19 +0000 (17:05 +0200)]
karo: tx6: add support for TXUL-5014
Lothar Waßmann [Mon, 22 Jul 2019 09:36:43 +0000 (11:36 +0200)]
enable filesystem agnostic read/write/ls commands
Lothar Waßmann [Fri, 19 Jul 2019 12:15:35 +0000 (14:15 +0200)]
karo: configs: Update the tx6*_defconfig files from defconfigs generated with 'make savedefconfig' (no functional change)
Lothar Waßmann [Fri, 19 Jul 2019 12:14:43 +0000 (14:14 +0200)]
mx6: hab: add function to authenticate any data blob via HAB
Lothar Waßmann [Thu, 18 Jul 2019 13:18:44 +0000 (15:18 +0200)]
checkpatch.pl: fix 'Unescaped left brace in regex is deprecated' warning
Lothar Waßmann [Thu, 18 Jul 2019 12:48:29 +0000 (14:48 +0200)]
karo: tx6ul-8013: prevent stall of mxs_reset() of the LCDIF controller
Lothar Waßmann [Thu, 9 May 2019 14:00:24 +0000 (16:00 +0200)]
karo: tx6: disable Heartbeat LED in case of error
Lothar Waßmann [Thu, 9 May 2019 13:57:12 +0000 (15:57 +0200)]
karo: tx6: enable GPT command
Lothar Waßmann [Thu, 9 May 2019 13:55:14 +0000 (15:55 +0200)]
cmd: gpt: remove bogus code leftover from merge conflict resolution
and fix leaking memory for str_disk_guid in case of error.
Lothar Waßmann [Thu, 9 May 2019 13:50:01 +0000 (15:50 +0200)]
karo: tx6: configure all relevant PMIC registers
Lothar Waßmann [Thu, 9 May 2019 13:48:22 +0000 (15:48 +0200)]
arm: mx6: fix cpu_rev calculation
Lothar Waßmann [Thu, 9 May 2019 13:47:12 +0000 (15:47 +0200)]
arm: mx6: implement refcounting for the ocotp clock and use 'fuse_read()' rather than 'readl()' to access the HAB fuses
Lothar Waßmann [Thu, 9 May 2019 13:41:59 +0000 (15:41 +0200)]
karo: common: remove '_' from DT property names
DT property names should not contain underscores but dashes as word
delimiters. The DT files in Linux have been updated to reflect this.
For compatibility with older DTBs support both variants of certain
property names.
Lothar Waßmann [Thu, 9 May 2019 13:39:46 +0000 (15:39 +0200)]
karo: tx6: make pixelclock overridable via DT or 'video_mode'
Lothar Waßmann [Wed, 30 Jan 2019 12:25:45 +0000 (13:25 +0100)]
karo: txul: fix LDO4 output voltage
Currently the LDO4 which supplies the pins of the CSI interface is
programmed for a voltage of 1.8V (default setting for this LDO of the
RN5T567).
Change this to 3.3V to match the specification of the TXUL modules.
Also configure the sleep state voltages for the LDOs.
Lothar Waßmann [Wed, 17 Oct 2018 15:46:20 +0000 (17:46 +0200)]
fix TXUL module name
Lothar Waßmann [Thu, 8 Feb 2018 16:35:12 +0000 (17:35 +0100)]
karo: tx6: enable vsnprintf for safer string operations
Lothar Waßmann [Thu, 8 Feb 2018 16:34:23 +0000 (17:34 +0100)]
karo: txul: add support for TX-Tester-V5 baseboard
Lothar Waßmann [Thu, 8 Feb 2018 16:33:54 +0000 (17:33 +0100)]
karo: txul: read second mac address from fuses
Lothar Waßmann [Thu, 8 Feb 2018 16:32:36 +0000 (17:32 +0100)]
arm: mx6ull: initialize AIPS-TZ3 bus
Lothar Waßmann [Wed, 10 Jan 2018 14:19:40 +0000 (15:19 +0100)]
karo: add workaround for Linux hang on i.MX6QP when tzasc1_ipg_clock is disabled
The IPU on i.MX6QP apparently requires the tzasc1_ipg_clock
(CCGR2[11]) to be enabled which is not documented anywhere.
Enable this clock in the DCD to prevent Linux from hanging when using
the IPU.
Lothar Waßmann [Mon, 8 Jan 2018 12:26:13 +0000 (13:26 +0100)]
karo: tx6: enable raw initrd support
Lothar Waßmann [Mon, 8 Jan 2018 12:24:05 +0000 (13:24 +0100)]
karo: bootce: suppress mtdparts related error message when CMD_MTDPARTS is not set
Lothar Waßmann [Mon, 8 Jan 2018 12:21:28 +0000 (13:21 +0100)]
karo: txul: remove i2c_gpio_pads
The I2C bus for accessing the PMIC uses the soft I2C driver via GPIO
pins. There is no need for reconfiguring the pads for I2C recovery and
no need for a special i2c_gpio_pads definition.
Lothar Waßmann [Mon, 8 Jan 2018 12:14:01 +0000 (13:14 +0100)]
karo: tx6: change drive strength of Ethernet related pads to improve EMC
EMC measurements have revealed excessive noise at multiples of the
50MHz ethernet reference clock on TX6 modules. Changing the drive
strength of the ENET_REF_CLK pad vastly reduces this noise and
improves the signal waveform substanitally.
On TXUL also the MDC and MDIO pads contribute to this noise, since
they are routed off-board for connecting an optional second ethernet
PHY. Adjusting the drive strength for those pads on the TXUL modules
also improves the signal quality and reduces EMI.
Lothar Waßmann [Mon, 8 Jan 2018 11:47:34 +0000 (12:47 +0100)]
imx: mx6: align the SPEED_MED setting with the reset default
The PAD_CTL SPEED settings 0x1 and 0x2 both designate 'Medium
Speed'. The PAD_CTL register HW reset default value is '0x2' for
most pads, so use this value for the PAD_CTL_SPEED_MED definition.
This partially reverts commit
9b2cc7dbfd46 ("imx: mx6 add
PAD_CTL_SPEED_LOW for i.MX6SX/UL") which inadvertently changed the
definition from '2' to '1'.
Lothar Waßmann [Mon, 8 Jan 2018 11:35:36 +0000 (12:35 +0100)]
karo: tx6: indentation cleanup
Lothar Waßmann [Mon, 8 Jan 2018 10:25:00 +0000 (11:25 +0100)]
karo: tx6: cleanup i2c_recover implementation
Bring the tx6qdl i2c_recover implementation in sync with the tx6ul
version.
Lothar Waßmann [Mon, 8 Jan 2018 10:22:09 +0000 (11:22 +0100)]
karo: tx6: remove duplicate initialization of ENET pads
Lothar Waßmann [Wed, 25 Oct 2017 12:04:56 +0000 (14:04 +0200)]
board: karo: add support for using Linux simple-panel LCD driver
Provide support for updating the 'compatible' property of the
simple-panel DT node according to the LCD timing selected via
the 'video_mode' variable.
Lothar Waßmann [Fri, 21 Jul 2017 11:31:09 +0000 (13:31 +0200)]
karo: tx6: add support for TX6QP-8137
TX6QP-8137 is a variant of the TX6QP-8037 module with LVDS video
output.
Lothar Waßmann [Fri, 21 Jul 2017 11:33:21 +0000 (13:33 +0200)]
karo: tx6: prevent DTB from either being out of reach of kernel or overwritten during uncompress
The current setting of fdtaddr and fdt_high has proven to be
inappropriate in that either the FDT may be out of reach of the
kernel or may be overwritten by the uncompressing Linux kernel.
Set fdt_high to an offset of 256MiB from SDRAM start, so that it is
valid for any board regardless of memory size while preventing the
described problems.
Lothar Waßmann [Fri, 7 Jul 2017 14:04:39 +0000 (16:04 +0200)]
karo: tx6: add support for Ka-Ro TX6UL-8013
Lothar Waßmann [Fri, 7 Jul 2017 14:03:47 +0000 (16:03 +0200)]
arm: mx6: add support for i.MX6ULL
Lothar Waßmann [Mon, 3 Apr 2017 11:29:40 +0000 (13:29 +0200)]
karo: add support for TX6UL-5012
Lothar Waßmann [Wed, 4 Jan 2017 08:55:52 +0000 (09:55 +0100)]
karo: tx6: use GP1 fuse for MIPI variant detection
Lothar Waßmann [Fri, 23 Dec 2016 11:56:32 +0000 (12:56 +0100)]
karo: tx6: support MIPI variant in board name
The TX6Q-1230 is physically the same as TX6Q-1030 with the
distinction, that the MIPI interface is used rather than the LCD
interface. This is only a cosmetic change to adjust the displayed
board name.
Lothar Waßmann [Mon, 11 Jul 2016 09:19:59 +0000 (11:19 +0200)]
karo: tx6ul: configure some more PMIC regs and disable unused DCDC2 regulator
Lothar Waßmann [Mon, 11 Jul 2016 09:18:38 +0000 (11:18 +0200)]
karo: tx6: configure PMIC to a consistent state upon boot
Lothar Waßmann [Mon, 11 Jul 2016 09:01:13 +0000 (11:01 +0200)]
karo: tx6: fix offset voltage in formulas for calculating VDDRTC
Lothar Waßmann [Mon, 11 Jul 2016 08:40:30 +0000 (10:40 +0200)]
karo: tx6: remove obsolete TX6Q-1020
Lothar Waßmann [Tue, 5 Jul 2016 12:37:18 +0000 (14:37 +0200)]
karo: tx6ul: fix wrong board name in U-Boot messages
Lothar Waßmann [Mon, 4 Jul 2016 12:49:53 +0000 (14:49 +0200)]
Merge branch 'tx6-bugfix'
Lothar Waßmann [Mon, 4 Jul 2016 12:49:50 +0000 (14:49 +0200)]
Merge branch 'tx53-bugfix'
Lothar Waßmann [Mon, 4 Jul 2016 12:49:42 +0000 (14:49 +0200)]
Merge branch 'tx28-bugfix'
Lothar Waßmann [Fri, 1 Jul 2016 14:06:24 +0000 (16:06 +0200)]
karo: tx6: remove unreachable 'return' statements
Lothar Waßmann [Fri, 1 Jul 2016 14:05:58 +0000 (16:05 +0200)]
karo: tx6: fix miscalculated start block for 'romupdate' command
Lothar Waßmann [Fri, 1 Jul 2016 14:05:15 +0000 (16:05 +0200)]
karo: tx6ul: rework PMIC support and print PMIC name in boot message
Lothar Waßmann [Fri, 1 Jul 2016 14:04:11 +0000 (16:04 +0200)]
karo: tx6ul: enable soft i2c driver and 'i2c' command
Lothar Waßmann [Fri, 1 Jul 2016 14:02:40 +0000 (16:02 +0200)]
karo: tx6ul: rework I2C recovery routine to be more generic
Lothar Waßmann [Fri, 1 Jul 2016 14:01:46 +0000 (16:01 +0200)]
karo: tx6ul: change local 'tx6_' prefixes to 'tx6ul'
Lothar Waßmann [Fri, 1 Jul 2016 14:00:55 +0000 (16:00 +0200)]
karo: tx6ul: configure JTAG_* pads for JTAG function unless disabled by env. variable
Lothar Waßmann [Fri, 1 Jul 2016 13:41:16 +0000 (15:41 +0200)]
karo: tx6: configure all pads with explicit pad_ctl values
Lothar Waßmann [Fri, 1 Jul 2016 12:03:48 +0000 (14:03 +0200)]
karo: tx6: add TX6S LVDS module variants
Lothar Waßmann [Fri, 1 Jul 2016 11:41:48 +0000 (13:41 +0200)]
karo: tx6: remove obsolete configs
Lothar Waßmann [Fri, 1 Jul 2016 11:30:48 +0000 (13:30 +0200)]
karo: tx6: introduce generic TARGET_EMMC/TARGET_NAND to simplify Kconfig
Lothar Waßmann [Thu, 30 Jun 2016 13:41:36 +0000 (15:41 +0200)]
karo: tx28: fix bugs in 'romupdate' command
Lothar Waßmann [Thu, 30 Jun 2016 13:41:08 +0000 (15:41 +0200)]
karo: tx28: enable 'gpio' command
Lothar Waßmann [Thu, 30 Jun 2016 13:40:18 +0000 (15:40 +0200)]
mxs_gpio: correctly use the GPIO API
The GPIO API expects a linear GPIO number as parameter to the gpio_*()
functions. The current implementation of the mxs_gpio driver operates on
iomux_cfg_t cookies instead. Therefore the 'gpio' command cannot be
used with this driver.
Change the driver to implement the correct API and introduce some
checks to catch users that still use the old semantics.
1. assert the most sigificant bit in the iomux_cfg_t pad definitions,
so that using such a cookie in place of a GPIO number will
decisively generate an invalid GPIO number and flag an error at runtime.
2. introduce a compile switch CONFIG_MXS_IOMUX_COMPILE_CHECK to make
the iomux_cfg_t cookie a 64 bit variable, so that passing an
iomux_cfg_t value to a gpio_*() function will generate a compile
time error.
Lothar Waßmann [Thu, 30 Jun 2016 10:31:42 +0000 (12:31 +0200)]
mxs_gpio: improve readability by using '(void *)' on right hand size of pointer initializations
Lothar Waßmann [Thu, 30 Jun 2016 10:30:15 +0000 (12:30 +0200)]
mxs_gpio: remove unused defines
Lothar Waßmann [Thu, 30 Jun 2016 12:33:39 +0000 (14:33 +0200)]
karo: tx28: request gpio for acitivity LED and disable LED on failure
Lothar Waßmann [Thu, 30 Jun 2016 10:01:49 +0000 (12:01 +0200)]
karo: tx28: enable activity led only on stk5-v3 baseboard
Lothar Waßmann [Thu, 30 Jun 2016 09:59:02 +0000 (11:59 +0200)]
karo: tx28: enable U-Boot build with different (or none) console UART
Lothar Waßmann [Thu, 30 Jun 2016 09:57:39 +0000 (11:57 +0200)]
karo: tx28: explicitly configure pad config (voltage, pull, drive) for all pads
Lothar Waßmann [Thu, 30 Jun 2016 09:45:52 +0000 (11:45 +0200)]
karo: tx28: remove LCD pad configuration from SPL
Lothar Waßmann [Thu, 30 Jun 2016 09:44:30 +0000 (11:44 +0200)]
mxs: spl: print the actual battery brownout level rather than the constant string '3.0V'
Lothar Waßmann [Thu, 30 Jun 2016 09:43:32 +0000 (11:43 +0200)]
mxs: spl: adjust delay after setting CLKCTRL_PLL0CTRL0_POWER to what the hardware requires (according to the Reference Manual)
Lothar Waßmann [Thu, 30 Jun 2016 09:37:16 +0000 (11:37 +0200)]
mxs: spl: use writel() to Set/Clear registers rather than {set|clear}bits_le32() where applicable
Lothar Waßmann [Thu, 30 Jun 2016 09:35:07 +0000 (11:35 +0200)]
mxs: spl: replace bogus early_delay() function with standard udelay() calls
Lothar Waßmann [Thu, 30 Jun 2016 09:32:52 +0000 (11:32 +0200)]
ARM: MXS: use 'struct mxs_digctl_regs' to access MXS_HW_DIGCTL_MICROSECONDS
Lothar Waßmann [Thu, 30 Jun 2016 08:46:21 +0000 (10:46 +0200)]
karo: tx53: enable 'gpio' command
Lothar Waßmann [Thu, 30 Jun 2016 08:46:00 +0000 (10:46 +0200)]
karo: tx53: romupdate: fix calculation of starting block in tx53_prog_uboot()
Lothar Waßmann [Thu, 30 Jun 2016 08:44:39 +0000 (10:44 +0200)]
karo: tx53: various fixes for CONFIG_SECURE_BOOT
Lothar Waßmann [Wed, 29 Jun 2016 09:06:58 +0000 (11:06 +0200)]
fs/fs.c: correctly interpret the '(max)len' parameter to fs_read()
The 'len' parameter passed to fs_read() actually denotes the maximum
number of bytes that fit into the callers buffer, not an expected
amount of data to be read.
Rename the parameter accordingly and honor the maxlen requested by the
caller appropriately.
Also remove the bogus warning message printed when the number of bytes
read is smaller than maxlen.
Lothar Waßmann [Wed, 29 Jun 2016 08:52:53 +0000 (10:52 +0200)]
cmd_gpio.c: adjust help message depending on gpio_status being compiled in or not
Lothar Waßmann [Wed, 29 Jun 2016 08:51:31 +0000 (10:51 +0200)]
common/cmd_mtdparts.c: print ECC stats along with partition information
Lothar Waßmann [Wed, 29 Jun 2016 08:50:13 +0000 (10:50 +0200)]
common/cmd_mtdparts.c: use proper return values for U-Boot command functions
Lothar Waßmann [Wed, 29 Jun 2016 08:46:49 +0000 (10:46 +0200)]
common/cmd_misc.c: fix return code of sleep command
-1 is equivalent to CMD_RET_USAGE and makes the sleep command print
its usage information when aborted by <CTRL-C> which is most probably
not intended.
Lothar Waßmann [Mon, 13 Jun 2016 10:19:11 +0000 (12:19 +0200)]
Merge branch 'tx28-update' into tx28-bugfix
Lothar Waßmann [Tue, 26 Apr 2016 13:33:34 +0000 (15:33 +0200)]
karo: tx6ul: disable the PMIC for '_noenv' U-Boot
The I2C access to the PMIC requires the TAMPER pins of the i.MX6UL to
be useable as GPIOs. This is only possible after the TAMPER_PIN_DISABLE
fuses are programmed which is usually done via U-Boot.
Resolve this catch 22 situation by disabling the PMIC in the '_noenv'
U-Boot variant which is usually used in the manufacturing
environment.
Lothar Waßmann [Tue, 26 Apr 2016 13:30:56 +0000 (15:30 +0200)]
karo: tx6ul: make board string dependent on cpurev
Lothar Waßmann [Tue, 26 Apr 2016 13:29:48 +0000 (15:29 +0200)]
mx6: clock: use setup_gpmi_io_clk() to change nfc clk divider for CONFIG_NAND_MXS
Lothar Waßmann [Tue, 26 Apr 2016 13:20:19 +0000 (15:20 +0200)]
mx6: clock: fix integer overflow in calculation of relative error in set_nfc_clk()
Lothar Waßmann [Tue, 26 Apr 2016 13:19:20 +0000 (15:19 +0200)]
mx6: ocotp: add timeout to busy wait loop