The limits, for one trainer:
- 10 berries per Pokémon per half hour, fixed window (so it resets after 30 minutes after the first Pokémon was fed)
- Any number of Berries to ten unique Pokémon per half hour, rolling window (so each time it's been 30 minutes since you fed a Pokémon, a new one is eligible)
As you feed a Pokémon, each successive berry after the first restores less health; this is reset after thirty minutes as well (with the fixed window).
There are no known limits per Pokémon for multiple trainers: I have seen spoofed gyms being defended prior to legendary or EX raids where clearly dozens of bot-trainers are feeding berries to the same Blissey.
See this answer by Vemonus and the similarly linked Silph Road thread for more details.